In [ ]:
. ./nbs_header.ps1
. ./core.ps1
In [ ]:
{ pwsh ../apps/builder/build.ps1 } | Invoke-Block
── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ # DibParser (Polyglot) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #r @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan dard2.1/FSharp.Control.AsyncSeq.dll" #r @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 0/System.Reactive.dll" #r @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ netstandard2.0/System.Reactive.Linq.dll" #r @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" #r @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP arsec.dll" #r @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP arsecCS.dll" ── pwsh ──────────────────────────────────────────────────────────────────────── ls ~/.nuget/packages/argu ╭─[ 199.74ms - stdout ]────────────────────────────────────────────────────────╮ │ 6.2.4 │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #if !INTERACTIVE open Lib #endif ── fsharp ────────────────────────────────────────────────────────────────────── open Common open FParsec open SpiralFileSystem.Operators ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## escapeCell (test) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test let inline escapeCell input = input |> SpiralSm.split "\n" |> Array.map (function | line when line |> SpiralSm.starts_with "\\#!" || line |> SpiralSm.starts_with "\\#r" -> System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#") | line -> line ) |> SpiralSm.concat "\n" ── fsharp ────────────────────────────────────────────────────────────────────── //// test $"a{nl}\\#!magic{nl}b{nl}" |> escapeCell |> _assertEqual ( $"a{nl}#!magic{nl}b{nl}" ) ╭─[ 67.54ms - stdout ]─────────────────────────────────────────────────────────╮ │ "a │ │ #!magic │ │ b │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## magicMarker │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let magicMarker : Parser<string, unit> = pstring "#!" ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic" |> run magicMarker |> _assertEqual ( Success ("#!", (), Position ("", 2, 1, 3)) ) ╭─[ 24.39ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: "#!" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test "##!magic" |> run magicMarker |> _assertEqual ( Failure ( $"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}", ParserError ( Position ("", 0, 1, 1), (), ErrorMessageList (ExpectedString "#!") ), () ) ) ╭─[ 23.37ms - stdout ]─────────────────────────────────────────────────────────╮ │ Failure: │ │ Error in Ln: 1 Col: 1 │ │ ##!magic │ │ ^ │ │ Expecting: '#!' │ │ │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## magicCommand │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let magicCommand = magicMarker >>. manyTill anyChar newline |>> (System.String.Concat >> SpiralSm.trim) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic a" |> run magicCommand |> _assertEqual ( Success ("magic", (), Position ("", 8, 2, 1)) ) ╭─[ 45.37ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: "magic" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test " #!magic a" |> run magicCommand |> _assertEqual ( Failure ( $"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}", ParserError ( Position ("", 0, 1, 1), (), ErrorMessageList (ExpectedString "#!") ), () ) ) ╭─[ 16.35ms - stdout ]─────────────────────────────────────────────────────────╮ │ Failure: │ │ Error in Ln: 1 Col: 1 │ │ #!magic │ │ ^ │ │ Expecting: '#!' │ │ │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## content │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let content = (newline >>. magicMarker) <|> (eof >>. preturn "") |> attempt |> lookAhead |> manyTill anyChar |>> (System.String.Concat >> SpiralSm.trim) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic a " |> run content |> _assertEqual ( Success ("#!magic a", (), Position ("", 14, 7, 1)) ) ╭─[ 14.28ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: "#!magic │ │ │ │ │ │ a" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Output │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Output = | Fs | Md | Spi | Spir ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Magic │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Magic = | Fsharp | Markdown | Spiral of Output | Magic of string ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## kernelOutputs │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline kernelOutputs magic = match magic with | Fsharp -> [[ Fs ]] | Markdown -> [[ Md ]] | Spiral output -> [[ output ]] | _ -> [[]] ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Block │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Block = { magic : Magic content : string } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## block │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let block = pipe2 magicCommand content (fun magic content -> let magic, content = match magic with | "fsharp" -> Fsharp, content | "markdown" -> Markdown, content | "spiral" -> let output = if content |> SpiralSm.contains "//// real\n" then Spir else Spi let content = if output = Spi then content else content |> SpiralSm.replace "//// real\n\n" "" |> SpiralSm.replace "//// real\n" "" Spiral output, content | magic -> magic |> Magic, content { magic = magic content = content }) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic a " |> run block |> _assertEqual ( Success ( { magic = Magic "magic"; content = "a" }, (), Position ("", 14, 7, 1) ) ) ╭─[ 23.29ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: { magic = Magic "magic" │ │ content = "a" } │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## blocks │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let blocks = skipMany newline >>. sepEndBy block (skipMany1 newline) ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!magic1 a \#!magic2 b " |> escapeCell |> run blocks |> _assertEqual ( Success ( [[ { magic = Magic "magic1"; content = "a" } { magic = Magic "magic2"; content = "b" } ]], (), Position ("", 26, 9, 1) ) ) ╭─[ 29.32ms - stdout ]─────────────────────────────────────────────────────────╮ │ Success: [{ magic = Magic "magic1" │ │ content = "a" }; { magic = Magic "magic2" │ │ content = "b" }] │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## formatBlock │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline formatBlock output (block : Block) = match output, block with | output, { magic = Markdown; content = content } -> let markdownComment = match output with | Spi | Spir -> "/// " | Fs -> "/// " | _ -> "" content |> SpiralSm.split "\n" |> Array.map (SpiralSm.trim_end [[||]]) |> Array.filter (SpiralSm.ends_with " (test)" >> not) |> Array.map (function | "" -> markdownComment | line -> System.Text.RegularExpressions.Regex.Replace (line, "^\\s*", $"$&{markdownComment}") ) |> SpiralSm.concat "\n" | Fs, { magic = Fsharp; content = content } -> let trimmedContent = content |> SpiralSm.trim if trimmedContent |> SpiralSm.contains "//// test\n" || trimmedContent |> SpiralSm.contains "//// ignore\n" then "" else content |> SpiralSm.split "\n" |> Array.filter (SpiralSm.trim_start [[||]] >> SpiralSm.starts_with "#r" >> not) |> SpiralSm.concat "\n" | (Spi | Spir), { magic = Spiral output'; content = content } when output' = output -> let trimmedContent = content |> SpiralSm.trim if trimmedContent |> SpiralSm.contains "//// test\n" || trimmedContent |> SpiralSm.contains "//// ignore\n" then "" else content | _ -> "" ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!markdown a b c \#!markdown c \#!fsharp let a = 1" |> escapeCell |> run block |> function | Success (block, _, _) -> formatBlock Fs block | Failure (msg, _, _) -> failwith msg |> _assertEqual "/// a /// /// b /// /// c" ╭─[ 36.40ms - stdout ]─────────────────────────────────────────────────────────╮ │ "/// a │ │ /// │ │ /// b │ │ /// │ │ /// c" │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## formatBlocks │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline formatBlocks output blocks = blocks |> List.map (fun block -> block, formatBlock output block ) |> List.filter (snd >> (<>) "") |> fun list -> (list, (None, [[]])) ||> List.foldBack (fun (block, content) (lastMagic, acc) -> let lineBreak = if block.magic = Markdown && lastMagic <> Some Markdown && lastMagic <> None then "" else "\n" Some block.magic, $"{content}{lineBreak}" :: acc ) |> snd |> SpiralSm.concat "\n" ── fsharp ────────────────────────────────────────────────────────────────────── //// test "#!markdown a b \#!markdown c \#!fsharp let a = 1 \#!markdown d (test) \#!fsharp //// test let a = 2 \#!markdown e \#!fsharp let a = 3" |> escapeCell |> run blocks |> function | Success (blocks, _, _) -> formatBlocks Fs blocks | Failure (msg, _, _) -> failwith msg |> _assertEqual "/// a /// /// b /// c let a = 1 /// e let a = 3 " ╭─[ 38.56ms - stdout ]─────────────────────────────────────────────────────────╮ │ "/// a │ │ /// │ │ /// b │ │ │ │ /// c │ │ let a = 1 │ │ │ │ /// e │ │ let a = 3 │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## parse │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline parse output input = match run blocks input with | Success (blocks, _, _) -> let blocks = blocks |> List.filter (fun block -> block.magic |> kernelOutputs |> List.contains output || block.magic = Markdown ) match blocks with | { magic = Markdown; content = content } :: _ when output = Fs && content |> SpiralSm.starts_with "# " && content |> SpiralSm.ends_with ")" -> let inline indentBlock (block : Block) = { block with content = block.content |> SpiralSm.split "\n" |> Array.fold (fun (lines, isMultiline) line -> let trimmedLine = line |> SpiralSm.trim if trimmedLine = "" then "" :: lines, isMultiline else let inline singleQuoteLine () = trimmedLine |> Seq.sumBy ((=) '"' >> System.Convert.ToInt32) = 1 && trimmedLine |> SpiralSm.contains @"'""'" |> not && trimmedLine |> SpiralSm.ends_with "{" |> not && trimmedLine |> SpiralSm.ends_with "{|" |> not && trimmedLine |> SpiralSm.starts_with "}" |> not && trimmedLine |> SpiralSm.starts_with "|}" |> not match isMultiline, trimmedLine |> SpiralSm.split_string [[| $"{q}{q}{q}" |]] with | false, [[| _; _ |]] -> $" {line}" :: lines, true | true, [[| _; _ |]] -> line :: lines, false | false, _ when singleQuoteLine () -> $" {line}" :: lines, true | false, _ when line |> SpiralSm.starts_with "#" && block.magic = Fsharp -> line :: lines, false | false, _ -> $" {line}" :: lines, false | true, _ when singleQuoteLine () && line |> SpiralSm.starts_with " " -> $" {line}" :: lines, false | true, _ when singleQuoteLine () -> line :: lines, false | true, _ -> line :: lines, true ) ([[]], false) |> fst |> List.rev |> SpiralSm.concat "\n" } let moduleName, namespaceName = System.Text.RegularExpressions.Regex.Match (content, @"# (.*) \((.*)\)$") |> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value let moduleBlock = { magic = Fsharp content = $"#if !INTERACTIVE namespace {namespaceName} #endif module {moduleName} =" } blocks |> List.indexed |> List.fold (fun blocks (index, block) -> match index with | 0 -> blocks | 1 -> indentBlock block :: moduleBlock :: blocks | _ -> indentBlock block :: blocks ) [[]] |> List.rev | _ -> blocks |> Result.Ok | Failure (errorMsg, _, _) -> Result.Error errorMsg ── fsharp ────────────────────────────────────────────────────────────────────── //// test let example1 = $"""#!meta {{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name": "fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}} \#!markdown # TestModule (TestNamespace) \#!fsharp \#!import file.dib \#!fsharp \#r "nuget:Expecto" \#!markdown ## ParserLibrary \#!fsharp open System \#!markdown ## x (test) \#!fsharp //// ignore let x = 1 \#!spiral //// test inl x = 1i32 \#!spiral //// real inl x = 2i32 \#!spiral inl x = 3i32 \#!markdown ### TextInput \#!fsharp let str1 = "abc def" let str2 = "abc\ def" let str3 = $"1{{ 1 }}1" let str4 = $"1{{({{| a = 1 |}}).a}}1" let str5 = "abc \ def" let x = match '"' with | '"' -> true | _ -> false let long1 = {q}{q}{q}a{q}{q}{q} let long2 = {q}{q}{q} a {q}{q}{q} \#!fsharp type Position = {{ #if INTERACTIVE line : string #else line : int #endif column : int }}""" |> escapeCell ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Fs |> Result.toOption |> Option.get |> (formatBlocks Fs) |> _assertEqual $"""#if !INTERACTIVE namespace TestNamespace #endif module TestModule = /// ## ParserLibrary open System /// ### TextInput let str1 = "abc def" let str2 = "abc\ def" let str3 = $"1{{ 1 }}1" let str4 = $"1{{({{| a = 1 |}}).a}}1" let str5 = "abc \ def" let x = match '"' with | '"' -> true | _ -> false let long1 = {q}{q}{q}a{q}{q}{q} let long2 = {q}{q}{q} a {q}{q}{q} type Position = {{ #if INTERACTIVE line : string #else line : int #endif column : int }} """ ╭─[ 100.84ms - stdout ]────────────────────────────────────────────────────────╮ │ "#if !INTERACTIVE │ │ namespace TestNamespace │ │ #endif │ │ │ │ module TestModule = │ │ │ │ /// ## ParserLibrary │ │ open System │ │ │ │ /// ### TextInput │ │ let str1 = "abc │ │ def" │ │ │ │ let str2 = │ │ "abc\ │ │ def" │ │ │ │ let str3 = │ │ $"1{ │ │ 1 │ │ }1" │ │ │ │ let str4 = │ │ $"1{({| │ │ a = 1 │ │ |}).a}1" │ │ │ │ let str5 = │ │ "abc \ │ │ def" │ │ │ │ let x = │ │ match '"' with │ │ | '"' -> true │ │ | _ -> false │ │ │ │ let long1 = """a""" │ │ │ │ let long2 = │ │ """ │ │ a │ │ """ │ │ │ │ type Position = │ │ { │ │ #if INTERACTIVE │ │ line : string │ │ #else │ │ line : int │ │ #endif │ │ column : int │ │ } │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Md |> Result.toOption |> Option.get |> (formatBlocks Md) |> _assertEqual "# TestModule (TestNamespace) ## ParserLibrary ### TextInput " ╭─[ 85.86ms - stdout ]─────────────────────────────────────────────────────────╮ │ "# TestModule (TestNamespace) │ │ │ │ ## ParserLibrary │ │ │ │ ### TextInput │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Spi |> Result.toOption |> Option.get |> (formatBlocks Spi) |> _assertEqual "/// # TestModule (TestNamespace) /// ## ParserLibrary inl x = 3i32 /// ### TextInput " ╭─[ 87.08ms - stdout ]─────────────────────────────────────────────────────────╮ │ "/// # TestModule (TestNamespace) │ │ │ │ /// ## ParserLibrary │ │ inl x = 3i32 │ │ │ │ /// ### TextInput │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test example1 |> parse Spir |> Result.toOption |> Option.get |> (formatBlocks Spir) |> _assertEqual "/// # TestModule (TestNamespace) /// ## ParserLibrary inl x = 2i32 /// ### TextInput " ╭─[ 109.13ms - stdout ]────────────────────────────────────────────────────────╮ │ "/// # TestModule (TestNamespace) │ │ │ │ /// ## ParserLibrary │ │ inl x = 2i32 │ │ │ │ /// ### TextInput │ │ " │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## parseDibCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline parseDibCode output file = async { trace Debug (fun () -> "parseDibCode") (fun () -> $"output: {output} / file: {file} / {_locals ()}") let! input = file |> SpiralFileSystem.read_all_text_async match parse output input with | Result.Ok blocks -> return blocks |> formatBlocks output | Result.Error msg -> return failwith msg } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## writeDibCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline writeDibCode output path = async { trace Debug (fun () -> "writeDibCode") (fun () -> $"output: {output} / path: {path} / {_locals ()}") let! result = parseDibCode output path let pathDir = path |> System.IO.Path.GetDirectoryName let fileNameWithoutExt = match output, path |> System.IO.Path.GetFileNameWithoutExtension with | Spir, fileNameWithoutExt -> $"real_{fileNameWithoutExt}" | _, fileNameWithoutExt -> fileNameWithoutExt let outputPath = pathDir </> $"{fileNameWithoutExt}.{output |> string |> SpiralSm.to_lower}" do! result |> SpiralFileSystem.write_all_text_async outputPath } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## Arguments │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── [[<RequireQualifiedAccess>]] type Arguments = | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]] File of file : string * Output interface Argu.IArgParserTemplate with member s.Usage = match s with | File _ -> nameof File ── fsharp ────────────────────────────────────────────────────────────────────── //// test Argu.ArgumentParser.Create<Arguments>().PrintUsage () ╭─[ 68.83ms - return value ]───────────────────────────────────────────────────╮ │ "USAGE: dotnet-repl [--help] <file> <fs|md|spi|spir> │ │ │ │ FILE: │ │ │ │ <file> <fs|md|spi|spir> │ │ File │ │ │ │ OPTIONS: │ │ │ │ --help display this list of options. │ │ " │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ## main │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let main args = let argsMap = args |> Runtime.parseArgsMap<Arguments> let files = argsMap.[[nameof Arguments.File]] |> List.map (function | Arguments.File (path, output) -> path, output ) files |> List.map (fun (path, output) -> path |> writeDibCode output) |> Async.Parallel |> Async.Ignore |> Async.runWithTimeout 30000 |> function | Some () -> 0 | None -> 1 ── fsharp ────────────────────────────────────────────────────────────────────── //// test let args = System.Environment.GetEnvironmentVariable "ARGS" |> SpiralRuntime.split_args |> Result.toArray |> Array.collect id match args with | [[||]] -> 0 | args -> if main args = 0 then 0 else failwith "main failed" ╭─[ 118.72ms - return value ]──────────────────────────────────────────────────╮ │ <div class="dni-plaintext"><pre>0 │ │ </pre></div><style> │ │ .dni-code-hint { │ │ font-style: italic; │ │ overflow: hidden; │ │ white-space: nowrap; │ │ } │ │ .dni-treeview { │ │ white-space: nowrap; │ │ } │ │ .dni-treeview td { │ │ vertical-align: top; │ │ text-align: start; │ │ } │ │ details.dni-treeview { │ │ padding-left: 1em; │ │ } │ │ table td { │ │ text-align: start; │ │ } │ │ table tr { │ │ vertical-align: top; │ │ margin: 0em 0px; │ │ } │ │ table tr td pre │ │ { │ │ vertical-align: top !important; │ │ margin: 0em 0px !important; │ │ } │ │ table th { │ │ text-align: start; │ │ } │ │ </style> │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─[ 120.00ms - stdout ]────────────────────────────────────────────────────────╮ │ 00:00:03 debug #1 writeDibCode / output: Fs / path: Builder.dib │ │ 00:00:03 debug #2 parseDibCode / output: Fs / file: Builder.dib │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Builder.dib"])) } 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Builder (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildProject │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildProject runtime outputDir path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let extension = fullPath |> System.IO.Path.GetExtension > > trace Debug > (fun () -> "buildProject") > (fun () -> $"fullPath: {fullPath} / {_locals ()}") > > match extension with > | ".fsproj" -> () > | _ -> failwith "Invalid project file" > > let runtimes = > runtime > |> Option.map List.singleton > |> Option.defaultValue [[ "linux-x64"; "win-x64" ]] > > let outputDir = outputDir |> Option.defaultValue "dist" > > return! > runtimes > |> List.map (fun runtime -> async { > let command = $@"dotnet publish ""{path}"" --configuration Release > --output ""{outputDir}"" --runtime {runtime}" > let! exitCode, _result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = command > l6 = Some fileDir > } > ) > |> SpiralRuntime.execute_with_options_async > return exitCode > }) > |> Async.Sequential > |> Async.map Array.sum > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## persistCodeProject │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistCodeProject packages modules name hash code = async { > trace Debug > (fun () -> "persistCodeProject") > (fun () -> $"packages: {packages} / modules: {modules} / name: {name} / > hash: {hash} / code.Length: {code |> String.length} / {_locals ()}") > > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > let targetDir = > let targetDir = workspaceRoot </> "target/Builder" </> name > match hash with > | Some hash -> targetDir </> "packages" </> hash > | None -> targetDir > targetDir |> System.IO.Directory.CreateDirectory |> ignore > > let filePath = targetDir </> $"{name}.fs" |> System.IO.Path.GetFullPath > do! code |> SpiralFileSystem.write_all_text_exists filePath > > let modulesCode = > modules > |> List.map (fun path -> $"""<Compile Include="{workspaceRoot </> path}" > />""") > |> SpiralSm.concat "\n " > > let fsprojPath = targetDir </> $"{name}.fsproj" > let fsprojCode = $"""<Project Sdk="Microsoft.NET.Sdk"> > <PropertyGroup> > <TargetFramework>net9.0</TargetFramework> > <LangVersion>preview</LangVersion> > <RollForward>Major</RollForward> > <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> > <PublishAot>false</PublishAot> > <PublishTrimmed>false</PublishTrimmed> > <PublishSingleFile>true</PublishSingleFile> > <SelfContained>true</SelfContained> > <Version>0.0.1-alpha.1</Version> > <OutputType>Exe</OutputType> > </PropertyGroup> > > <PropertyGroup Condition="$([[MSBuild]]::IsOSPlatform('FreeBSD'))"> > <DefineConstants>_FREEBSD</DefineConstants> > </PropertyGroup> > > <PropertyGroup Condition="$([[MSBuild]]::IsOSPlatform('Linux'))"> > <DefineConstants>_LINUX</DefineConstants> > </PropertyGroup> > > <PropertyGroup Condition="$([[MSBuild]]::IsOSPlatform('OSX'))"> > <DefineConstants>_OSX</DefineConstants> > </PropertyGroup> > > <PropertyGroup Condition="$([[MSBuild]]::IsOSPlatform('Windows'))"> > <DefineConstants>_WINDOWS</DefineConstants> > </PropertyGroup> > > <ItemGroup> > {modulesCode} > <Compile Include="{filePath}" /> > </ItemGroup> > > <Import Project="{workspaceRoot}/.paket/Paket.Restore.targets" /> > </Project> > """ > do! fsprojCode |> SpiralFileSystem.write_all_text_exists fsprojPath > > let paketReferencesPath = targetDir </> "paket.references" > let paketReferencesCode = > "FSharp.Core" :: packages > |> SpiralSm.concat "\n" > do! paketReferencesCode |> SpiralFileSystem.write_all_text_exists > paketReferencesPath > > return fsprojPath > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildCode runtime packages modules outputDir name code = async { > let! fsprojPath = code |> persistCodeProject packages modules name None > let! exitCode = fsprojPath |> buildProject runtime outputDir > if exitCode <> 0 then > let! fsprojText = fsprojPath |> SpiralFileSystem.read_all_text_async > trace Critical > (fun () -> "buildCode") > (fun () -> $"code: {code |> SpiralSm.ellipsis_end 400} / fsprojText: > {fsprojText} / {_locals ()}") > return exitCode > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "1 + 1 |> ignore" > |> buildCode None [[]] [[]] None "test1" > |> Async.runWithTimeout 180000 > |> _assertEqual (Some 0) > > ╭─[ 8.23s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:01 debug #1 persistCodeProject / packages: [] / modules: [] / │ > │ name: test1 / hash: / code.Length: 15 │ > │ 00:00:01 debug #2 buildProject / fullPath: │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj │ > │ 00:00:04 debug #1 runtime.execute_with_options_async / { options = { │ > │ command = dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj" │ > │ --configuration Release --output "dist" --runtime linux-x64; │ > │ cancellation_token = None; environment_variables = [||]; on_line = None; │ > │ stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test1" } } │ > │ 00:00:04 verbose #2 > MSBuild version │ > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ > │ 00:00:05 verbose #3 > Determining projects to restore... │ > │ 00:00:05 verbose #4 > Paket version │ > │ 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ > │ 00:00:05 verbose #5 > The last full restore is still up to date. │ > │ Nothing left to do. │ > │ 00:00:05 verbose #6 > Total time taken: 0 milliseconds │ > │ 00:00:05 verbose #7 > Paket version │ > │ 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ > │ 00:00:06 verbose #8 > Restoring │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj │ > │ 00:00:06 verbose #9 > Starting restore process. │ > │ 00:00:06 verbose #10 > Total time taken: 0 milliseconds │ > │ 00:00:07 verbose #11 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj (in │ > │ 298 ms). │ > │ 00:00:07 verbose #12 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj] │ > │ 00:00:08 verbose #13 > │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fs(1,16): │ > │ warning FS0988: Main module of program is empty: nothing will happen when it │ > │ is run [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj] │ > │ 00:00:08 verbose #14 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/bin/Release/net9.0/ │ > │ linux-x64/test1.dll │ > │ 00:00:09 verbose #15 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/dist │ > │ 00:00:09 debug #16 runtime.execute_with_options_async / { exit_code = │ > │ 0; output_length = 1300 } │ > │ 00:00:09 debug #17 runtime.execute_with_options_async / { options = { │ > │ command = dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj" │ > │ --configuration Release --output "dist" --runtime win-x64; │ > │ cancellation_token = None; environment_variables = [||]; on_line = None; │ > │ stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test1" } } │ > │ 00:00:09 verbose #18 > MSBuild version │ > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ > │ 00:00:09 verbose #19 > Determining projects to restore... │ > │ 00:00:10 verbose #20 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj (in │ > │ 255 ms). │ > │ 00:00:10 verbose #21 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj] │ > │ 00:00:11 verbose #22 > │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fs(1,16): │ > │ warning FS0988: Main module of program is empty: nothing will happen when it │ > │ is run [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/test1.fsproj] │ > │ 00:00:12 verbose #23 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/bin/Release/net9.0/ │ > │ win-x64/test1.dll │ > │ 00:00:12 verbose #24 > test1 -> │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test1/dist │ > │ 00:00:12 debug #25 runtime.execute_with_options_async / { exit_code = │ > │ 0; output_length = 909 } │ > │ Some 0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "1 + a |> ignore" > |> buildCode None [[]] [[]] None "test2" > |> Async.runWithTimeout 180000 > |> _assertEqual (Some 2) > > ╭─[ 5.84s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:09 debug #3 persistCodeProject / packages: [] / modules: [] / │ > │ name: test2 / hash: / code.Length: 15 │ > │ 00:00:09 debug #4 buildProject / fullPath: │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj │ > │ 00:00:12 debug #26 runtime.execute_with_options_async / { options = { │ > │ command = dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj" │ > │ --configuration Release --output "dist" --runtime linux-x64; │ > │ cancellation_token = None; environment_variables = [||]; on_line = None; │ > │ stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test2" } } │ > │ 00:00:12 verbose #27 > MSBuild version │ > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ > │ 00:00:13 verbose #28 > Determining projects to restore... │ > │ 00:00:13 verbose #29 > Paket version │ > │ 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ > │ 00:00:13 verbose #30 > The last full restore is still up to date. │ > │ Nothing left to do. │ > │ 00:00:13 verbose #31 > Total time taken: 0 milliseconds │ > │ 00:00:13 verbose #32 > Paket version │ > │ 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ > │ 00:00:14 verbose #33 > Restoring │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj │ > │ 00:00:14 verbose #34 > Starting restore process. │ > │ 00:00:14 verbose #35 > Total time taken: 0 milliseconds │ > │ 00:00:14 verbose #36 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj (in │ > │ 258 ms). │ > │ 00:00:15 verbose #37 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj] │ > │ 00:00:16 verbose #38 > │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fs(1,5): │ > │ error FS0039: The value or constructor 'a' is not defined. [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj] │ > │ 00:00:16 debug #39 runtime.execute_with_options_async / { exit_code = │ > │ 1; output_length = 1093 } │ > │ 00:00:16 debug #40 runtime.execute_with_options_async / { options = { │ > │ command = dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj" │ > │ --configuration Release --output "dist" --runtime win-x64; │ > │ cancellation_token = None; environment_variables = [||]; on_line = None; │ > │ stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/test2" } } │ > │ 00:00:16 verbose #41 > MSBuild version │ > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ > │ 00:00:16 verbose #42 > Determining projects to restore... │ > │ 00:00:17 verbose #43 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj (in │ > │ 259 ms). │ > │ 00:00:17 verbose #44 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj] │ > │ 00:00:18 verbose #45 > │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fs(1,5): │ > │ error FS0039: The value or constructor 'a' is not defined. [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fsproj] │ > │ 00:00:18 debug #46 runtime.execute_with_options_async / { exit_code = │ > │ 1; output_length = 704 } │ > │ 00:00:15 critical #5 buildCode / code: 1 + a |> ignore / fsprojText: │ > │ <Project Sdk="Microsoft.NET.Sdk"> │ > │ <PropertyGroup> │ > │ <TargetFramework>net9.0</TargetFramework> │ > │ <LangVersion>preview</LangVersion> │ > │ <RollForward>Major</RollForward> │ > │ <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> │ > │ <PublishAot>false</PublishAot> │ > │ <PublishTrimmed>false</PublishTrimmed> │ > │ <PublishSingleFile>true</PublishSingleFile> │ > │ <SelfContained>true</SelfContained> │ > │ <Version>0.0.1-alpha.1</Version> │ > │ <OutputType>Exe</OutputType> │ > │ </PropertyGroup> │ > │ │ > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('FreeBSD'))"> │ > │ <DefineConstants>_FREEBSD</DefineConstants> │ > │ </PropertyGroup> │ > │ │ > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Linux'))"> │ > │ <DefineConstants>_LINUX</DefineConstants> │ > │ </PropertyGroup> │ > │ │ > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('OSX'))"> │ > │ <DefineConstants>_OSX</DefineConstants> │ > │ </PropertyGroup> │ > │ │ > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))"> │ > │ <DefineConstants>_WINDOWS</DefineConstants> │ > │ </PropertyGroup> │ > │ │ > │ <ItemGroup> │ > │ │ > │ <Compile │ > │ Include="/home/runner/work/polyglot/polyglot/target/Builder/test2/test2.fs" │ > │ /> │ > │ </ItemGroup> │ > │ │ > │ <Import │ > │ Project="/home/runner/work/polyglot/polyglot/.paket/Paket.Restore.targets" │ > │ /> │ > │ </Project> │ > │ │ > │ Some 2 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## readFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline readFile path = async { > let! code = path |> SpiralFileSystem.read_all_text_async > > let code = System.Text.RegularExpressions.Regex.Replace ( > code, > @"( *)(let\s+main\s+.*?\s*=)", > fun m -> m.Groups.[[1]].Value + "[[<EntryPoint>]]\n" + > m.Groups.[[1]].Value + m.Groups.[[2]].Value > ) > > let codeTrim = code |> SpiralSm.trim_end [[||]] > return > if codeTrim |> SpiralSm.ends_with "\n()" > then codeTrim |> SpiralSm.slice 0 ((codeTrim |> String.length) - 3) > else code > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## buildFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildFile runtime packages modules path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let dir = fullPath |> System.IO.Path.GetDirectoryName > let name = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> readFile > return! code |> buildCode runtime packages modules (dir </> "dist" |> Some) > name > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## persistFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistFile packages modules path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let name = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> readFile > return! code |> persistCodeProject packages modules name None > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce>]] > Path of path : string > | [[<Argu.ArguAttributes.Unique>]] Packages of packages : string list > | [[<Argu.ArguAttributes.Unique>]] Modules of modules : string list > | [[<Argu.ArguAttributes.Unique>]] Runtime of runtime : string > | [[<Argu.ArguAttributes.Unique>]] Persist_Only > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | Path _ -> nameof Path > | Packages _ -> nameof Packages > | Modules _ -> nameof Modules > | Runtime _ -> nameof Runtime > | Persist_Only -> nameof Persist_Only > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 82.32ms - return value ]───────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] [--packages [<packages>...]] │ > │ [--modules [<modules>...]] [--runtime <runtime>] │ > │ [--persist-only] <path> │ > │ │ > │ PATH: │ > │ │ > │ <path> Path │ > │ │ > │ OPTIONS: │ > │ │ > │ --packages [<packages>...] │ > │ Packages │ > │ --modules [<modules>...] │ > │ Modules │ > │ --runtime <runtime> Runtime │ > │ --persist-only Persist_Only │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let path = > match argsMap.[[nameof Arguments.Path]] with > | [[ Arguments.Path path ]] -> Some path > | _ -> None > |> Option.get > > let packages = > match argsMap |> Map.tryFind (nameof Arguments.Packages) with > | Some [[ Arguments.Packages packages ]] -> packages > | _ -> [[]] > > let modules = > match argsMap |> Map.tryFind (nameof Arguments.Modules) with > | Some [[ Arguments.Modules modules ]] -> modules > | _ -> [[]] > > let runtime = > match argsMap |> Map.tryFind (nameof Arguments.Runtime) with > | Some [[ Arguments.Runtime runtime ]] -> Some runtime > | _ -> None > > let persistOnly = argsMap |> Map.containsKey (nameof Arguments.Persist_Only) > > if persistOnly > then path |> persistFile packages modules |> Async.map (fun _ -> 0) > else path |> buildFile runtime packages modules > |> Async.runWithTimeout (60000 * 60) > |> function > | Some exitCode -> exitCode > | None -> 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Result.toArray > |> Array.collect id > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 12.35s - return value ]────────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 12.36s - stdout ]──────────────────────────────────────────────────────────╮ > │ 00:00:16 debug #6 persistCodeProject / packages: [Argu; │ > │ FSharp.Control.AsyncSeq; System.Reactive.Linq] / modules: [ │ > │ lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / │ > │ name: Builder / hash: / code.Length: 8210 │ > │ 00:00:16 debug #7 buildProject / fullPath: │ > │ /home/runner/work/polyglot/polyglot/target/Builder/Builder/Builder.fsproj │ > │ 00:00:18 debug #47 runtime.execute_with_options_async / { options = { │ > │ command = dotnet publish │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/Builder/Builder.fsproj" │ > │ --configuration Release --output │ > │ "/home/runner/work/polyglot/polyglot/apps/builder/dist" --runtime linux-x64; │ > │ cancellation_token = None; environment_variables = [||]; on_line = None; │ > │ stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot/target/Builder/Builder" } } │ > │ 00:00:19 verbose #48 > MSBuild version │ > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ > │ 00:00:19 verbose #49 > Determining projects to restore... │ > │ 00:00:19 verbose #50 > Paket version │ > │ 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ > │ 00:00:19 verbose #51 > The last full restore is still up to date. │ > │ Nothing left to do. │ > │ 00:00:19 verbose #52 > Total time taken: 0 milliseconds │ > │ 00:00:20 verbose #53 > Paket version │ > │ 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ > │ 00:00:20 verbose #54 > Restoring │ > │ /home/runner/work/polyglot/polyglot/target/Builder/Builder/Builder.fsproj │ > │ 00:00:20 verbose #55 > Starting restore process. │ > │ 00:00:20 verbose #56 > Total time taken: 0 milliseconds │ > │ 00:00:21 verbose #57 > Restored │ > │ /home/runner/work/polyglot/polyglot/target/Builder/Builder/Builder.fsproj │ > │ (in 293 ms). │ > │ 00:00:21 verbose #58 > │ > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ > │ NETSDK1057: You are using a preview version of .NET. See: │ > │ https://aka.ms/dotnet-support-policy [ │ > │ /home/runner/work/polyglot/polyglot/target/Builder/Builder/Builder.fsproj] │ > │ 00:00:30 verbose #59 > Builder -> │ > │ /home/runner/work/polyglot/polyglot/target/Builder/Builder/bin/Release/net9. │ > │ 0/linux-x64/Builder.dll │ > │ 00:00:31 verbose #60 > Builder -> │ > │ /home/runner/work/polyglot/polyglot/apps/builder/dist │ > │ 00:00:31 debug #61 runtime.execute_with_options_async / { exit_code = │ > │ 0; output_length = 1083 } │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 45525 } 00:00:41 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:42 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.ipynb to html 00:00:42 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:42 verbose #7 ! validate(nb) 00:00:42 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:42 verbose #9 ! return _pygments_highlight( 00:00:42 verbose #10 ! [NbConvertApp] Writing 336566 bytes to /home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.html 00:00:43 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 902 } 00:00:43 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 902 } 00:00:43 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/builder/Builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:43 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:43 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:43 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 46486 }
In [ ]:
{ pwsh ../apps/spiral/builder/build.ps1 -SkipFsx 1 } | Invoke-Block
00:00:00 debug #1 persistCodeProject / packages: [Fable.Core] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: spiral_builder / hash: / code.Length: 1263682 targetDir: /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder Fable 4.19.3: F# to Rust compiler (status: alpha) Thanks to the contributor! @oopbase Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target/Builder/spiral_builder/spiral_builder.fsproj... target/Builder/spiral_builder> dotnet restore spiral_builder.fable-temp.csproj -p:FABLE_COMPILER=true -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true -p:_LINUX=true Determining projects to restore... Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b The last full restore is still up to date. Nothing left to do. Total time taken: 0 milliseconds Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b Restoring /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fable-temp.csproj Starting restore process. Total time taken: 0 milliseconds Restored /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fable-temp.csproj (in 303 ms). target/Builder/spiral_builder> dotnet restore /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fsproj Determining projects to restore... Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b The last full restore is still up to date. Nothing left to do. Total time taken: 0 milliseconds Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b Restoring /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fsproj Starting restore process. Total time taken: 0 milliseconds Restored /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fsproj (in 295 ms). Project and references (14 source files) parsed in 6217ms Started Fable compilation... Fable compilation finished in 11314ms ./lib/spiral/sm.fsx(426,0): (426,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/async_.fsx(80,0): (80,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/common.fsx(1270,0): (1270,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/common.fsx(1277,0): (1277,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/threading.fsx(141,0): (141,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/crypto.fsx(1398,0): (1398,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/date_time.fsx(1056,0): (1056,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/platform.fsx(108,0): (108,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/networking.fsx(4875,0): (4875,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/networking.fsx(4884,0): (4884,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/trace.fsx(1140,0): (1140,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/trace.fsx(1143,0): (1143,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/runtime.fsx(5448,0): (5448,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/runtime.fsx(5459,0): (5459,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/file_system.fsx(11602,0): (11602,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/file_system.fsx(11641,0): (11641,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! Compiling spiral_builder v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/builder) Finished `release` profile [optimized] target(s) in 9.95s Running unittests spiral_builder.rs (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/spiral_builder-4deef2b4e6bfe273) running 1 test test module_7e2cd9e0::Spiral_builder::verify_app ... ok successes: successes: module_7e2cd9e0::Spiral_builder::verify_app test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Compiling spiral_builder v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/builder) Finished `release` profile [optimized] target(s) in 20.42s
In [ ]:
{ pwsh ../apps/parser/build.ps1 } | Invoke-Block
00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "DibParser.dib"])) } 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # DibParser (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP > arsec.dll" > #r > @"../../../../../../../.nuget/packages/fparsec/2.0.0-beta2/lib/netstandard2.1/FP > arsecCS.dll" > > ── pwsh ──────────────────────────────────────────────────────────────────────── > ls ~/.nuget/packages/argu > > ╭─[ 204.38ms - stdout ]────────────────────────────────────────────────────────╮ > │ 6.2.4 │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open FParsec > open SpiralFileSystem.Operators > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## escapeCell (test) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let inline escapeCell input = > input > |> SpiralSm.split "\n" > |> Array.map (function > | line when line |> SpiralSm.starts_with "\\#!" || line |> > SpiralSm.starts_with "\\#r" -> > System.Text.RegularExpressions.Regex.Replace (line, "^\\\\#", "#") > | line -> line > ) > |> SpiralSm.concat "\n" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > $"a{nl}\\#!magic{nl}b{nl}" > |> escapeCell > |> _assertEqual ( > $"a{nl}#!magic{nl}b{nl}" > ) > > ╭─[ 41.38ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "a │ > │ #!magic │ > │ b │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## magicMarker │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let magicMarker : Parser<string, unit> = pstring "#!" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic" > |> run magicMarker > |> _assertEqual ( > Success ("#!", (), Position ("", 2, 1, 3)) > ) > > ╭─[ 24.11ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: "#!" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "##!magic" > |> run magicMarker > |> _assertEqual ( > Failure ( > $"Error in Ln: 1 Col: 1{nl}##!magic{nl}^{nl}Expecting: '#!'{nl}", > ParserError ( > Position ("", 0, 1, 1), > (), > ErrorMessageList (ExpectedString "#!") > ), > () > ) > ) > > ╭─[ 24.97ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure: │ > │ Error in Ln: 1 Col: 1 │ > │ ##!magic │ > │ ^ │ > │ Expecting: '#!' │ > │ │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## magicCommand │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let magicCommand = > magicMarker > >>. manyTill anyChar newline > |>> (System.String.Concat >> SpiralSm.trim) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic > > a" > |> run magicCommand > |> _assertEqual ( > Success ("magic", (), Position ("", 8, 2, 1)) > ) > > ╭─[ 47.24ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: "magic" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > " #!magic > > a" > |> run magicCommand > |> _assertEqual ( > Failure ( > $"Error in Ln: 1 Col: 1{nl} #!magic{nl}^{nl}Expecting: '#!'{nl}", > ParserError ( > Position ("", 0, 1, 1), > (), > ErrorMessageList (ExpectedString "#!") > ), > () > ) > ) > > ╭─[ 14.85ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure: │ > │ Error in Ln: 1 Col: 1 │ > │ #!magic │ > │ ^ │ > │ Expecting: '#!' │ > │ │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## content │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let content = > (newline >>. magicMarker) <|> (eof >>. preturn "") > |> attempt > |> lookAhead > |> manyTill anyChar > |>> (System.String.Concat >> SpiralSm.trim) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic > > > a > > > " > |> run content > |> _assertEqual ( > Success ("#!magic > > > a", (), Position ("", 14, 7, 1)) > ) > > ╭─[ 13.29ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: "#!magic │ > │ │ > │ │ > │ a" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Output │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Output = > | Fs > | Md > | Spi > | Spir > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Magic │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Magic = > | Fsharp > | Markdown > | Spiral of Output > | Magic of string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## kernelOutputs │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline kernelOutputs magic = > match magic with > | Fsharp -> [[ Fs ]] > | Markdown -> [[ Md ]] > | Spiral output -> [[ output ]] > | _ -> [[]] > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Block │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Block = > { > magic : Magic > content : string > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## block │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let block = > pipe2 > magicCommand > content > (fun magic content -> > let magic, content = > match magic with > | "fsharp" -> Fsharp, content > | "markdown" -> Markdown, content > | "spiral" -> > let output = if content |> SpiralSm.contains "//// real\n" > then Spir else Spi > let content = > if output = Spi > then content > else > content > |> SpiralSm.replace "//// real\n\n" "" > |> SpiralSm.replace "//// real\n" "" > Spiral output, content > | magic -> magic |> Magic, content > { > magic = magic > content = content > }) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!magic > > > a > > > " > |> run block > |> _assertEqual ( > Success ( > { magic = Magic "magic"; content = "a" }, > (), > Position ("", 14, 7, 1) > ) > ) > > ╭─[ 24.96ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: { magic = Magic "magic" │ > │ content = "a" } │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## blocks │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let blocks = > skipMany newline > >>. sepEndBy block (skipMany1 newline) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > > "#!magic1 > > a > > \#!magic2 > > b > > " > |> escapeCell > |> run blocks > |> _assertEqual ( > Success ( > [[ > { magic = Magic "magic1"; content = "a" } > { magic = Magic "magic2"; content = "b" } > ]], > (), > Position ("", 26, 9, 1) > ) > ) > > ╭─[ 30.22ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success: [{ magic = Magic "magic1" │ > │ content = "a" }; { magic = Magic "magic2" │ > │ content = "b" }] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## formatBlock │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline formatBlock output (block : Block) = > match output, block with > | output, { magic = Markdown; content = content } -> > let markdownComment = > match output with > | Spi | Spir -> "/// " > | Fs -> "/// " > | _ -> "" > content > |> SpiralSm.split "\n" > |> Array.map (SpiralSm.trim_end [[||]]) > |> Array.filter (SpiralSm.ends_with " (test)" >> not) > |> Array.map (function > | "" -> markdownComment > | line -> System.Text.RegularExpressions.Regex.Replace (line, > "^\\s*", $"$&{markdownComment}") > ) > |> SpiralSm.concat "\n" > | Fs, { magic = Fsharp; content = content } -> > let trimmedContent = content |> SpiralSm.trim > if trimmedContent |> SpiralSm.contains "//// test\n" > || trimmedContent |> SpiralSm.contains "//// ignore\n" > then "" > else > content > |> SpiralSm.split "\n" > |> Array.filter (SpiralSm.trim_start [[||]] >> SpiralSm.starts_with > "#r" >> not) > |> SpiralSm.concat "\n" > | (Spi | Spir), { magic = Spiral output'; content = content } when output' = > output -> > let trimmedContent = content |> SpiralSm.trim > if trimmedContent |> SpiralSm.contains "//// test\n" > || trimmedContent |> SpiralSm.contains "//// ignore\n" > then "" > else content > | _ -> "" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!markdown > > > a > > b > > c > > > \#!markdown > > > c > > > \#!fsharp > > > let a = 1" > |> escapeCell > |> run block > |> function > | Success (block, _, _) -> formatBlock Fs block > | Failure (msg, _, _) -> failwith msg > |> _assertEqual "/// a > /// > /// b > /// > /// c" > > ╭─[ 31.60ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "/// a │ > │ /// │ > │ /// b │ > │ /// │ > │ /// c" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## formatBlocks │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline formatBlocks output blocks = > blocks > |> List.map (fun block -> > block, formatBlock output block > ) > |> List.filter (snd >> (<>) "") > |> fun list -> > (list, (None, [[]])) > ||> List.foldBack (fun (block, content) (lastMagic, acc) -> > let lineBreak = > if block.magic = Markdown && lastMagic <> Some Markdown && > lastMagic <> None > then "" > else "\n" > Some block.magic, $"{content}{lineBreak}" :: acc > ) > |> snd > |> SpiralSm.concat "\n" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "#!markdown > > > a > > b > > > \#!markdown > > > c > > > \#!fsharp > > > let a = 1 > > \#!markdown > > d (test) > > \#!fsharp > > //// test > > let a = 2 > > \#!markdown > > e > > \#!fsharp > > let a = 3" > |> escapeCell > |> run blocks > |> function > | Success (blocks, _, _) -> formatBlocks Fs blocks > | Failure (msg, _, _) -> failwith msg > |> _assertEqual "/// a > /// > /// b > > /// c > let a = 1 > > /// e > let a = 3 > " > > ╭─[ 38.07ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "/// a │ > │ /// │ > │ /// b │ > │ │ > │ /// c │ > │ let a = 1 │ > │ │ > │ /// e │ > │ let a = 3 │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## parse │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline parse output input = > match run blocks input with > | Success (blocks, _, _) -> > let blocks = > blocks > |> List.filter (fun block -> > block.magic |> kernelOutputs |> List.contains output || > block.magic = Markdown > ) > > match blocks with > | { magic = Markdown; content = content } :: _ > when output = Fs > && content |> SpiralSm.starts_with "# " > && content |> SpiralSm.ends_with ")" > -> > let inline indentBlock (block : Block) = > { block with > content = > block.content > |> SpiralSm.split "\n" > |> Array.fold > (fun (lines, isMultiline) line -> > let trimmedLine = line |> SpiralSm.trim > if trimmedLine = "" > then "" :: lines, isMultiline > else > let inline singleQuoteLine () = > trimmedLine |> Seq.sumBy ((=) '"' >> > System.Convert.ToInt32) = 1 > && trimmedLine |> SpiralSm.contains > @"'""'" |> not > && trimmedLine |> SpiralSm.ends_with "{" > |> not > && trimmedLine |> SpiralSm.ends_with > "{|" |> not > && trimmedLine |> SpiralSm.starts_with > "}" |> not > && trimmedLine |> SpiralSm.starts_with > "|}" |> not > > match isMultiline, trimmedLine |> > SpiralSm.split_string [[| $"{q}{q}{q}" |]] with > | false, [[| _; _ |]] -> > $" {line}" :: lines, true > > | true, [[| _; _ |]] -> > line :: lines, false > > | false, _ when singleQuoteLine () -> > $" {line}" :: lines, true > > | false, _ when line |> SpiralSm.starts_with > "#" && block.magic = Fsharp -> > line :: lines, false > > | false, _ -> > $" {line}" :: lines, false > > | true, _ when singleQuoteLine () && line |> > SpiralSm.starts_with " " -> > $" {line}" :: lines, false > > | true, _ when singleQuoteLine () -> > line :: lines, false > > | true, _ -> > line :: lines, true > ) > ([[]], false) > |> fst > |> List.rev > |> SpiralSm.concat "\n" > } > > let moduleName, namespaceName = > System.Text.RegularExpressions.Regex.Match (content, @"# (.*) > \((.*)\)$") > |> fun m -> m.Groups.[[1]].Value, m.Groups.[[2]].Value > > let moduleBlock = > { > magic = Fsharp > content = > $"#if !INTERACTIVE > namespace {namespaceName} > #endif > > module {moduleName} =" > } > > blocks > |> List.indexed > |> List.fold > (fun blocks (index, block) -> > match index with > | 0 -> blocks > | 1 -> indentBlock block :: moduleBlock :: blocks > | _ -> indentBlock block :: blocks > ) > [[]] > |> List.rev > | _ -> blocks > |> Result.Ok > | Failure (errorMsg, _, _) -> Result.Error errorMsg > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example1 = > $"""#!meta > > {{"kernelInfo":{{"defaultKernelName":"fsharp","items":[[{{"aliases":[[]],"name": > "fsharp"}},{{"aliases":[[]],"name":"fsharp"}}]]}}}} > > \#!markdown > > # TestModule (TestNamespace) > > \#!fsharp > > \#!import file.dib > > \#!fsharp > > \#r "nuget:Expecto" > > \#!markdown > > ## ParserLibrary > > \#!fsharp > > open System > > \#!markdown > > ## x (test) > > \#!fsharp > > //// ignore > > let x = 1 > > \#!spiral > > //// test > > inl x = 1i32 > > \#!spiral > > //// real > > inl x = 2i32 > > \#!spiral > > inl x = 3i32 > > \#!markdown > > ### TextInput > > \#!fsharp > > let str1 = "abc > def" > > let str2 = > "abc\ > def" > > let str3 = > $"1{{ > 1 > }}1" > > let str4 = > $"1{{({{| > a = 1 > |}}).a}}1" > > let str5 = > "abc \ > def" > > let x = > match '"' with > | '"' -> true > | _ -> false > > let long1 = {q}{q}{q}a{q}{q}{q} > > let long2 = > {q}{q}{q} > a > {q}{q}{q} > > \#!fsharp > > type Position = > {{ > #if INTERACTIVE > line : string > #else > line : int > #endif > column : int > }}""" > |> escapeCell > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Fs > |> Result.toOption > |> Option.get > |> (formatBlocks Fs) > |> _assertEqual $"""#if !INTERACTIVE > namespace TestNamespace > #endif > > module TestModule = > > /// ## ParserLibrary > open System > > /// ### TextInput > let str1 = "abc > def" > > let str2 = > "abc\ > def" > > let str3 = > $"1{{ > 1 > }}1" > > let str4 = > $"1{{({{| > a = 1 > |}}).a}}1" > > let str5 = > "abc \ > def" > > let x = > match '"' with > | '"' -> true > | _ -> false > > let long1 = {q}{q}{q}a{q}{q}{q} > > let long2 = > {q}{q}{q} > a > {q}{q}{q} > > type Position = > {{ > #if INTERACTIVE > line : string > #else > line : int > #endif > column : int > }} > """ > > ╭─[ 101.98ms - stdout ]────────────────────────────────────────────────────────╮ > │ "#if !INTERACTIVE │ > │ namespace TestNamespace │ > │ #endif │ > │ │ > │ module TestModule = │ > │ │ > │ /// ## ParserLibrary │ > │ open System │ > │ │ > │ /// ### TextInput │ > │ let str1 = "abc │ > │ def" │ > │ │ > │ let str2 = │ > │ "abc\ │ > │ def" │ > │ │ > │ let str3 = │ > │ $"1{ │ > │ 1 │ > │ }1" │ > │ │ > │ let str4 = │ > │ $"1{({| │ > │ a = 1 │ > │ |}).a}1" │ > │ │ > │ let str5 = │ > │ "abc \ │ > │ def" │ > │ │ > │ let x = │ > │ match '"' with │ > │ | '"' -> true │ > │ | _ -> false │ > │ │ > │ let long1 = """a""" │ > │ │ > │ let long2 = │ > │ """ │ > │ a │ > │ """ │ > │ │ > │ type Position = │ > │ { │ > │ #if INTERACTIVE │ > │ line : string │ > │ #else │ > │ line : int │ > │ #endif │ > │ column : int │ > │ } │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Md > |> Result.toOption > |> Option.get > |> (formatBlocks Md) > |> _assertEqual "# TestModule (TestNamespace) > > ## ParserLibrary > > ### TextInput > " > > ╭─[ 87.03ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "# TestModule (TestNamespace) │ > │ │ > │ ## ParserLibrary │ > │ │ > │ ### TextInput │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Spi > |> Result.toOption > |> Option.get > |> (formatBlocks Spi) > |> _assertEqual "/// # TestModule (TestNamespace) > > /// ## ParserLibrary > inl x = 3i32 > > /// ### TextInput > " > > ╭─[ 87.80ms - stdout ]─────────────────────────────────────────────────────────╮ > │ "/// # TestModule (TestNamespace) │ > │ │ > │ /// ## ParserLibrary │ > │ inl x = 3i32 │ > │ │ > │ /// ### TextInput │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > example1 > |> parse Spir > |> Result.toOption > |> Option.get > |> (formatBlocks Spir) > |> _assertEqual "/// # TestModule (TestNamespace) > > /// ## ParserLibrary > inl x = 2i32 > > /// ### TextInput > " > > ╭─[ 109.11ms - stdout ]────────────────────────────────────────────────────────╮ > │ "/// # TestModule (TestNamespace) │ > │ │ > │ /// ## ParserLibrary │ > │ inl x = 2i32 │ > │ │ > │ /// ### TextInput │ > │ " │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## parseDibCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline parseDibCode output file = async { > trace Debug > (fun () -> "parseDibCode") > (fun () -> $"output: {output} / file: {file} / {_locals ()}") > let! input = file |> SpiralFileSystem.read_all_text_async > match parse output input with > | Result.Ok blocks -> return blocks |> formatBlocks output > | Result.Error msg -> return failwith msg > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## writeDibCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline writeDibCode output path = async { > trace Debug > (fun () -> "writeDibCode") > (fun () -> $"output: {output} / path: {path} / {_locals ()}") > let! result = parseDibCode output path > let pathDir = path |> System.IO.Path.GetDirectoryName > let fileNameWithoutExt = > match output, path |> System.IO.Path.GetFileNameWithoutExtension with > | Spir, fileNameWithoutExt -> $"real_{fileNameWithoutExt}" > | _, fileNameWithoutExt -> fileNameWithoutExt > let outputPath = pathDir </> $"{fileNameWithoutExt}.{output |> string |> > SpiralSm.to_lower}" > do! result |> SpiralFileSystem.write_all_text_async outputPath > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.Mandatory>]] > File of file : string * Output > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | File _ -> nameof File > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 69.62ms - return value ]───────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] <file> <fs|md|spi|spir> │ > │ │ > │ FILE: │ > │ │ > │ <file> <fs|md|spi|spir> │ > │ File │ > │ │ > │ OPTIONS: │ > │ │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let files = > argsMap.[[nameof Arguments.File]] > |> List.map (function > | Arguments.File (path, output) -> path, output > ) > > files > |> List.map (fun (path, output) -> path |> writeDibCode output) > |> Async.Parallel > |> Async.Ignore > |> Async.runWithTimeout 30000 > |> function > | Some () -> 0 > | None -> 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Result.toArray > |> Array.collect id > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 124.15ms - return value ]──────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 125.33ms - stdout ]────────────────────────────────────────────────────────╮ > │ 00:00:03 debug #1 writeDibCode / output: Fs / path: DibParser.dib │ > │ 00:00:03 debug #2 parseDibCode / output: Fs / file: DibParser.dib │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 50285 } 00:00:16 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:17 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.ipynb to html 00:00:17 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:17 verbose #7 ! validate(nb) 00:00:18 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:18 verbose #9 ! return _pygments_highlight( 00:00:18 verbose #10 ! [NbConvertApp] Writing 377326 bytes to /home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.html 00:00:18 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 904 } 00:00:18 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 904 } 00:00:18 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/DibParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:18 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:18 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:18 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 51248 } 00:00:00 debug #1 persistCodeProject / packages: [Argu; FParsec; FSharp.Control.AsyncSeq; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: DibParser / hash: / code.Length: 10861 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/Builder/DibParser/DibParser.fsproj 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet publish "/home/runner/work/polyglot/polyglot/target/Builder/DibParser/DibParser.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/parser/dist" --runtime linux-x64; cancellation_token = None; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot/target/Builder/DibParser" } } 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/Builder/DibParser/DibParser.fsproj 00:00:01 verbose #9 > Starting restore process. 00:00:02 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/Builder/DibParser/DibParser.fsproj (in 291 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/Builder/DibParser/DibParser.fsproj] 00:00:11 verbose #13 > DibParser -> /home/runner/work/polyglot/polyglot/target/Builder/DibParser/bin/Release/net9.0/linux-x64/DibParser.dll 00:00:12 verbose #14 > DibParser -> /home/runner/work/polyglot/polyglot/apps/parser/dist 00:00:12 debug #15 runtime.execute_with_options_async / { exit_code = 0; output_length = 1102 } 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "JsonParser.dib"])) } 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # JsonParser (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open Parser > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## JsonParser │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > (* > // -------------------------------- > JSON spec from http://www.json.org/ > // -------------------------------- > > The JSON spec is available at [[json.org]](http://www.json.org/). I'll paraphase > it here: > > * A `value` can be a `string` or a `number` or a `bool` or `null` or an `object` > or an `array`. > * These structures can be nested. > * A `string` is a sequence of zero or more Unicode characters, wrapped in double > quotes, using backslash escapes. > * A `number` is very much like a C or Java number, except that the octal and > hexadecimal formats are not used. > * A `boolean` is the literal `true` or `false` > * A `null` is the literal `null` > * An `object` is an unordered set of name/value pairs. > * An object begins with { (left brace) and ends with } (right brace). > * Each name is followed by : (colon) and the name/value pairs are separated by > , (comma). > * An `array` is an ordered collection of values. > * An array begins with [[ (left bracket) and ends with ]] (right bracket). > * Values are separated by , (comma). > * Whitespace can be inserted between any pair of tokens. > *) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let inline parserEqual (expected : ParseResult<'a>) (actual : ParseResult<'a * > Input>) = > match actual, expected with > | Success (_actual, _), Success _expected -> > printResult actual > _actual |> _assertEqual _expected > | Failure (l1, e1, p1), Failure (l2, e2, p2) when l1 = l2 && e1 = e2 && p1 = > p2 -> > printResult actual > | _ -> > printfn $"Actual: {actual}" > printfn $"Expected: {expected}" > failwith "Parse failed" > actual > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### JValue │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type JValue = > | JString of string > | JNumber of float > | JBool of bool > | JNull > | JObject of Map<string, JValue> > | JArray of JValue list > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jValue, jValueRef = createParserForwardedToRef<JValue> () > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jNull │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jNull = > pstring "null" > >>% JNull > <?> "null" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jValue "null" > |> parserEqual (Success JNull) > > ╭─[ 165.26ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNull, { lines = [ │ > │ |"null"|]<br /> position = { line = 0<br /> │ > │ column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNull, { lines = [|"null"|]<br /> │ > │ position = { line = 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNull</code></span></summary><div><table><thead> │ > │ <tr></tr></thead><tbody><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"null"|]<br /> position = │ > │ { line = 0<br /> column = 4 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ null │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 171.76ms - stdout ]────────────────────────────────────────────────────────╮ > │ JNull │ > │ JNull │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNull "nulp" > |> parserEqual ( > Failure ( > "null", > "Unexpected 'p'", > { currentLine = "nulp"; line = 0; column = 3 } > ) > ) > > ╭─[ 36.32ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("null", "Unexpected │ > │ 'p'", { currentLine = "nulp"<br /> │ > │ line = 0<br /> column = 3 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"null" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected 'p'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "nulp"<br /> line = 0<br /> column = 3 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"nulp" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>3 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 38.55ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:3 Error parsing null │ > │ nulp │ > │ ^Unexpected 'p' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jBool │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jBool = > let jtrue = > pstring "true" > >>% JBool true > let jfalse = > pstring "false" > >>% JBool false > > jtrue <|> jfalse > <?> "bool" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jBool "true" > |> parserEqual (Success (JBool true)) > > ╭─[ 31.50ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JBool true, { lines = [ │ > │ |"true"|]<br /> position = { line = 0<br /> │ > │ column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JBool true, { lines = [|"true"|]<br │ > │ /> position = { line = 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JBool │ > │ true</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │ > │ td>Item</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"true"|]<br /> position = │ > │ { line = 0<br /> column = 4 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ true │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 35.03ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JBool true │ > │ JBool true │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jBool "false" > |> parserEqual (Success (JBool false)) > > ╭─[ 23.33ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JBool false, { lines = [ │ > │ |"false"|]<br /> position = { line = 0<br │ > │ /> column = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JBool false, { lines = [|"false"|]<br │ > │ /> position = { line = 0<br /> column = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JBool │ > │ false</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"false"|]<br /> position │ > │ = { line = 0<br /> column = 5 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ false │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 5 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>5 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.14ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JBool false │ > │ JBool false │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jBool "truX" > |> parserEqual ( > Failure ( > "bool", > "Unexpected 't'", > { currentLine = "truX"; line = 0; column = 0 } > ) > ) > > ╭─[ 18.96ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("bool", "Unexpected │ > │ 't'", { currentLine = "truX"<br /> │ > │ line = 0<br /> column = 0 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"bool" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected 't'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "truX"<br /> line = 0<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"truX" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 21.59ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:0 Error parsing bool │ > │ truX │ > │ ^Unexpected 't' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jUnescapedChar │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jUnescapedChar = > satisfy (fun ch -> ch <> '\\' && ch <> '\"') "char" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jUnescapedChar "a" > |> parserEqual (Success 'a') > > ╭─[ 36.39ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('a', { lines = [ │ > │ |"a"|]<br /> position = { line = 0<br /> │ > │ column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(a, { lines = [|"a"|]<br /> position │ > │ = { line = 0<br /> column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'a' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"a"|]<br /> position = { line = 0<br /> column = 1 │ > │ } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ a │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 1 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 39.32ms - stdout ]─────────────────────────────────────────────────────────╮ > │ 'a' │ > │ 'a' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jUnescapedChar "\\" > |> parserEqual ( > Failure ( > "char", > "Unexpected '\\'", > { currentLine = "\\"; line = 0; column = 0 } > ) > ) > > ╭─[ 27.37ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("char", "Unexpected │ > │ '\'", { currentLine = "\"<br /> │ > │ line = 0<br /> column = 0 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"char" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected '\'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "\"<br /> line = 0<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"\" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 29.66ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:0 Error parsing char │ > │ \ │ > │ ^Unexpected '\' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jEscapedChar │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jEscapedChar = > [[ > ("\\\"",'\"') > ("\\\\",'\\') > ("\\/",'/') > ("\\b",'\b') > ("\\f",'\f') > ("\\n",'\n') > ("\\r",'\r') > ("\\t",'\t') > ]] > |> List.map (fun (toMatch, result) -> > pstring toMatch >>% result > ) > |> choice > <?> "escaped char" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar "\\\\" > |> parserEqual (Success '\\') > > ╭─[ 38.41ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\\', { lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br /> position │ > │ = { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\\' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> column = │ > │ 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \\ │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 45.54ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\\' │ > │ '\\' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar "\\t" > |> parserEqual (Success '\t') > > ╭─[ 62.86ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\009', { lines = [ │ > │ |"\t"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>( , { lines = [|"\t"|]<br /> position = │ > │ { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\009' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\t"|]<br /> position = { line = 0<br /> column = │ > │ 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \t │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 66.11ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\009' │ > │ '\009' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar @"\\" > |> parserEqual (Success '\\') > > ╭─[ 23.44ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\\', { lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(\, { lines = [|"\\"|]<br /> position │ > │ = { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\\' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\\"|]<br /> position = { line = 0<br /> column = │ > │ 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \\ │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 26.65ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\\' │ > │ '\\' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar @"\n" > |> parserEqual (Success '\n') > > ╭─[ 22.73ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('\010', { lines = [|"<br │ > │ />"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(<br />, { lines = [|"<br />"|]<br /> │ > │ position = { line = 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'\010' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"<br />"|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ <br /> │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 25.81ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '\010' │ > │ '\010' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jEscapedChar "a" > |> parserEqual ( > Failure ( > "escaped char", > "Unexpected 'a'", > { currentLine = "a"; line = 0; column = 0 } > ) > ) > > ╭─[ 21.38ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("escaped char", │ > │ "Unexpected 'a'", { currentLine = "a"<br /> │ > │ line = 0<br /> column = 0 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"escaped char" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected 'a'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "a"<br /> line = 0<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"a" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 23.73ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:0 Error parsing escaped char │ > │ a │ > │ ^Unexpected 'a' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jUnicodeChar │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jUnicodeChar = > let backslash = pchar '\\' > let uChar = pchar 'u' > let hexdigit = anyOf ([[ '0' .. '9' ]] @ [[ 'A' .. 'F' ]] @ [[ 'a' .. 'f' > ]]) > let fourHexDigits = hexdigit .>>. hexdigit .>>. hexdigit .>>. hexdigit > > let inline convertToChar (((h1, h2), h3), h4) = > let str = $"%c{h1}%c{h2}%c{h3}%c{h4}" > Int32.Parse (str, Globalization.NumberStyles.HexNumber) |> char > > backslash >>. uChar >>. fourHexDigits > |>> convertToChar > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jUnicodeChar "\\u263A" > |> parserEqual (Success '☺') > > ╭─[ 30.95ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success ('☺', { lines = [ │ > │ |"\u263A"|]<br /> position = { line = 0<br /> │ > │ column = 6 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(☺, { lines = [|"\u263A"|]<br /> │ > │ position = { line = 0<br /> column = 6 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>'☺' │ > │ </pre></div></td></tr><tr><td>Item2</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"\u263A"|]<br /> position = { line = 0<br /> │ > │ column = 6 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ \u263A │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 6 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>6 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 33.93ms - stdout ]─────────────────────────────────────────────────────────╮ > │ '☺' │ > │ '☺' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jString │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let quotedString = > let quote = pchar '\"' <?> "quote" > let jchar = jUnescapedChar <|> jEscapedChar <|> jUnicodeChar > > quote >>. manyChars jchar .>> quote > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jString = > quotedString > |>> JString > <?> "quoted string" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > jString > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"\"" > |> parserEqual (Success (JString "")) > > ╭─[ 34.52ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "", { lines = [ │ > │ |""""|]<br /> position = { line = │ > │ 0<br /> column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "", { lines = [ │ > │ |""""|]<br /> position = { line = 0<br /> │ > │ column = 2 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ ""</code></span></summary><div><table><thead><tr></tr></thead><tbo │ > │ dy><tr><td>Item</td><td><div class="dni-plaintext"><pre>"" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|""""|]<br /> │ > │ position = { line = 0<br /> column = 2 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ "" │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 2 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>2 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 38.13ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "" │ > │ JString "" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"a\"" > |> parserEqual (Success (JString "a")) > > ╭─[ 24.56ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "a", { lines = [ │ > │ |""a""|]<br /> position = { line │ > │ = 0<br /> column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "a", { lines = [ │ > │ |""a""|]<br /> position = { line = 0<br /> │ > │ column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ "a"</code></span></summary><div><table><thead><tr></tr></thead><tb │ > │ ody><tr><td>Item</td><td><div class="dni-plaintext"><pre>"a" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|""a""|]<br /> │ > │ position = { line = 0<br /> column = 3 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ "a" │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 3 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>3 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.22ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "a" │ > │ JString "a" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"ab\"" > |> parserEqual (Success (JString "ab")) > > ╭─[ 24.19ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "ab", { lines = [ │ > │ |""ab""|]<br /> position = { │ > │ line = 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "ab", { lines = [ │ > │ |""ab""|]<br /> position = { line = 0<br /> │ > │ column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ "ab"</code></span></summary><div><table><thead><tr></tr></thead><t │ > │ body><tr><td>Item</td><td><div class="dni-plaintext"><pre>"ab" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|""ab""|]<br /> │ > │ position = { line = 0<br /> column = 4 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ "ab" │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.78ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "ab" │ > │ JString "ab" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"ab\\tde\"" > |> parserEqual (Success (JString "ab\tde")) > > ╭─[ 23.50ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "ab de", { lines = [ │ > │ |""ab\tde""|]<br /> position │ > │ = { line = 0<br /> column = 8 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "ab de", { lines = [ │ > │ |""ab\tde""|]<br /> position = { line = 0<br /> │ > │ column = 8 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString "ab │ > │ de"</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │ > │ tr><td>Item</td><td><div class="dni-plaintext"><pre>"ab de" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><t...ni-treeview"><summary><span class="dni-code-hint"><code>{ lines = │ > │ [|""ab\tde""|]<br /> position = { line = 0<br /> │ > │ column = 8 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ "ab\tde" │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 8 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>8 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.14ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "ab de" │ > │ JString "ab de" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jString "\"ab\\u263Ade\"" > |> parserEqual (Success (JString "ab☺de")) > > ╭─[ 24.22ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JString "ab☺de", { lines = [ │ > │ |""ab\u263Ade""|]<br /> │ > │ position = { line = 0<br /> column = │ > │ 12 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JString "ab☺de", { lines = [ │ > │ |""ab\u263Ade""|]<br /> position = { line = 0<br /> │ > │ column = 12 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JString │ > │ "ab☺de"</code></span></summary><div><table><thead><tr></tr></thead │ > │ ><tbody><tr><td>Item</td><td><div │ > │ class="dni-plaintext"><pre>"ab☺de" │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>It.. │ > │ ."><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |""ab\u263Ade""|]<br /> position = { line = 0<br /> │ > │ column = 12 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ "ab\u263Ade" │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 12 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>12 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.85ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JString "ab☺de" │ > │ JString "ab☺de" │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jNumber │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jNumber = > let optSign = opt (pchar '-') > > let zero = pstring "0" > > let digitOneNine = > satisfy (fun ch -> Char.IsDigit ch && ch <> '0') "1-9" > > let digit = > satisfy Char.IsDigit "digit" > > let point = pchar '.' > > let e = pchar 'e' <|> pchar 'E' > > let optPlusMinus = opt (pchar '-' <|> pchar '+') > > let nonZeroInt = > digitOneNine .>>. manyChars digit > |>> fun (first, rest) -> string first + rest > > let intPart = zero <|> nonZeroInt > > let fractionPart = point >>. manyChars1 digit > > let exponentPart = e >>. optPlusMinus .>>. manyChars1 digit > > let inline (|>?) opt f = > match opt with > | None -> "" > | Some x -> f x > > let inline convertToJNumber (((optSign, intPart), fractionPart), expPart) = > let signStr = > optSign > |>? string > > let fractionPartStr = > fractionPart > |>? (fun digits -> "." + digits) > > let expPartStr = > expPart > |>? fun (optSign, digits) -> > let sign = optSign |>? string > "e" + sign + digits > > (signStr + intPart + fractionPartStr + expPartStr) > |> float > |> JNumber > > optSign .>>. intPart .>>. opt fractionPart .>>. opt exponentPart > |>> convertToJNumber > <?> "number" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > jString > jNumber > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "123" > |> parserEqual (Success (JNumber 123.0)) > > ╭─[ 40.56ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │ > │ |"123"|]<br /> position = { line = 0<br │ > │ /> column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.0, { lines = [|"123"|]<br │ > │ /> position = { line = 0<br /> column = 3 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123"|]<br /> position = │ > │ { line = 0<br /> column = 3 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 3 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>3 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 43.90ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.0 │ > │ JNumber 123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "-123" > |> parserEqual (Success (JNumber -123.0)) > > ╭─[ 25.01ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 0<br │ > │ /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 0<br /> column │ > │ = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><div class="dni-plaintext"><pre>-123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"-123"|]<br /> position = │ > │ { line = 0<br /> column = 4 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ -123 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.40ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber -123.0 │ > │ JNumber -123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "123.4" > |> parserEqual (Success (JNumber 123.4)) > > ╭─[ 25.38ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 0<br │ > │ /> column = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 0<br /> column │ > │ = 5 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.4 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123.4"|]<br /> position │ > │ = { line = 0<br /> column = 5 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123.4 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 5 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>5 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.80ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.4 │ > │ JNumber 123.4 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "-123." > |> parserEqual (Success (JNumber -123.0)) > > ╭─[ 23.85ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │ > │ |"-123."|]<br /> position = { line = │ > │ 0<br /> column = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │ > │ |"-123."|]<br /> position = { line = 0<br /> column │ > │ = 4 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><div class="dni-plaintext"><pre>-123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"-123."|]<br /> position │ > │ = { line = 0<br /> column = 4 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ -123. │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.26ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber -123.0 │ > │ JNumber -123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber "00.1" > |> parserEqual (Success (JNumber 0.0)) > > ╭─[ 23.33ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 0.0, { lines = [ │ > │ |"00.1"|]<br /> position = { line = 0<br /> │ > │ column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 0.0, { lines = [|"00.1"|]<br │ > │ /> position = { line = 0<br /> column = 1 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 0.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><div class="dni-plaintext"><pre>0.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"00.1"|]<br /> position = │ > │ { line = 0<br /> column = 1 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 00.1 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 0<br /> column = 1 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 26.57ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 0.0 │ > │ JNumber 0.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let jNumber_ = jNumber .>> spaces1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123" > |> parserEqual (Success (JNumber 123.0)) > > ╭─[ 24.68ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.0, { lines = [ │ > │ |"123"|]<br /> position = { line = 1<br │ > │ /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.0, { lines = [|"123"|]<br │ > │ /> position = { line = 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123"|]<br /> position = │ > │ { line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.22ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.0 │ > │ JNumber 123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "-123" > |> parserEqual (Success (JNumber -123.0)) > > ╭─[ 23.34ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 1<br │ > │ /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber -123.0, { lines = [ │ > │ |"-123"|]<br /> position = { line = 1<br /> column │ > │ = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ -123.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><div class="dni-plaintext"><pre>-123.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"-123"|]<br /> position = │ > │ { line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ -123 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 26.59ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber -123.0 │ > │ JNumber -123.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "-123." > |> parserEqual ( > Failure ( > "number andThen many1 whitespace", > "Unexpected '.'", > { currentLine = "-123."; line = 0; column = 4 } > ) > ) > > ╭─[ 20.03ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure<br /> ("number andThen many1 │ > │ whitespace", "Unexpected '.'", { currentLine = │ > │ "-123."<br /> │ > │ line = 0<br /> │ > │ column = 4 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"number andThen many1 │ > │ whitespace" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected '.'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "-123."<br /> line = 0<br /> column = 4 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"-123." │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>4 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 22.47ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:4 Error parsing number andThen many1 whitespace │ > │ -123. │ > │ ^Unexpected '.' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123.4" > |> parserEqual (Success (JNumber 123.4)) > > ╭─[ 22.73ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 1<br │ > │ /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 123.4, { lines = [ │ > │ |"123.4"|]<br /> position = { line = 1<br /> column │ > │ = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 123.4</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr> │ > │ <td>Item</td><td><div class="dni-plaintext"><pre>123.4 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123.4"|]<br /> position │ > │ = { line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123.4 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.31ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 123.4 │ > │ JNumber 123.4 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "00.4" > |> parserEqual ( > Failure ( > "number andThen many1 whitespace", > "Unexpected '0'", > { currentLine = "00.4"; line = 0; column = 1 } > ) > ) > > ╭─[ 20.35ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure<br /> ("number andThen many1 │ > │ whitespace", "Unexpected '0'", { currentLine = │ > │ "00.4"<br /> │ > │ line = 0<br /> │ > │ column = 1 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"number andThen many1 │ > │ whitespace" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected '0'" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "00.4"<br /> line = 0<br /> column = 1 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"00.4" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 22.55ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:1 Error parsing number andThen many1 whitespace │ > │ 00.4 │ > │ ^Unexpected '0' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123e4" > |> parserEqual (Success (JNumber 1230000.0)) > > ╭─[ 25.27ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 1230000.0, { lines = [ │ > │ |"123e4"|]<br /> position = { line = │ > │ 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 1230000.0, { lines = [ │ > │ |"123e4"|]<br /> position = { line = 1<br /> column │ > │ = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 1230000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody> │ > │ <tr><td>Item</td><td><div class="dni-plaintext"><pre>1230000.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123e4"|]<br /> position │ > │ = { line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123e4 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.50ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 1230000.0 │ > │ JNumber 1230000.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123.4e5" > |> parserEqual (Success (JNumber 12340000.0)) > > ╭─[ 22.42ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 12340000.0, { lines = [ │ > │ |"123.4e5"|]<br /> position = { line │ > │ = 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 12340000.0, { lines = [ │ > │ |"123.4e5"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 12340000.0</code></span></summary><div><table><thead><tr></tr></thead><tbody │ > │ ><tr><td>Item</td><td><div class="dni-plaintext"><pre>12340000.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123.4e5"|]<br /> │ > │ position = { line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123.4e5 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 25.65ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 12340000.0 │ > │ JNumber 12340000.0 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jNumber_ "123.4e-5" > |> parserEqual (Success (JNumber 0.001234)) > > ╭─[ 22.09ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JNumber 0.001234, { lines = [ │ > │ |"123.4e-5"|]<br /> position = { line │ > │ = 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JNumber 0.001234, { lines = [ │ > │ |"123.4e-5"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 0.001234</code></span></summary><div><table><thead><tr></tr></thead><tbody>< │ > │ tr><td>Item</td><td><div class="dni-plaintext"><pre>0.001234 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJObject</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJArray</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>Item │ > │ 2</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>{ lines = [|"123.4e-5"|]<br /> │ > │ position = { line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ 123.4e-5 │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 25.36ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JNumber 0.001234 │ > │ JNumber 0.001234 │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jArray │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jArray = > let left = pchar '[[' .>> spaces > let right = pchar ']]' .>> spaces > let comma = pchar ',' .>> spaces > let value = jValue .>> spaces > > let values = sepBy value comma > > between left values right > |>> JArray > <?> "array" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > jValueRef <| > choice > [[ > jNull > jBool > jString > jNumber > jArray > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jArray "[[ 1, 2 ]]" > |> parserEqual (Success (JArray [[ JNumber 1.0; JNumber 2.0 ]])) > > ╭─[ 58.84ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success (JArray [JNumber 1.0; JNumber 2.0], { │ > │ lines = [|"[ 1, 2 ]"|]<br /> │ > │ position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JArray [JNumber 1.0; JNumber 2.0], { lines = [ │ > │ |"[ 1, 2 ]"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JArray [JNumber 1.0; JNumber │ > │ 2.0]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │ > │ td>Item</td><td><table><thead><tr><th><i>index</i></th><th>value</th></tr></ │ > │ thead><tbody><tr><td>0</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><div class="dni-plaintext"><pre>1.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsJBool</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNull</td><td><div...td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ lines = [ │ > │ |"[ 1, 2 ]"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ [ 1, 2 ] │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 62.40ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JArray [JNumber 1.0; JNumber 2.0] │ > │ JArray [JNumber 1.0; JNumber 2.0] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jArray "[[ 1, 2, ]]" > |> parserEqual ( > Failure ( > "array", > "Unexpected ','", > { currentLine = "[[ 1, 2, ]]"; line = 0; column = 6 } > ) > ) > > ╭─[ 24.51ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("array", "Unexpected │ > │ ','", { currentLine = "[ 1, 2, ]"<br /> │ > │ line = 0<br /> column = 6 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"array" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected ','" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "[ 1, 2, ]"<br /> line = 0<br /> column = 6 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"[ 1, 2, ]" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>6 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 27.08ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:6 Error parsing array │ > │ [ 1, 2, ] │ > │ ^Unexpected ',' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jObject │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let jObject = > let left = spaces >>. pchar '{' .>> spaces > let right = pchar '}' .>> spaces > let colon = pchar ':' .>> spaces > let comma = pchar ',' .>> spaces > let key = quotedString .>> spaces > let value = jValue .>> spaces > > let keyValue = (key .>> colon) .>>. value > let keyValues = sepBy keyValue comma > > between left keyValues right > |>> Map.ofList > |>> JObject > <?> "object" > > ── fsharp ────────────────────────────────────────────────────────────────────── > jValueRef <| > choice > [[ > jNull > jBool > jString > jNumber > jArray > jObject > ]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jObject """{ "a":1, "b" : 2 }""" > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "a", JNumber 1.0 > "b", JNumber 2.0 > ]] > ) > ) > ) > > ╭─[ 61.47ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject (map [("a", │ > │ JNumber 1.0); ("b", JNumber 2.0)]),<br /> { lines = [|"{ │ > │ "a":1, "b" : 2 }"|]<br /> position = { line = │ > │ 1<br /> column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JObject (map [("a", JNumber 1.0); │ > │ ("b", JNumber 2.0)]), { lines = [|"{ "a":1, │ > │ "b" : 2 }"|]<br /> position = { line = 1<br /> │ > │ column = 0 } │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject (map [("a", JNumber 1.0); │ > │ ("b", JNumber │ > │ 2.0)])</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr │ > │ ><td>Item</td><td><table><thead><tr><th><i>key</i></th><th>value</th></tr></ │ > │ thead><tbody><tr><td><div class="dni-plaintext"><pre>"a" │ > │ </pre></div></td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JNumber │ > │ 1.0</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><div class="dni-plaintext"><pre>1.0 │ > │ </pre></div></td></tr><tr><td>IsJString</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsJNumber</td>...hint"><code>{ lines = [ │ > │ |"{ "a":1, "b" : 2 }"|]<br /> position = { │ > │ line = 1<br /> column = 0 } │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ lines</td><td><div class="dni-plaintext"><pre>[ { "a":1, │ > │ "b" : 2 } │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 1<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>1 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 65.25ms - stdout ]─────────────────────────────────────────────────────────╮ > │ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)]) │ > │ JObject (map [("a", JNumber 1.0); ("b", JNumber 2.0)]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run jObject """{ "a":1, "b" : 2, }""" > |> parserEqual ( > Failure ( > "object", > "Unexpected ','", > { currentLine = """{ "a":1, "b" : 2, }"""; line = 0; column = 18 } > ) > ) > > ╭─[ 26.17ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Failure ("object", "Unexpected │ > │ ','", { currentLine = "{ "a":1, "b" : │ > │ 2, }"<br /> line = 0<br /> │ > │ column = 18 │ > │ })</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td │ > │ >Item1</td><td><div class="dni-plaintext"><pre>"object" │ > │ </pre></div></td></tr><tr><td>Item2</td><td><div │ > │ class="dni-plaintext"><pre>"Unexpected ','" │ > │ </pre></div></td></tr><tr><td>Item3</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ │ > │ currentLine = "{ "a":1, "b" : 2, }"<br /> │ > │ line = 0<br /> column = 18 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ currentLine</td><td><div class="dni-plaintext"><pre>"{ "a":1, │ > │ "b" : 2, }" │ > │ </pre></div></td></tr><tr><td>line</td><td><div class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>18 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr><tr><td>IsSu │ > │ ccess</td><td><div class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 28.45ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Line:0 Col:18 Error parsing object │ > │ { "a":1, "b" : 2, } │ > │ ^Unexpected ',' │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### jValue │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example1 = """{ > "name" : "Scott", > "isMale" : true, > "bday" : {"year":2001, "month":12, "day":25 }, > "favouriteColors" : [["blue", "green"]], > "emptyArray" : [[]], > "emptyObject" : {} > }""" > run jValue example1 > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "name", JString "Scott" > "isMale", JBool true > "bday", JObject ( > Map.ofList [[ > "year", JNumber 2001.0 > "month", JNumber 12.0 > "day", JNumber 25.0 > ]] > ) > "favouriteColors", JArray [[ JString "blue"; JString "green" ]] > "emptyArray", JArray [[]] > "emptyObject", JObject Map.empty > ]] > ) > ) > ) > > ╭─[ 99.45ms - return value ]───────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject<br /> (map<br /> │ > │ [("bday",<br /> JObject<br /> (map<br /> │ > │ [("day", JNumber 25.0); ("month", JNumber 12.0);<br /> │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │ > │ ]);<br /> ("emptyObject", JObject (map []));<br /> │ > │ ("favouriteColors", │ > │ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JObject<br /> (map<br /> [ │ > │ ("bday",<br /> JObject<br /> (map<br /> [ │ > │ ("day", JNumber 25.0); ("month", JNumber 12.0);<br /> │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray [ │ > │ ]);<br /> ("emptyObject", JObject (map []));<br /> │ > │ ("favouriteColors", JArray [JString "blue"; JString │ > │ "gr...</code></span></summary><div><table><thead><tr></tr></thead><tbod │ > │ y><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject<br /> (map<br /> [ │ > │ ("bday",<br /> JObject<br /> (map<br /> [ │ > │ ("day", JNumber 25.0); ("month", JNumber 12.0);<br /> │ > │ ("year", JNumber 2001.0)])); ("emptyArray", │ > │ JArra...quot;name" : "Scott",, "isMale" : │ > │ true,, "bday" : {"year":2001, "month":12, │ > │ "day":25 },, "favouriteColors" : ["blue", │ > │ "green"],, "emptyArray" : [],, │ > │ "emptyObject" : {}, } │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 8<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>8 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 103.19ms - stdout ]────────────────────────────────────────────────────────╮ > │ JObject │ > │ (map │ > │ [("bday", │ > │ JObject │ > │ (map │ > │ [("day", JNumber 25.0); ("month", JNumber 12.0); │ > │ ("year", JNumber 2001.0)])); ("emptyArray", JArray []); │ > │ ("emptyObject", JObject (map [])); │ > │ ("favouriteColors", JArray [JString "blue"; JString "green"]); │ > │ ("isMale", JBool true); ("name", JString "Scott")]) │ > │ JObject │ > │ (map │ > │ [("bday", JObject (map [("day", JNumber 25.0); ("month", JNumber 12.0); │ > │ ("year", JNumber 2001.0)])); │ > │ ("emptyArray", JArray []); ("emptyObject", JObject (map [])); │ > │ ("favouriteColors", JArray [JString "blue"; JString "green"]); │ > │ ("isMale", JBool true); ("name", JString "Scott")]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example2 = """{"widget": { > "debug": "on", > "window": { > "title": "Sample Konfabulator Widget", > "name": "main_window", > "width": 500, > "height": 500 > }, > "image": { > "src": "Images/Sun.png", > "name": "sun1", > "hOffset": 250, > "vOffset": 250, > "alignment": "center" > }, > "text": { > "data": "Click Here", > "size": 36, > "style": "bold", > "name": "text1", > "hOffset": 250, > "vOffset": 100, > "alignment": "center", > "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;" > } > }}""" > > run jValue example2 > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "widget", JObject ( > Map.ofList [[ > "debug", JString "on" > "window", JObject ( > Map.ofList [[ > "title", JString "Sample Konfabulator Widget" > "name", JString "main_window" > "width", JNumber 500.0 > "height", JNumber 500.0 > ]] > ) > "image", JObject ( > Map.ofList [[ > "src", JString "Images/Sun.png" > "name", JString "sun1" > "hOffset", JNumber 250.0 > "vOffset", JNumber 250.0 > "alignment", JString "center" > ]] > ) > "text", JObject ( > Map.ofList [[ > "data", JString "Click Here" > "size", JNumber 36.0 > "style", JString "bold" > "name", JString "text1" > "hOffset", JNumber 250.0 > "vOffset", JNumber 100.0 > "alignment", JString "center" > "onMouseUp", JString "sun1.opacity = > (sun1.opacity / 100) * 90;" > ]] > ) > ]] > ) > ]] > ) > ) > ) > > ╭─[ 257.39ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject<br /> (map<br /> │ > │ [("widget",<br /> JObject<br /> (map<br /> │ > │ [("debug", JString "on");<br /> │ > │ ("image",<br /> JObject<br /> │ > │ (map<br /> [("alignment", JString │ > │ "center");<br /> │ > │ ("hOffset"...</code></span></summary><div><table><thead><tr></tr>< │ > │ /thead><tbody><tr><td>Item</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>(JObject<br │ > │ /> (map<br /> [("widget",<br /> JObject<br /> │ > │ (map<br /> [("debug", JString "on");<br /> │ > │ ("image",<br /> JObject<br /> (map<br │ > │ /> [("alignment", JString "center"); │ > │ ("hOffset", JNumber 250.0);<br /> │ > │ ("name", JString │ > │ "sun1"...</code></span></summary><div><table><thead><tr></tr></the │ > │ ad><tbody><tr><td>Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject<br /> (map<br /> [ │ > │ ("widget",<br /> JObject<br /> (map<br /> │ > │ [("debug", JString "on");<br /> │ > │ ("image",<br /> JObject<br /> (... │ > │ "style": "bold",, "name": │ > │ "text1",, "hOffset": 250,, │ > │ "vOffset": 100,, "alignment": │ > │ "center",, "onMouseUp": "sun1.opacity = │ > │ (sun1.opacity / 100) * 90;", }, }} │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 26<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>26 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 261.20ms - stdout ]────────────────────────────────────────────────────────╮ > │ JObject │ > │ (map │ > │ [("widget", │ > │ JObject │ > │ (map │ > │ [("debug", JString "on"); │ > │ ("image", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); ("hOffset", JNumber │ > │ 250.0); │ > │ ("name", JString "sun1"); ("src", JString │ > │ "Images/Sun.png"); │ > │ ("vOffset", JNumber 250.0)])); │ > │ ("text", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); │ > │ ("data", JString "Click Here"); ("hOffset", JNumber │ > │ 250.0); │ > │ ("name", JString "text1"); │ > │ ("onMouseUp", │ > │ JString "sun1.opacity = (sun1.opacity / 100) * 90;"); │ > │ ("size", JNumber 36.0); ("style", JString "bold"); │ > │ ("vOffset", JNumber 100.0)])); │ > │ ("window", │ > │ JObject │ > │ (map │ > │ [("height", JNumber 500.0); ("name", JString │ > │ "main_window"); │ > │ ("title", JString "Sample Konfabulator Widget"); │ > │ ("width", JNumber 500.0)]))]))]) │ > │ JObject │ > │ (map │ > │ [("widget", │ > │ JObject │ > │ (map │ > │ [("debug", JString "on"); │ > │ ("image", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); ("hOffset", JNumber │ > │ 250.0); ("name", JString "sun1"); │ > │ ("src", JString "Images/Sun.png"); ("vOffset", JNumber │ > │ 250.0)])); │ > │ ("text", │ > │ JObject │ > │ (map │ > │ [("alignment", JString "center"); ("data", JString "Click │ > │ Here"); ("hOffset", JNumber 250.0); │ > │ ("name", JString "text1"); ("onMouseUp", JString │ > │ "sun1.opacity = (sun1.opacity / 100) * 90;"); │ > │ ("size", JNumber 36.0); ("style", JString "bold"); │ > │ ("vOffset", JNumber 100.0)])); │ > │ ("window", │ > │ JObject │ > │ (map │ > │ [("height", JNumber 500.0); ("name", JString │ > │ "main_window"); │ > │ ("title", JString "Sample Konfabulator Widget"); │ > │ ("width", JNumber 500.0)]))]))]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let example3 = """{ > "string": "Hello, \"World\"!", > "escapedString": "This string contains \\/\\\\\\b\\f\\n\\r\\t\\\"\\'", > "number": 42, > "scientificNumber": 3.14e-10, > "boolean": true, > "nullValue": null, > "array": [[1, 2, 3, 4, 5]], > "unicodeString1": "프리마", > "unicodeString2": "\u0048\u0065\u006C\u006C\u006F, > \u0022\u0057\u006F\u0072\u006C\u0064\u0022!", > "specialCharacters": "!@#$%^&*()", > "emptyArray": [[]], > "emptyObject": {}, > "nestedArrays": [[[[1, 2, 3]], [[4, 5, 6]]]], > "object": { > "nestedString": "Nested Value", > "nestedNumber": 3.14, > "nestedBoolean": false, > "nestedNull": null, > "nestedArray": [["a", "b", "c"]], > "nestedObject": { > "nestedProperty": "Nested Object Value" > } > }, > "nestedObjects": [[ > {"name": "Alice", "age": 25}, > {"name": "Bob", "age": 30} > ]] > }""" > run jValue example3 > |> parserEqual ( > Success ( > JObject ( > Map.ofList [[ > "string", JString @"Hello, ""World""!" > "escapedString", JString @"This string contains > \/\\\b\f\n\r\t\""\'" > "number", JNumber 42.0 > "scientificNumber", JNumber 3.14e-10 > "boolean", JBool true > "nullValue", JNull > "array", JArray [[ > JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber > 5.0 > ]] > "unicodeString1", JString "프리마" > "unicodeString2", JString @"Hello, ""World""!" > "specialCharacters", JString "!@#$%^&*()" > "emptyArray", JArray [[]] > "emptyObject", JObject Map.empty > "nestedArrays", JArray [[ > JArray [[ JNumber 1.0; JNumber 2.0; JNumber 3.0 ]] > JArray [[ JNumber 4.0; JNumber 5.0; JNumber 6.0 ]] > ]] > "object", JObject ( > Map.ofList [[ > "nestedString", JString "Nested Value" > "nestedNumber", JNumber 3.14 > "nestedBoolean", JBool false > "nestedNull", JNull > "nestedArray", JArray [[JString "a"; JString "b"; > JString "c"]] > "nestedObject", JObject ( > Map.ofList [[ > "nestedProperty", JString "Nested Object Value" > ]] > ) > ]] > ) > "nestedObjects", JArray [[ > JObject (Map.ofList [[ "name", JString "Alice"; "age", JNumber > 25.0 ]]) > JObject (Map.ofList [[ "name", JString "Bob"; "age", JNumber > 30.0 ]]) > ]] > ]] > ) > ) > ) > > ╭─[ 335.76ms - return value ]──────────────────────────────────────────────────╮ > │ <details open="open" class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>Success<br /> (JObject<br /> (map<br /> │ > │ [("array",<br /> JArray<br /> [JNumber 1.0; │ > │ JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber 5.0]);<br /> │ > │ ("boolean", JBool true); ("emptyArray", JArray []);<br │ > │ /> ("emptyObject", JObject (map []));<br /> │ > │ ("escapedString", JString "This │ > │ s...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr>< │ > │ td>Item</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>(JObject<br /> (map<br /> [ │ > │ ("array",<br /> JArray [JNumber 1.0; JNumber 2.0; JNumber │ > │ 3.0; JNumber 4.0; JNumber 5.0]);<br /> ("boolean", JBool │ > │ true); ("emptyArray", JArray []);<br /> │ > │ ("emptyObject", JObject (map []));<br /> │ > │ ("escapedString", JString "This string contains \/\\\b\f<br │ > │ />\r\t\"\'");<br /> │ > │ ...</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><t │ > │ d>Item1</td><td><details class="dni-treeview"><summary><span │ > │ class="dni-code-hint"><code>JObject<br /> (map<br /> [ │ > │ ("array",<br /> JArray [JNumber 1.0; JNumber 2.0; JNumber │ > │ 3.0; JNumber 4.0; JNumber 5.0]);<br /> ("boolean", JBool │ > │ true); ("emptyArray", JArray []);<br /> │ > │ ("emptyObject", JObject (map []));<br /> ("es...", │ > │ "c"],, "nestedObject": {, │ > │ "nestedProperty": "Nested Object Value", }, },, │ > │ "nestedObjects": [, {"name": "Alice", │ > │ "age": 25},, {"name": "Bob", │ > │ "age": 30}, ], } │ > │ ]</pre></div></td></tr><tr><td>position</td><td><details │ > │ class="dni-treeview"><summary><span class="dni-code-hint"><code>{ line = │ > │ 29<br /> column = 0 │ > │ }</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ > │ line</td><td><div class="dni-plaintext"><pre>29 │ > │ </pre></div></td></tr><tr><td>column</td><td><div │ > │ class="dni-plaintext"><pre>0 │ > │ </pre></div></td></tr></tbody></table></div></details></td></tr></tbody></ta │ > │ ble></div></details></td></tr></tbody></table></div></details></td></tr><tr> │ > │ <td>IsSuccess</td><td><div class="dni-plaintext"><pre>true │ > │ </pre></div></td></tr><tr><td>IsFailure</td><td><div │ > │ class="dni-plaintext"><pre>false │ > │ </pre></div></td></tr></tbody></table></div></details><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 339.81ms - stdout ]────────────────────────────────────────────────────────╮ > │ JObject │ > │ (map │ > │ [("array", │ > │ JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; JNumber │ > │ 5.0]); │ > │ ("boolean", JBool true); ("emptyArray", JArray []); │ > │ ("emptyObject", JObject (map [])); │ > │ ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'"); │ > │ ("nestedArrays", │ > │ JArray │ > │ [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0]; │ > │ JArray [JNumber 4.0; JNumber 5.0; JNumber 6.0]]); │ > │ ("nestedObjects", │ > │ JArray │ > │ [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]); │ > │ JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]); │ > │ ("nullValue", JNull); ("number", JNumber 42.0); ...]) │ > │ JObject │ > │ (map │ > │ [("array", JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0; JNumber 4.0; │ > │ JNumber 5.0]); ("boolean", JBool true); │ > │ ("emptyArray", JArray []); ("emptyObject", JObject (map [])); │ > │ ("escapedString", JString "This string contains \/\\\b\f\n\r\t\"\'"); │ > │ ("nestedArrays", │ > │ JArray [JArray [JNumber 1.0; JNumber 2.0; JNumber 3.0]; JArray [ │ > │ JNumber 4.0; JNumber 5.0; JNumber 6.0]]); │ > │ ("nestedObjects", │ > │ JArray │ > │ [JObject (map [("age", JNumber 25.0); ("name", JString "Alice")]); │ > │ JObject (map [("age", JNumber 30.0); ("name", JString "Bob")])]); │ > │ ("nullValue", JNull); │ > │ ("number", JNumber 42.0); ...]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 344876 } 00:00:17 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:17 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.ipynb to html 00:00:17 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:17 verbose #7 ! validate(nb) 00:00:18 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:18 verbose #9 ! return _pygments_highlight( 00:00:18 verbose #10 ! [NbConvertApp] Writing 532431 bytes to /home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.html 00:00:18 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 906 } 00:00:18 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 906 } 00:00:18 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/JsonParser.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:19 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:19 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:19 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 345841 } 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Parser.dib"])) } 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Parser (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### TextInput │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Position = > { > line : int > column : int > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let initialPos = { line = 0; column = 0 } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline incrCol (pos : Position) = > { pos with column = pos.column + 1 } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline incrLine pos = > { line = pos.line + 1; column = 0 } > > ── fsharp ────────────────────────────────────────────────────────────────────── > type InputState = > { > lines : string[[]] > position : Position > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline fromStr str = > { > lines = > if str |> String.IsNullOrEmpty > then [[||]] > else str |> SpiralSm.split_string [[| "\r\n"; "\n" |]] > position = initialPos > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > fromStr "" |> _assertEqual { > lines = [[||]] > position = { line = 0; column = 0 } > } > > ╭─[ 46.72ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [||] │ > │ position = { line = 0 │ > │ column = 0 } } │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > fromStr "Hello \n World" |> _assertEqual { > lines = [[| "Hello "; " World" |]] > position = { line = 0; column = 0 } > } > > ╭─[ 14.55ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [|"Hello "; " World"|] │ > │ position = { line = 0 │ > │ column = 0 } } │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline currentLine inputState = > let linePos = inputState.position.line > if linePos < inputState.lines.Length > then inputState.lines.[[linePos]] > else "end of file" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline nextChar input = > let linePos = input.position.line > let colPos = input.position.column > > if linePos >= input.lines.Length > then input, None > else > let currentLine = currentLine input > if colPos < currentLine.Length then > let char = currentLine.[[colPos]] > let newPos = incrCol input.position > let newState = { input with position = newPos } > newState, Some char > else > let char = '\n' > let newPos = incrLine input.position > let newState = { input with position = newPos } > newState, Some char > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let newInput, charOpt = fromStr "Hello World" |> nextChar > > newInput |> _assertEqual { > lines = [[| "Hello World" |]] > position = { line = 0; column = 1 } > } > charOpt |> _assertEqual (Some 'H') > > ╭─[ 29.03ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [|"Hello World"|] │ > │ position = { line = 0 │ > │ column = 1 } } │ > │ │ > │ Some 'H' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let newInput, charOpt = fromStr "Hello\n\nWorld" |> nextChar > > newInput |> _assertEqual { > lines = [[| "Hello"; ""; "World" |]] > position = { line = 0; column = 1 } > } > charOpt |> _assertEqual (Some 'H') > > ╭─[ 21.27ms - stdout ]─────────────────────────────────────────────────────────╮ > │ { lines = [|"Hello"; ""; "World"|] │ > │ position = { line = 0 │ > │ column = 1 } } │ > │ │ > │ Some 'H' │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### Parser │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Input = InputState > type ParserLabel = string > type ParserError = string > > type ParserPosition = > { > currentLine : string > line : int > column : int > } > > type ParseResult<'a> = > | Success of 'a > | Failure of ParserLabel * ParserError * ParserPosition > > type Parser<'a> = > { > label : ParserLabel > parseFn : Input -> ParseResult<'a * Input> > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline printResult result = > match result with > | Success (value, input) -> > printfn $"%A{value}" > | Failure (label, error, parserPos) -> > let errorLine = parserPos.currentLine > let colPos = parserPos.column > let linePos = parserPos.line > let failureCaret = $"{' ' |> string |> String.replicate colPos}^{error}" > printfn $"Line:%i{linePos} Col:%i{colPos} Error parsing > %s{label}\n%s{errorLine}\n%s{failureCaret}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline runOnInput parser input = > parser.parseFn input > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline run parser inputStr = > runOnInput parser (fromStr inputStr) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline parserPositionFromInputState (inputState : Input) = > { > currentLine = currentLine inputState > line = inputState.position.line > column = inputState.position.column > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getLabel parser = > parser.label > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline setLabel parser newLabel = > { > label = newLabel > parseFn = fun input -> > match parser.parseFn input with > | Success s -> Success s > | Failure (oldLabel, err, pos) -> Failure (newLabel, err, pos) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<?>) = setLabel > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline satisfy predicate label = > { > label = label > parseFn = fun input -> > let remainingInput, charOpt = nextChar input > match charOpt with > | None -> > let err = "No more input" > let pos = parserPositionFromInputState input > Failure (label, err, pos) > | Some first -> > if predicate first > then Success (first, remainingInput) > else > let err = $"Unexpected '%c{first}'" > let pos = parserPositionFromInputState input > Failure (label, err, pos) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > runOnInput parser input |> _assertEqual ( > Success ( > 'H', > { > lines = [[| "Hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 27.11ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('H', { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "World" > let parser = satisfy (fun c -> c = 'H') "H" > runOnInput parser input |> _assertEqual ( > Failure ( > "H", > "Unexpected 'W'", > { > currentLine = "World" > line = 0 > column = 0 > } > ) > ) > > ╭─[ 22.91ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("H", "Unexpected 'W'", { currentLine = "World" │ > │ line = 0 │ > │ column = 0 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline bindP f p = > { > label = "unknown" > parseFn = fun input -> > match runOnInput p input with > | Failure (label, err, pos) -> Failure (label, err, pos) > | Success (value1, remainingInput) -> runOnInput (f value1) > remainingInput > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (>>=) p f = bindP f p > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e" > runOnInput parser2 input |> _assertEqual ( > Success ( > 'e', > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 34.63ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('e', { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "World" > let parser = satisfy (fun c -> c = 'W') "W" > let parser2 = parser >>= fun c -> satisfy (fun c -> c = 'e') "e" > runOnInput parser2 input |> _assertEqual ( > Failure ( > "e", > "Unexpected 'o'", > { > currentLine = "World" > line = 0 > column = 1 > } > ) > ) > > ╭─[ 71.84ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("e", "Unexpected 'o'", { currentLine = "World" │ > │ line = 0 │ > │ column = 1 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline returnP x = > { > label = $"%A{x}" > parseFn = fun input -> Success (x, input) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = returnP "Hello" > runOnInput parser input |> _assertEqual ( > Success ( > "Hello", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 0 } > } > ) > ) > > ╭─[ 19.05ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("Hello", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline mapP f = > bindP (f >> returnP) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<!>) = mapP > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (|>>) x f = f <!> x > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = parser |>> string > runOnInput parser2 input |> _assertEqual ( > Success ( > "H", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 26.62ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("H", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline applyP fP xP = > fP >>= > fun f -> > xP >>= > fun x -> > returnP (f x) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<*>) = applyP > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline lift2 f xP yP = > returnP f <*> xP <*> yP > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'e') "e" > let parser3 = lift2 (fun c1 c2 -> string c1 + string c2) parser parser2 > runOnInput parser3 input |> _assertEqual ( > Success ( > "He", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 42.45ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("He", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline andThen p1 p2 = > p1 >>= > fun p1Result -> > p2 >>= > fun p2Result -> > returnP (p1Result, p2Result) > <?> $"{getLabel p1} andThen {getLabel p2}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (.>>.) = andThen > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'e') "e" > let parser3 = parser .>>. parser2 > runOnInput parser3 input |> _assertEqual ( > Success ( > ('H', 'e'), > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 33.36ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (('H', 'e'), { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline orElse p1 p2 = > { > label = $"{getLabel p1} orElse {getLabel p2}" > parseFn = fun input -> > match runOnInput p1 input with > | Success _ as result -> result > | Failure _ -> runOnInput p2 input > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > let (<|>) = orElse > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'h') "h" > let parser3 = parser <|> parser2 > runOnInput parser3 input |> _assertEqual ( > Success ( > 'h', > { > lines = [[| "hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 29.25ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('h', { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline choice listOfParsers = > listOfParsers |> List.reduce (<|>) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'h') "h" > let parser3 = choice [[ parser; parser2 ]] > runOnInput parser3 input |> _assertEqual ( > Success ( > 'h', > { > lines = [[| "hello" |]] > position = { line = 0; column = 1 } > } > ) > ) > > ╭─[ 28.31ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ('h', { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 1 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let rec sequence parserList = > match parserList with > | [[]] -> returnP [[]] > | head :: tail -> (lift2 cons) head (sequence tail) > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = satisfy (fun c -> c = 'e') "e" > let parser3 = sequence [[ parser; parser2 ]] > runOnInput parser3 input |> _assertEqual ( > Success ( > [[ 'H'; 'e' ]], > { > lines = [[| "Hello" |]] > position = { line = 0; column = 2 } > } > ) > ) > > ╭─[ 36.46ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (['H'; 'e'], { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 2 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let rec parseZeroOrMore parser input = > match runOnInput parser input with > | Failure (_, _, _) -> > [[]], input > | Success (firstValue, inputAfterFirstParse) -> > let subsequentValues, remainingInput = parseZeroOrMore parser > inputAfterFirstParse > firstValue :: subsequentValues, remainingInput > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline many parser = > { > label = $"many {getLabel parser}" > parseFn = fun input -> Success (parseZeroOrMore parser input) > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = many parser > runOnInput parser2 input |> _assertEqual ( > Success ( > [[]], > { > lines = [[| "hello" |]] > position = { line = 0; column = 0 } > } > ) > ) > > ╭─[ 27.66ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ([], { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline many1 p = > p >>= > fun head -> > many p >>= > fun tail -> > returnP (head :: tail) > <?> $"many1 {getLabel p}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = many1 parser > runOnInput parser2 input |> _assertEqual ( > Failure ( > "many1 H", > "Unexpected 'h'", > { > currentLine = "hello" > line = 0 > column = 0 > } > ) > ) > > ╭─[ 37.71ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("many1 H", "Unexpected 'h'", { currentLine = "hello" │ > │ line = 0 │ > │ column = 0 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline opt p = > let some = p |>> Some > let none = returnP None > (some <|> none) > <?> $"opt {getLabel p}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "hello" > let parser = satisfy (fun c -> c = 'H') "H" > let parser2 = opt parser > runOnInput parser2 input |> _assertEqual ( > Success ( > None, > { > lines = [[| "hello" |]] > position = { line = 0; column = 0 } > } > ) > ) > > ╭─[ 30.10ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (None, { lines = [|"hello"|] │ > │ position = { line = 0 │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (.>>) p1 p2 = > p1 .>>. p2 > |> mapP fst > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (>>.) p1 p2 = > p1 .>>. p2 > |> mapP snd > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline between p1 p2 p3 = > p1 >>. p2 .>> p3 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "[[Hello]]" > let parser = > between > (satisfy (fun c -> c = '[[') "[[") > (many (satisfy (fun c -> [[ 'a' .. 'z' ]] @ [[ 'A' .. 'Z' ]] |> > List.contains c) "letter")) > (satisfy (fun c -> c = ']]') "]]") > runOnInput parser input |> _assertEqual ( > Success ( > [[ 'H'; 'e'; 'l'; 'l'; 'o' ]], > { > lines = [[| "[[Hello]]" |]] > position = { line = 0; column = 7 } > } > ) > ) > > ╭─[ 127.91ms - stdout ]────────────────────────────────────────────────────────╮ > │ Success (['H'; 'e'; 'l'; 'l'; 'o'], { lines = [|"[Hello]"|] │ > │ position = { line = 0 │ > │ column = 7 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sepBy1 p sep = > let sepThenP = sep >>. p > p .>>. many sepThenP > |>> fun (p, pList) -> p :: pList > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sepBy p sep = > sepBy1 p sep <|> returnP [[]] > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello,World" > let parser = sepBy (many (satisfy (fun c -> c <> ',') "not comma")) (satisfy > (fun c -> c = ',') "comma") > runOnInput parser input |> _assertEqual ( > Success ( > [[ [[ 'H'; 'e'; 'l'; 'l'; 'o' ]]; [[ 'W'; 'o'; 'r'; 'l'; 'd'; '\n' ]] > ]], > { > lines = [[| "Hello,World" |]] > position = { line = 1; column = 0 } > } > ) > ) > > ╭─[ 63.40ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ([['H'; 'e'; 'l'; 'l'; 'o']; ['W'; 'o'; 'r'; 'l'; 'd'; '\010']], { │ > │ lines = [|"Hello,World"|] │ > │ │ > │ position = { line = 1 │ > │ │ > │ column = 0 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline pchar charToMatch = > satisfy ((=) charToMatch) $"%c{charToMatch}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline anyOf listOfChars = > listOfChars > |> List.map pchar > |> choice > <?> $"anyOf %A{listOfChars}" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = anyOf [[ 'H'; 'e'; 'l'; 'o' ]] |> many > runOnInput parser input |> _assertEqual ( > Success ( > [[ 'H'; 'e'; 'l'; 'l'; 'o' ]], > { > lines = [[| "Hello" |]] > position = { line = 0; column = 5 } > } > ) > ) > > ╭─[ 33.61ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (['H'; 'e'; 'l'; 'l'; 'o'], { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 5 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline charListToStr charList = > charList |> List.toArray |> String > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline manyChars cp = > many cp > |>> charListToStr > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline manyChars1 cp = > many1 cp > |>> charListToStr > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = manyChars1 (anyOf [[ 'H'; 'e'; 'l'; 'o' ]]) > runOnInput parser input |> _assertEqual ( > Success ( > "Hello", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 5 } > } > ) > ) > > ╭─[ 45.97ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("Hello", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 5 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline pstring str = > str > |> List.ofSeq > |> List.map pchar > |> sequence > |> mapP charListToStr > <?> str > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = pstring "Hello" > runOnInput parser input |> _assertEqual ( > Success ( > "Hello", > { > lines = [[| "Hello" |]] > position = { line = 0; column = 5 } > } > ) > ) > > ╭─[ 36.80ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success ("Hello", { lines = [|"Hello"|] │ > │ position = { line = 0 │ > │ column = 5 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let whitespaceChar = > satisfy Char.IsWhiteSpace "whitespace" > > ── fsharp ────────────────────────────────────────────────────────────────────── > let spaces = many whitespaceChar > > ── fsharp ────────────────────────────────────────────────────────────────────── > let spaces1 = many1 whitespaceChar > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr " Hello" > let parser = spaces1 .>>. pstring "Hello" > runOnInput parser input |> _assertEqual ( > Success ( > ([[ ' '; ' ' ]], "Hello"), > { > lines = [[| " Hello" |]] > position = { line = 0; column = 7 } > } > ) > ) > > ╭─[ 40.28ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (([' '; ' '], "Hello"), { lines = [|" Hello"|] │ > │ position = { line = 0 │ > │ column = 7 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let digitChar = > satisfy Char.IsDigit "digit" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let input = fromStr "Hello" > let parser = digitChar > runOnInput parser input |> _assertEqual ( > Failure ( > "digit", > "Unexpected 'H'", > { > currentLine = "Hello" > line = 0 > column = 0 > } > ) > ) > > ╭─[ 16.14ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Failure ("digit", "Unexpected 'H'", { currentLine = "Hello" │ > │ line = 0 │ > │ column = 0 }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let pint = > let inline resultToInt (sign, digits) = > let i = int digits > match sign with > | Some ch -> -i > | None -> i > > let digits = manyChars1 digitChar > > opt (pchar '-') .>>. digits > |> mapP resultToInt > <?> "integer" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run pint "-123" > |> _assertEqual ( > Success ( > -123, > { > lines = [[| "-123" |]] > position = { line = 0; column = 4 } > } > ) > ) > > ╭─[ 20.66ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (-123, { lines = [|"-123"|] │ > │ position = { line = 0 │ > │ column = 4 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let pfloat = > let inline resultToFloat (((sign, digits1), point), digits2) = > let fl = float $"{digits1}.{digits2}" > match sign with > | Some ch -> -fl > | None -> fl > > let digits = manyChars1 digitChar > > opt (pchar '-') .>>. digits .>>. pchar '.' .>>. digits > |> mapP resultToFloat > <?> "float" > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > run pfloat "-123.45" > |> _assertEqual ( > Success ( > -123.45, > { > lines = [[| "-123.45" |]] > position = { line = 0; column = 7 } > } > ) > ) > > ╭─[ 64.07ms - stdout ]─────────────────────────────────────────────────────────╮ > │ Success (-123.45, { lines = [|"-123.45"|] │ > │ position = { line = 0 │ > │ column = 7 } }) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline createParserForwardedToRef<'a> () = > let mutable parserRef : Parser<'a> = > { > label = "unknown" > parseFn = fun _ -> failwith "unfixed forwarded parser" > } > > let wrapperParser = > { parserRef with > parseFn = fun input -> runOnInput parserRef input > } > > wrapperParser, (fun v -> parserRef <- v) > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline (>>%) p x = > p > |>> fun _ -> x 00:00:15 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 45178 } 00:00:15 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:16 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.ipynb to html 00:00:16 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:16 verbose #7 ! validate(nb) 00:00:16 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:16 verbose #9 ! return _pygments_highlight( 00:00:17 verbose #10 ! [NbConvertApp] Writing 413689 bytes to /home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.html 00:00:17 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:00:17 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:00:17 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/parser/Parser.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:17 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:17 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:17 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 46135 } 00:00:00 debug #1 writeDibCode / output: Fs / path: Parser.dib 00:00:00 debug #1 writeDibCode / output: Fs / path: JsonParser.dib 00:00:00 debug #3 parseDibCode / output: Fs / file: Parser.dib 00:00:00 debug #3 parseDibCode / output: Fs / file: JsonParser.dib
In [ ]:
{ pwsh ../apps/spiral/build.ps1 } | Invoke-Block
00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Supervisor.dib", "--retries", "3"])) } 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Supervisor (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com > mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli > ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ > 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" > #r > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha > rp.Json.dll" > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### sendJson │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendJson (port : int) (json : string) = async { > let host = "127.0.0.1" > let! portOpen = SpiralNetworking.test_port_open host port > if portOpen then > try > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() > do! connection.StartAsync () |> Async.AwaitTask > let! result = connection.InvokeAsync<string>("ClientToServerMsg", > json) |> Async.AwaitTask > do! connection.StopAsync () |> Async.AwaitTask > trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> > Option.map (SpiralSm.ellipsis_end 200)}") _locals > return Some result > with ex -> > trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> > SpiralSm.format_exception}") _locals > return None > else > trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: port > not open") _locals > return None > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### sendObj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendObj port obj = > obj > |> System.Text.Json.JsonSerializer.Serialize > |> sendJson port > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### VSCPos │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCPos = {| line : int; character : int |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### VSCRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCRange = VSCPos * VSCPos > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### RString │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type RString = VSCRange * string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### TracedError │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type TracedError = {| trace : string list; message : string |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### ClientErrorsRes │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type ClientErrorsRes = > | FatalError of string > | TracedError of TracedError > | PackageErrors of {| uri : string; errors : RString list |} > | TokenizerErrors of {| uri : string; errors : RString list |} > | ParserErrors of {| uri : string; errors : RString list |} > | TypeErrors of {| uri : string; errors : RString list |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### workspaceRoot │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### awaitCompiler │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline awaitCompiler port cancellationToken = async { > let host = "127.0.0.1" > let struct (ct, disposable) = cancellationToken |> > SpiralThreading.new_disposable_token > let! ct = ct |> SpiralAsync.merge_cancellation_token_with_default_async > > let compiler = MailboxProcessor.Start (fun inbox -> async { > let! availablePort = SpiralNetworking.get_available_port (Some 180) host > port > if availablePort <> port then > inbox.Post (port, false) > else > let compilerPath = > workspaceRoot </> "deps/The-Spiral-Language/The Spiral Language > 2/artifacts/bin/The Spiral Language 2/release" > |> System.IO.Path.GetFullPath > > let dllPath = compilerPath </> "Spiral.dll" > > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = $@"dotnet ""{dllPath}"" --port {availablePort} > --default-int i32 --default-float f64" > l1 = Some ct > l3 = Some (fun struct (_, line, _) -> async { > if line |> SpiralSm.contains > $"System.IO.IOException: Failed to bind to address http://{host}:{port}: address > already in use." then > inbox.Post (port, false) > > if line |> SpiralSm.contains $"Server bound to: > http://localhost:{availablePort}" then > let rec loop retry = async { > do! > SpiralNetworking.wait_for_port_access > (Some 100) true host availablePort > |> Async.runWithTimeoutAsync 500 > |> Async.Ignore > > let _locals () = $"port: {availablePort} / > retry: {retry} / {_locals ()}" > try > let pingObj = {| Ping = true |} > let! pingResult = pingObj |> sendObj > availablePort > trace Verbose (fun () -> $"awaitCompiler > / Ping / result: '{pingResult}'") _locals > > inbox.Post (availablePort, true) > with ex -> > trace Verbose (fun () -> $"awaitCompiler > / Ping / ex: {ex |> SpiralSm.format_exception}") _locals > do! Async.Sleep 10 > do! loop (retry + 1) > } > do! loop 0 > }) > l6 = Some workspaceRoot > } > ) > |> SpiralRuntime.execute_with_options_async > > trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / > result: {result}") _locals > disposable.Dispose () > }, ct) > > let! serverPort, managed = compiler.Receive () > > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{serverPort}").Build () > do! connection.StartAsync () |> Async.AwaitTask > > let event = Event<_> () > let disposable' = connection.On<string> ("ServerToClientMsg", event.Trigger) > let stream = > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > let! msg = event.Publish |> Async.AwaitEvent > return Some (msg |> > FSharp.Json.Json.deserialize<ClientErrorsRes>, ()) > }) > () > > let disposable' = > new_disposable (fun () -> > async { > disposable'.Dispose () > do! connection.StopAsync () |> Async.AwaitTask > disposable.Dispose () > if managed > then do! > SpiralNetworking.wait_for_port_access (Some 100) false host > serverPort > |> Async.runWithTimeoutAsync 1500 > |> Async.Ignore > } > |> Async.RunSynchronously > ) > > return > serverPort, > stream, > ct, > disposable' > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### getFilePathFromUri │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getFilePathFromUri uri = > match System.Uri.TryCreate (uri, System.UriKind.Absolute) with > | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath > | _ -> failwith "invalid uri" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### getCompilerPort │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getCompilerPort () = > 13805 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### serialize_obj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let serializeObj obj = > try > obj > |> FSharp.Json.Json.serialize > |> SpiralSm.replace "\\\\" "\\" > |> SpiralSm.replace "\\r\\n" "\n" > |> SpiralSm.replace "\\n" "\n" > with ex -> > trace Critical (fun () -> "Supervisor.serialize_obj / obj: %A{obj}") > _locals > "" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### Backend │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Backend = > | Fsharp > | Cuda > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### buildFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildFile backend timeout port cancellationToken path = > let rec loop retry = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> SpiralFileSystem.read_all_text_async > > let stream, disposable = fileDir |> FileSystem.watchDirectory (fun _ -> > true) > use _ = disposable > > let struct (token, disposable) = SpiralThreading.new_disposable_token > cancellationToken > use _ = disposable > > let port = port |> Option.defaultWith getCompilerPort > let! serverPort, errors, ct, disposable = awaitCompiler port (Some > token) > use _ = disposable > > let outputFileName = > match backend with > | Fsharp -> $"{fileName}.fsx" > | Cuda -> $"{fileName}.py" > > let outputContentSeq = > stream > |> FSharp.Control.AsyncSeq.chooseAsync (function > | _, (FileSystem.FileSystemChange.Changed (path, Some text)) > when (path |> System.IO.Path.GetFileName) = outputFileName > -> > // fileDir </> path |> > SpiralFileSystem.read_all_text_retry_async > text |> Some |> Async.init > | _ -> None |> Async.init > ) > |> FSharp.Control.AsyncSeq.map (fun content -> > Some (content |> SpiralSm.replace "\r\n" "\n"), None > ) > > let inline printErrorData (data : {| uri : string; errors : RString list > |}) = > let fileName = data.uri |> System.IO.Path.GetFileName > let errors = > data.errors > |> List.map snd > |> SpiralSm.concat "\n" > $"{fileName}:\n{errors}" > > let errorsSeq = > errors > |> FSharp.Control.AsyncSeq.choose (fun error -> > match error with > | FatalError message -> > Some (message, error) > | TracedError data -> > Some (data.message, error) > | PackageErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TokenizerErrors data when data.errors |> List.isEmpty |> not > -> > Some (data |> printErrorData, error) > | ParserErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TypeErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | _ -> None > ) > |> FSharp.Control.AsyncSeq.map (fun (message, error) -> > None, Some (message, error) > ) > > let timerSeq = > 500 > |> FSharp.Control.AsyncSeq.intervalMs > |> FSharp.Control.AsyncSeq.map (fun _ -> None, None) > > let outputSeq = > [[ outputContentSeq; errorsSeq; timerSeq ]] > |> FSharp.Control.AsyncSeq.mergeAll > > let! outputChild = > ((None, [[]], 0), outputSeq) > ||> FSharp.Control.AsyncSeq.scan ( > fun (outputContentResult, errors, typeErrorCount) > (outputContent, error) -> > trace Debug (fun () -> $"Supervisor.buildFile / > AsyncSeq.scan / outputContent:\n{outputContent |> Option.defaultValue > System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> > serializeObj} / outputContentResult: {outputContentResult} / typeErrorCount: > {typeErrorCount} / retry: {retry} / error: {error} / path: {path}") _locals > match outputContent, error with > | Some outputContent, None -> Some outputContent, errors, > typeErrorCount > | None, Some (_, FatalError "File main has a type error > somewhere in its path.") -> > outputContentResult, errors, typeErrorCount + 1 > | None, Some error -> outputContentResult, error :: errors, > typeErrorCount > | None, None when typeErrorCount >= 1 -> > outputContentResult, errors, typeErrorCount + 1 > | _ -> outputContentResult, errors, typeErrorCount > ) > |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (outputContent, > errors, typeErrorCount) -> > trace Debug (fun () -> $"Supervisor.buildFile / > takeWhileInclusive / outputContent:\n{outputContent |> Option.defaultValue > System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> > serializeObj} / typeErrorCount: {typeErrorCount} / retry: {retry} / path: > {path}") _locals > #if INTERACTIVE > let errorWait = 2 > #else > let errorWait = 2 > #endif > match outputContent, errors with > | None, [[]] when typeErrorCount > errorWait -> false > | None, [[]] -> true > | _ -> false > ) > |> FSharp.Control.AsyncSeq.tryLast > |> Async.withCancellationToken ct > |> Async.catch > |> Async.runWithTimeoutAsync timeout > |> Async.StartChild > > // do! Async.Sleep 60 > > let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > > let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} > |} > let! _fileOpenResult = fileOpenObj |> sendObj serverPort > > // do! Async.Sleep 60 > > let backendId = > match backend with > | Fsharp -> "Fsharp" > | Cuda -> "Python + Cuda" > let buildFileObj = {| BuildFile = {| uri = fullPathUri; backend = > backendId |} |} > let! _buildFileResult = buildFileObj |> sendObj serverPort > > let! result, typeErrorCount = > outputChild > |> Async.map (function > | Some (Ok (Some (outputCode, errors, typeErrorCount))) -> > (outputCode, errors |> List.distinct |> List.rev), > typeErrorCount > | Some (Error ex) -> > trace Critical (fun () -> $"Supervisor.buildFile / error: > {ex |> SpiralSm.format_exception} / retry: {retry}") _locals > (None, [[]]), 0 > | _ -> (None, [[]]), 0 > ) > > match result with > | None, _ when typeErrorCount > 0 && retry = 0 -> > return! loop (retry + 1) > | _ -> > if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then > let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] > |} |} > let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort > () > > let outputPath = fileDir </> outputFileName > return outputPath, result > } > loop 0 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### SpiralInput │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type SpiralInput = > | Spi of string * string option > | Spir of string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### persistCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistCode backend input = async { > let targetDir = workspaceRoot </> "target/spiral_Eval" > > let packagesDir = targetDir </> "packages" > > let hashHex = $"%A{backend}%A{input}" |> SpiralCrypto.hash_text > > let codeDir = packagesDir </> hashHex > codeDir |> System.IO.Directory.CreateDirectory |> ignore > > let moduleName = "main" > > let spirModule, spiModule = > match input with > | Spi (spi, Some spir) -> true, true > | Spi (spi, None) -> false, true > | Spir spir -> true, false > |> fun (spir, spi) -> > (if spir then $"real_{moduleName}*-" else ""), > if spi then moduleName else "" > > let spiprojPath = codeDir </> "package.spiproj" > let spiprojCode = > $"""packageDir: {workspaceRoot </> "lib"} > packages: > |core- > spiral- > modules: > {spirModule} > {spiModule} > """ > do! spiprojCode |> SpiralFileSystem.write_all_text_exists spiprojPath > > let spirPath = codeDir </> $"real_{moduleName}.spir" > let spiPath = codeDir </> $"{moduleName}.spi" > > let spirCode, spiCode = > match input with > | Spi (spi, Some spir) -> Some spir, Some spi > | Spi (spi, None) -> None, Some spi > | Spir spir -> Some spir, None > > match spirCode with > | Some spir -> do! spir |> SpiralFileSystem.write_all_text_exists spirPath > | None -> () > match spiCode with > | Some spi -> do! spi |> SpiralFileSystem.write_all_text_exists spiPath > | None -> () > > let spiralPath = > match input with > | Spi _ -> spiPath > | Spir _ -> spirPath > match backend with > | None -> return spiralPath, None > | Some backend -> > let outputFileName = > let fileName = > match input with > | Spi _ -> moduleName > | Spir _ -> $"real_{moduleName}" > match backend with > | Fsharp -> $"{fileName}.fsx" > | Cuda -> $"{fileName}.py" > let outputPath = codeDir </> outputFileName > if outputPath |> System.IO.File.Exists |> not > then return spiralPath, None > else > let! oldCode = spiralPath |> SpiralFileSystem.read_all_text_async > if oldCode <> (spiCode |> Option.defaultValue (spirCode |> > Option.defaultValue "")) > then return spiralPath, None > else > let! outputCode = outputPath |> > SpiralFileSystem.read_all_text_async > return spiralPath, Some (outputPath, outputCode |> > SpiralSm.replace "\r\n" "\n") > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### buildCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let buildCode backend isCache timeout cancellationToken input = async { > let! mainPath, outputCache = input |> persistCode (Some backend) > match outputCache with > | Some (outputPath, outputCode) when isCache -> return mainPath, > (outputPath, Some outputCode), [[]] > | _ -> > let! outputPath, (outputCode, errors) = mainPath |> buildFile backend > timeout None cancellationToken > return mainPath, (outputPath, outputCode), errors > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl app () = > console.write_line "text" > 1i32 > > inl main () = > app > |> dyn > |> ignore > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 15000 None > |> Async.runWithTimeout 15000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some """let rec closure0 () () : int32 = > let v2 : (string -> unit) = System.Console.WriteLine > let v3 : string = "text" > v2 v3 > 1 > let v0 : (unit -> int32) = closure0() > () > """, > [[]] > ) > ) > > ╭─[ 3.92s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:09 verbose #1 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:07 debug #1 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:10 verbose #2 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #3 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:08 verbose #2 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:08 verbose #3 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:08 verbose #4 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:10 verbose #4 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #5 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #6 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #7 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #8 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #9 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #10 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #11 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #12 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #13 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #14 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #15 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #16 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #17 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #18 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #19 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #20 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #21 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #22 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #23 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #24 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #25 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:08 verbose #5 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:10 verbose #26 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #27 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #28 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #29 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:05 verbose #1 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:05 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:08 verbose #6 > Server bound to: http://localhost:13805 │ > │ 00:00:05 debug #3 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #4 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #5 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 verbose #6 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl app () =\n console.write_line │ > │ \u0022text\u0022\n 1i32\n\ninl main │ > │ ...et/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69f2d6d04b │ > │ 9dc60aebd08a0d6/main.spi"}} / result: │ > │ 00:00:05 verbose #7 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69 │ > │ f2d6d04b9dc60aebd08a0d6/main.spi"}} / result: │ > │ 00:00:09 verbose #7 > 00:00:01 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #8 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #9 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #10 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #11 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #12 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #13 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #14 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #15 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #16 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #17 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #18 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #19 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 verbose #20 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22cc │ > │ d04317d5605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6"]}} / result: │ > │ 00:00:13 verbose #30 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:13 verbose #31 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:08 debug #21 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some │ > │ (Some │ > │ "let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ ", │ > │ []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "" > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "Cannot find `main` in file main." ]] > ) > ) > > ╭─[ 3.23s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:13 verbose #32 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 debug #8 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:13 verbose #33 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #34 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:13 verbose #35 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 verbose #9 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:11 verbose #10 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:11 verbose #11 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:13 verbose #36 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #37 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #38 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #39 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #40 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #41 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #42 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #43 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #44 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #45 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #46 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #47 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #48 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #49 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #50 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #51 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #52 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #53 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #54 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #55 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 verbose #12 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:14 verbose #56 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #57 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #58 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #22 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:09 verbose #23 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:12 verbose #13 > Server bound to: http://localhost:13805 │ > │ 00:00:09 debug #24 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #25 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #26 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 verbose #27 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"","uri":"file:///home/runner/work/polyglot/polyglot/ │ > │ target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e68c0feb │ > │ 33db55c4d28170aa/main.spi"}} / result: │ > │ 00:00:09 verbose #28 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e │ > │ 68c0feb33db55c4d28170aa/main.spi"}} / result: │ > │ 00:00:12 verbose #14 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #29 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #30 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #31 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #32 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #33 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #34 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #35 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #36 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #37 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((Cannot find `main` in file main., FatalError "Cannot find │ > │ `main` in file main.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #38 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "Cannot find `main` in file main.", │ > │ { │ > │ "FatalError": "Cannot find `main` in file main." │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 verbose #39 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a653 │ > │ 42ccc7da0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa"]}} / result: │ > │ 00:00:16 verbose #59 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:16 verbose #60 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 debug #40 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["Cannot find `main` in file main."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1i32 / 0i32 > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "An attempt to divide by zero has been detected at compile time." ]] > ) > ) > > ╭─[ 3.10s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:16 verbose #61 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 debug #15 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:17 verbose #62 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #63 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:17 verbose #64 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #16 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:14 verbose #17 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:14 verbose #18 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:17 verbose #65 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #66 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #67 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #68 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #69 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #70 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #71 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #72 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #73 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #74 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #75 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #76 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #77 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #78 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #79 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #80 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #81 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #82 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #83 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #84 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #85 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #86 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:15 verbose #19 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:17 verbose #87 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #88 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #89 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:12 verbose #41 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:12 verbose #42 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:15 verbose #20 > Server bound to: http://localhost:13805 │ > │ 00:00:12 debug #43 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #44 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #45 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 verbose #46 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │ > │ 0i32\n","uri":"file:///home/runner/work/polyglot/p...et/spiral_Eval/packages │ > │ /fef9812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi"} │ > │ } / result: │ > │ 00:00:12 verbose #47 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/fef9812d9b06b75b1ab26589e52c6d6ff05910b73 │ > │ ead9e8c4f27f88d2a5cdfb2/main.spi"}} / result: │ > │ 00:00:15 verbose #21 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #48 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #49 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #50 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #51 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #52 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #53 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #54 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #55 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #56 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((An attempt to divide by zero has been detected at compile │ > │ time., TracedError │ > │ { message = "An attempt to divide by zero has been detected at compile │ > │ time." │ > │ trace = │ > │ ["Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ inl main () = │ > │ ^ │ > │ "; │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ "] })) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #57 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "An attempt to divide by zero has been detected at compile time.", │ > │ { │ > │ "TracedError": { │ > │ "message": "An attempt to divide by zero has been detected at │ > │ compile time.", │ > │ "trace": [ │ > │ "Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ inl main () = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ " │ > │ ] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 verbose #58 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9 │ > │ 812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2"]}} / result: │ > │ 00:00:19 verbose #90 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:19 verbose #91 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 debug #59 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["An attempt to divide by zero has been detected at compile │ > │ time."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1 + "" > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Constraint satisfaction error. > Got: string > Fails to satisfy: number" > ]] > ) > ) > > ╭─[ 2.86s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:19 verbose #92 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #22 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:20 verbose #93 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #94 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:20 verbose #95 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #23 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:18 verbose #24 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:18 verbose #25 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:20 verbose #96 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #97 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #98 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #99 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #100 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #101 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #102 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #103 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #104 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #105 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #106 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #107 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #108 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #109 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #110 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #111 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #112 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #113 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #114 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #115 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #26 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:20 verbose #116 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #117 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #118 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:15 verbose #60 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:15 verbose #61 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:18 verbose #27 > Server bound to: http://localhost:13805 │ > │ 00:00:15 debug #62 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #63 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #64 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 verbose #65 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ > │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ > │ / result: │ > │ 00:00:15 verbose #66 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ > │ 6e3655199e42df713504aa0/main.spi"}} / result: │ > │ 00:00:18 verbose #28 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #67 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #68 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #69 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #70 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #71 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #72 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #73 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #74 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #75 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ > │ error: Some((main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number, TypeErrors │ > │ { errors = │ > │ [(({ character = 8 │ > │ line = 1 }, { character = 10 │ > │ line = 1 }), │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #76 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:22 verbose #119 networking.test_port_open / { port = 13806; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #77 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #78 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #79 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #80 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ > │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ > │ / result: │ > │ 00:00:17 verbose #81 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ > │ 6e3655199e42df713504aa0/main.spi"}} / result: │ > │ 00:00:20 verbose #29 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #82 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: Some((main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number, TypeErrors │ > │ { errors = │ > │ [(({ character = 8 │ > │ line = 1 }, { character = 10 │ > │ line = 1 }), │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #83 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #84 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0"]}} / result: │ > │ 00:00:17 debug #85 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ 00:00:22 verbose #120 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:22 verbose #121 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #86 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number"]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > x + y > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Unbound variable: x. > Unbound variable: y." > ]] > ) > ) > > ── fsharp ────────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ Expecto.AssertException: Testing.__expect.<br/> │ > │ <span style="color: green;">expected</span>:<br/> │ > │ Some (None, [<span style="color: green;">"main.spi:<br/> │ > │ Unbound variable: x.<br/> │ > │ Unbound variable: y."])</span><br/> │ > │ <span style="color: red;"> actual</span>:<br/> │ > │ Some (None, [<span style="color: red;">])</span><br/> │ > │ at Expecto.Expect.equalWithDiffPrinter@401-15.Invoke(String msg)<br/> │ > │ at Expecto.Expect.equalWithDiffPrinter$cont@383[a](FSharpFunc`2 │ > │ diffPrinter, a actual, a expected, String message, Object e, Object a, Unit │ > │ unitVar) in C:\workspaces\dotnet\expecto\Expecto\Expect.fs:line 401<br/> │ > │ at Expecto.Expect.equalWithDiffPrinter[a](FSharpFunc`2 diffPrinter, a │ > │ actual, a expected, String message)<br/> │ > │ at <StartupCode$FSI_0050>.$FSI_0050.main@() │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 3.74s - stderr ]───────────────────────────────────────────────────────────╮ > │ 00:00:22 verbose #122 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #30 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:23 verbose #123 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #124 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:23 verbose #125 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #31 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:20 verbose #32 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:20 verbose #33 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:23 verbose #126 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #127 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #128 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #129 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #130 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #131 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #132 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #133 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #134 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #135 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #136 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #137 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #138 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #139 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #140 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #141 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #142 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #143 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #144 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #145 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #146 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:21 verbose #34 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:23 verbose #147 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #148 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #149 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #87 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:18 verbose #88 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:21 verbose #35 > Server bound to: http://localhost:13805 │ > │ 00:00:18 debug #89 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #90 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #91 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 verbose #92 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ > │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ > │ / result: │ > │ 00:00:18 verbose #93 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ > │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ > │ 00:00:21 verbose #36 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #94 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #95 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #96 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #97 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #98 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #99 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #100 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #101 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #102 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ > │ error: Some((main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y., TypeErrors │ > │ { errors = │ > │ [(({ character = 4 │ > │ line = 1 }, { character = 5 │ > │ line = 1 }), "Unbound variable: x."); │ > │ (({ character = 8 │ > │ line = 1 }, { character = 9 │ > │ line = 1 }), "Unbound variable: y.")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #103 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y.", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 4, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 5, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: x." │ > │ ], │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 9, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: y." │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:25 verbose #150 networking.test_port_open / { port = 13806; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #104 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #105 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #106 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 verbose #107 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ > │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ > │ / result: │ > │ 00:00:20 verbose #108 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ > │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ > │ 00:00:23 verbose #37 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #109 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #110 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #111 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #112 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 2 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:21 debug #113 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 2 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:21 debug #114 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 3 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:21 verbose #115 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1"]}} / result: │ > │ 00:00:21 debug #116 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ 00:00:26 verbose #151 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:26 verbose #152 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:21 debug #117 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > NotebookRunner.RunNotebookAsync / exiting... 3 > NotebookRunner.RunNotebookAsync / exiting... 2 > NotebookRunner.RunNotebookAsync / exiting... 1 00:00:35 verbose #3 runtime.execute_with_options / result / { exit_code = 137; std_trace_length = 179819 } 00:00:35 debug #4 spiral_builder.run / repl error / { exit_code = 137; repl_result = ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ # Supervisor (Polyglot) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #r @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan dard2.1/FSharp.Control.AsyncSeq.dll" #r @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 0/System.Reactive.dll" #r @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ netstandard2.0/System.Reactive.Linq.dll" #r @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" #r @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha rp.Json.dll" ── fsharp ────────────────────────────────────────────────────────────────────── #if !INTERACTIVE open Lib #endif ── fsharp ────────────────────────────────────────────────────────────────────── open Common open SpiralFileSystem.Operators open Microsoft.AspNetCore.SignalR.Client ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### sendJson │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline sendJson (port : int) (json : string) = async { let host = "127.0.0.1" let! portOpen = SpiralNetworking.test_port_open host port if portOpen then try let connection = HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() do! connection.StartAsync () |> Async.AwaitTask let! result = connection.InvokeAsync<string>("ClientToServerMsg", json) |> Async.AwaitTask do! connection.StopAsync () |> Async.AwaitTask trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> Option.map (SpiralSm.ellipsis_end 200)}") _locals return Some result with ex -> trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> SpiralSm.format_exception}") _locals return None else trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: port not open") _locals return None } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### sendObj │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline sendObj port obj = obj |> System.Text.Json.JsonSerializer.Serialize |> sendJson port ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### VSCPos │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type VSCPos = {| line : int; character : int |} ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### VSCRange │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type VSCRange = VSCPos * VSCPos ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### RString │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type RString = VSCRange * string ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### TracedError │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type TracedError = {| trace : string list; message : string |} ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### ClientErrorsRes │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type ClientErrorsRes = | FatalError of string | TracedError of TracedError | PackageErrors of {| uri : string; errors : RString list |} | TokenizerErrors of {| uri : string; errors : RString list |} | ParserErrors of {| uri : string; errors : RString list |} | TypeErrors of {| uri : string; errors : RString list |} ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### workspaceRoot │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let workspaceRoot = SpiralFileSystem.get_workspace_root () ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### awaitCompiler │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline awaitCompiler port cancellationToken = async { let host = "127.0.0.1" let struct (ct, disposable) = cancellationToken |> SpiralThreading.new_disposable_token let! ct = ct |> SpiralAsync.merge_cancellation_token_with_default_async let compiler = MailboxProcessor.Start (fun inbox -> async { let! availablePort = SpiralNetworking.get_available_port (Some 180) host port if availablePort <> port then inbox.Post (port, false) else let compilerPath = workspaceRoot </> "deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release" |> System.IO.Path.GetFullPath let dllPath = compilerPath </> "Spiral.dll" let! exitCode, result = SpiralRuntime.execution_options (fun x -> { x with l0 = $@"dotnet ""{dllPath}"" --port {availablePort} --default-int i32 --default-float f64" l1 = Some ct l3 = Some (fun struct (_, line, _) -> async { if line |> SpiralSm.contains $"System.IO.IOException: Failed to bind to address http://{host}:{port}: address already in use." then inbox.Post (port, false) if line |> SpiralSm.contains $"Server bound to: http://localhost:{availablePort}" then let rec loop retry = async { do! SpiralNetworking.wait_for_port_access (Some 100) true host availablePort |> Async.runWithTimeoutAsync 500 |> Async.Ignore let _locals () = $"port: {availablePort} / retry: {retry} / {_locals ()}" try let pingObj = {| Ping = true |} let! pingResult = pingObj |> sendObj availablePort trace Verbose (fun () -> $"awaitCompiler / Ping / result: '{pingResult}'") _locals inbox.Post (availablePort, true) with ex -> trace Verbose (fun () -> $"awaitCompiler / Ping / ex: {ex |> SpiralSm.format_exception}") _locals do! Async.Sleep 10 do! loop (retry + 1) } do! loop 0 }) l6 = Some workspaceRoot } ) |> SpiralRuntime.execute_with_options_async trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / result: {result}") _locals disposable.Dispose () }, ct) let! serverPort, managed = compiler.Receive () let connection = HubConnectionBuilder().WithUrl($"http://{host}:{serverPort}").Build () do! connection.StartAsync () |> Async.AwaitTask let event = Event<_> () let disposable' = connection.On<string> ("ServerToClientMsg", event.Trigger) let stream = FSharp.Control.AsyncSeq.unfoldAsync (fun () -> async { let! msg = event.Publish |> Async.AwaitEvent return Some (msg |> FSharp.Json.Json.deserialize<ClientErrorsRes>, ()) }) () let disposable' = new_disposable (fun () -> async { disposable'.Dispose () do! connection.StopAsync () |> Async.AwaitTask disposable.Dispose () if managed then do! SpiralNetworking.wait_for_port_access (Some 100) false host serverPort |> Async.runWithTimeoutAsync 1500 |> Async.Ignore } |> Async.RunSynchronously ) return serverPort, stream, ct, disposable' } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### getFilePathFromUri │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline getFilePathFromUri uri = match System.Uri.TryCreate (uri, System.UriKind.Absolute) with | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath | _ -> failwith "invalid uri" ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### getCompilerPort │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline getCompilerPort () = 13805 ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### serialize_obj │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let serializeObj obj = try obj |> FSharp.Json.Json.serialize |> SpiralSm.replace "\\\\" "\\" |> SpiralSm.replace "\\r\\n" "\n" |> SpiralSm.replace "\\n" "\n" with ex -> trace Critical (fun () -> "Supervisor.serialize_obj / obj: %A{obj}") _locals "" ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### Backend │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Backend = | Fsharp | Cuda ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### buildFile │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline buildFile backend timeout port cancellationToken path = let rec loop retry = async { let fullPath = path |> System.IO.Path.GetFullPath let fileDir = fullPath |> System.IO.Path.GetDirectoryName let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension let! code = fullPath |> SpiralFileSystem.read_all_text_async let stream, disposable = fileDir |> FileSystem.watchDirectory (fun _ -> true) use _ = disposable let struct (token, disposable) = SpiralThreading.new_disposable_token cancellationToken use _ = disposable let port = port |> Option.defaultWith getCompilerPort let! serverPort, errors, ct, disposable = awaitCompiler port (Some token) use _ = disposable let outputFileName = match backend with | Fsharp -> $"{fileName}.fsx" | Cuda -> $"{fileName}.py" let outputContentSeq = stream |> FSharp.Control.AsyncSeq.chooseAsync (function | _, (FileSystem.FileSystemChange.Changed (path, Some text)) when (path |> System.IO.Path.GetFileName) = outputFileName -> // fileDir </> path |> SpiralFileSystem.read_all_text_retry_async text |> Some |> Async.init | _ -> None |> Async.init ) |> FSharp.Control.AsyncSeq.map (fun content -> Some (content |> SpiralSm.replace "\r\n" "\n"), None ) let inline printErrorData (data : {| uri : string; errors : RString list |}) = let fileName = data.uri |> System.IO.Path.GetFileName let errors = data.errors |> List.map snd |> SpiralSm.concat "\n" $"{fileName}:\n{errors}" let errorsSeq = errors |> FSharp.Control.AsyncSeq.choose (fun error -> match error with | FatalError message -> Some (message, error) | TracedError data -> Some (data.message, error) | PackageErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | TokenizerErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | ParserErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | TypeErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | _ -> None ) |> FSharp.Control.AsyncSeq.map (fun (message, error) -> None, Some (message, error) ) let timerSeq = 500 |> FSharp.Control.AsyncSeq.intervalMs |> FSharp.Control.AsyncSeq.map (fun _ -> None, None) let outputSeq = [[ outputContentSeq; errorsSeq; timerSeq ]] |> FSharp.Control.AsyncSeq.mergeAll let! outputChild = ((None, [[]], 0), outputSeq) ||> FSharp.Control.AsyncSeq.scan ( fun (outputContentResult, errors, typeErrorCount) (outputContent, error) -> trace Debug (fun () -> $"Supervisor.buildFile / AsyncSeq.scan / outputContent:\n{outputContent |> Option.defaultValue System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> serializeObj} / outputContentResult: {outputContentResult} / typeErrorCount: {typeErrorCount} / retry: {retry} / error: {error} / path: {path}") _locals match outputContent, error with | Some outputContent, None -> Some outputContent, errors, typeErrorCount | None, Some (_, FatalError "File main has a type error somewhere in its path.") -> outputContentResult, errors, typeErrorCount + 1 | None, Some error -> outputContentResult, error :: errors, typeErrorCount | None, None when typeErrorCount >= 1 -> outputContentResult, errors, typeErrorCount + 1 | _ -> outputContentResult, errors, typeErrorCount ) |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (outputContent, errors, typeErrorCount) -> trace Debug (fun () -> $"Supervisor.buildFile / takeWhileInclusive / outputContent:\n{outputContent |> Option.defaultValue System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> serializeObj} / typeErrorCount: {typeErrorCount} / retry: {retry} / path: {path}") _locals #if INTERACTIVE let errorWait = 2 #else let errorWait = 2 #endif match outputContent, errors with | None, [[]] when typeErrorCount > errorWait -> false | None, [[]] -> true | _ -> false ) |> FSharp.Control.AsyncSeq.tryLast |> Async.withCancellationToken ct |> Async.catch |> Async.runWithTimeoutAsync timeout |> Async.StartChild // do! Async.Sleep 60 let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> SpiralFileSystem.new_file_uri let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} |} let! _fileOpenResult = fileOpenObj |> sendObj serverPort // do! Async.Sleep 60 let backendId = match backend with | Fsharp -> "Fsharp" | Cuda -> "Python + Cuda" let buildFileObj = {| BuildFile = {| uri = fullPathUri; backend = backendId |} |} let! _buildFileResult = buildFileObj |> sendObj serverPort let! result, typeErrorCount = outputChild |> Async.map (function | Some (Ok (Some (outputCode, errors, typeErrorCount))) -> (outputCode, errors |> List.distinct |> List.rev), typeErrorCount | Some (Error ex) -> trace Critical (fun () -> $"Supervisor.buildFile / error: {ex |> SpiralSm.format_exception} / retry: {retry}") _locals (None, [[]]), 0 | _ -> (None, [[]]), 0 ) match result with | None, _ when typeErrorCount > 0 && retry = 0 -> return! loop (retry + 1) | _ -> if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> SpiralFileSystem.new_file_uri let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] |} |} let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort () let outputPath = fileDir </> outputFileName return outputPath, result } loop 0 ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### SpiralInput │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type SpiralInput = | Spi of string * string option | Spir of string ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### persistCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline persistCode backend input = async { let targetDir = workspaceRoot </> "target/spiral_Eval" let packagesDir = targetDir </> "packages" let hashHex = $"%A{backend}%A{input}" |> SpiralCrypto.hash_text let codeDir = packagesDir </> hashHex codeDir |> System.IO.Directory.CreateDirectory |> ignore let moduleName = "main" let spirModule, spiModule = match input with | Spi (spi, Some spir) -> true, true | Spi (spi, None) -> false, true | Spir spir -> true, false |> fun (spir, spi) -> (if spir then $"real_{moduleName}*-" else ""), if spi then moduleName else "" let spiprojPath = codeDir </> "package.spiproj" let spiprojCode = $"""packageDir: {workspaceRoot </> "lib"} packages: |core- spiral- modules: {spirModule} {spiModule} """ do! spiprojCode |> SpiralFileSystem.write_all_text_exists spiprojPath let spirPath = codeDir </> $"real_{moduleName}.spir" let spiPath = codeDir </> $"{moduleName}.spi" let spirCode, spiCode = match input with | Spi (spi, Some spir) -> Some spir, Some spi | Spi (spi, None) -> None, Some spi | Spir spir -> Some spir, None match spirCode with | Some spir -> do! spir |> SpiralFileSystem.write_all_text_exists spirPath | None -> () match spiCode with | Some spi -> do! spi |> SpiralFileSystem.write_all_text_exists spiPath | None -> () let spiralPath = match input with | Spi _ -> spiPath | Spir _ -> spirPath match backend with | None -> return spiralPath, None | Some backend -> let outputFileName = let fileName = match input with | Spi _ -> moduleName | Spir _ -> $"real_{moduleName}" match backend with | Fsharp -> $"{fileName}.fsx" | Cuda -> $"{fileName}.py" let outputPath = codeDir </> outputFileName if outputPath |> System.IO.File.Exists |> not then return spiralPath, None else let! oldCode = spiralPath |> SpiralFileSystem.read_all_text_async if oldCode <> (spiCode |> Option.defaultValue (spirCode |> Option.defaultValue "")) then return spiralPath, None else let! outputCode = outputPath |> SpiralFileSystem.read_all_text_async return spiralPath, Some (outputPath, outputCode |> SpiralSm.replace "\r\n" "\n") } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### buildCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let buildCode backend isCache timeout cancellationToken input = async { let! mainPath, outputCache = input |> persistCode (Some backend) match outputCache with | Some (outputPath, outputCode) when isCache -> return mainPath, (outputPath, Some outputCode), [[]] | _ -> let! outputPath, (outputCode, errors) = mainPath |> buildFile backend timeout None cancellationToken return mainPath, (outputPath, outputCode), errors } ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl app () = console.write_line "text" 1i32 inl main () = app |> dyn |> ignore """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 15000 None |> Async.runWithTimeout 15000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( Some """let rec closure0 () () : int32 = let v2 : (string -> unit) = System.Console.WriteLine let v3 : string = "text" v2 v3 1 let v0 : (unit -> int32) = closure0() () """, [[]] ) ) ╭─[ 3.92s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:09 verbose #1 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:07 debug #1 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:10 verbose #2 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #3 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:08 verbose #2 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:08 verbose #3 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:08 verbose #4 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:10 verbose #4 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #5 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #6 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #7 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #8 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #9 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #10 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #11 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #12 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #13 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #14 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #15 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #16 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #17 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #18 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #19 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #20 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #21 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #22 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #23 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #24 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #25 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:08 verbose #5 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:10 verbose #26 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #27 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #28 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #29 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:05 verbose #1 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:05 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: │ │ 13805 / retry: 0 │ │ 00:00:08 verbose #6 > Server bound to: http://localhost:13805 │ │ 00:00:05 debug #3 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 debug #4 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 debug #5 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 verbose #6 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl app () =\n console.write_line │ │ \u0022text\u0022\n 1i32\n\ninl main │ │ ...et/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69f2d6d04b │ │ 9dc60aebd08a0d6/main.spi"}} / result: │ │ 00:00:05 verbose #7 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69 │ │ f2d6d04b9dc60aebd08a0d6/main.spi"}} / result: │ │ 00:00:09 verbose #7 > 00:00:01 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #8 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #9 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #10 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #11 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #12 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #13 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #14 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #15 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:08 debug #16 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:08 debug #17 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:08 debug #18 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ let rec closure0 () () : int32 = │ │ let v2 : (string -> unit) = System.Console.WriteLine │ │ let v3 : string = "text" │ │ v2 v3 │ │ 1 │ │ let v0 : (unit -> int32) = closure0() │ │ () │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:08 debug #19 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ let rec closure0 () () : int32 = │ │ let v2 : (string -> unit) = System.Console.WriteLine │ │ let v3 : string = "text" │ │ v2 v3 │ │ 1 │ │ let v0 : (unit -> int32) = closure0() │ │ () │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:08 verbose #20 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22cc │ │ d04317d5605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6"]}} / result: │ │ 00:00:13 verbose #30 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:13 verbose #31 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:08 debug #21 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some │ │ (Some │ │ "let rec closure0 () () : int32 = │ │ let v2 : (string -> unit) = System.Console.WriteLine │ │ let v3 : string = "text" │ │ v2 v3 │ │ 1 │ │ let v0 : (unit -> int32) = closure0() │ │ () │ │ ", │ │ []) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test "" |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "Cannot find `main` in file main." ]] ) ) ╭─[ 3.23s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:13 verbose #32 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 debug #8 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:13 verbose #33 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #34 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:13 verbose #35 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 verbose #9 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:11 verbose #10 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:11 verbose #11 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:13 verbose #36 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #37 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #38 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #39 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #40 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #41 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #42 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #43 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #44 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #45 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #46 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #47 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #48 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #49 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #50 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #51 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #52 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #53 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #54 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #55 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 verbose #12 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:14 verbose #56 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #57 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #58 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #22 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:09 verbose #23 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:12 verbose #13 > Server bound to: http://localhost:13805 │ │ 00:00:09 debug #24 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #25 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #26 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 verbose #27 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"","uri":"file:///home/runner/work/polyglot/polyglot/ │ │ target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e68c0feb │ │ 33db55c4d28170aa/main.spi"}} / result: │ │ 00:00:09 verbose #28 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e │ │ 68c0feb33db55c4d28170aa/main.spi"}} / result: │ │ 00:00:12 verbose #14 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #29 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #30 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #31 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #32 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #33 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #34 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 debug #35 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 debug #36 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 debug #37 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((Cannot find `main` in file main., FatalError "Cannot find │ │ `main` in file main.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 debug #38 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "Cannot find `main` in file main.", │ │ { │ │ "FatalError": "Cannot find `main` in file main." │ │ } │ │ ] │ │ ] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 verbose #39 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a653 │ │ 42ccc7da0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa"]}} / result: │ │ 00:00:16 verbose #59 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:16 verbose #60 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 debug #40 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, ["Cannot find `main` in file main."]) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl main () = 1i32 / 0i32 """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "An attempt to divide by zero has been detected at compile time." ]] ) ) ╭─[ 3.10s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:16 verbose #61 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 debug #15 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:17 verbose #62 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #63 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:17 verbose #64 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #16 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:14 verbose #17 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:14 verbose #18 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:17 verbose #65 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #66 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #67 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #68 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #69 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #70 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #71 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #72 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #73 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #74 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #75 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #76 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #77 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #78 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #79 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #80 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #81 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #82 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #83 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #84 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #85 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #86 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:15 verbose #19 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:17 verbose #87 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #88 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #89 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:12 verbose #41 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:12 verbose #42 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:15 verbose #20 > Server bound to: http://localhost:13805 │ │ 00:00:12 debug #43 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #44 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #45 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 verbose #46 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │ │ 0i32\n","uri":"file:///home/runner/work/polyglot/p...et/spiral_Eval/packages │ │ /fef9812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi"} │ │ } / result: │ │ 00:00:12 verbose #47 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/fef9812d9b06b75b1ab26589e52c6d6ff05910b73 │ │ ead9e8c4f27f88d2a5cdfb2/main.spi"}} / result: │ │ 00:00:15 verbose #21 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #48 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #49 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #50 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #51 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #52 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #53 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #54 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #55 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #56 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((An attempt to divide by zero has been detected at compile │ │ time., TracedError │ │ { message = "An attempt to divide by zero has been detected at compile │ │ time." │ │ trace = │ │ ["Error trace on line: 1, column: 10 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ inl main () = │ │ ^ │ │ "; │ │ "Error trace on line: 2, column: 5 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ 1i32 / 0i32 │ │ ^ │ │ "] })) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #57 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "An attempt to divide by zero has been detected at compile time.", │ │ { │ │ "TracedError": { │ │ "message": "An attempt to divide by zero has been detected at │ │ compile time.", │ │ "trace": [ │ │ "Error trace on line: 1, column: 10 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ inl main () = │ │ ^ │ │ ", │ │ "Error trace on line: 2, column: 5 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ 1i32 / 0i32 │ │ ^ │ │ " │ │ ] │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 verbose #58 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9 │ │ 812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2"]}} / result: │ │ 00:00:19 verbose #90 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:19 verbose #91 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 debug #59 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, ["An attempt to divide by zero has been detected at compile │ │ time."]) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl main () = 1 + "" """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "main.spi: Constraint satisfaction error. Got: string Fails to satisfy: number" ]] ) ) ╭─[ 2.86s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:19 verbose #92 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 debug #22 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:20 verbose #93 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #94 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:20 verbose #95 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:18 verbose #23 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:18 verbose #24 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:18 verbose #25 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:20 verbose #96 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #97 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #98 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #99 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #100 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #101 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #102 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #103 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #104 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #105 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #106 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #107 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #108 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #109 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #110 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #111 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #112 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #113 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #114 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #115 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:18 verbose #26 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:20 verbose #116 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #117 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #118 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:15 verbose #60 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:15 verbose #61 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:18 verbose #27 > Server bound to: http://localhost:13805 │ │ 00:00:15 debug #62 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 debug #63 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 debug #64 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 verbose #65 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ │ / result: │ │ 00:00:15 verbose #66 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ │ 6e3655199e42df713504aa0/main.spi"}} / result: │ │ 00:00:18 verbose #28 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #67 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #68 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #69 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #70 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #71 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #72 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #73 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #74 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #75 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ │ error: Some((main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number, TypeErrors │ │ { errors = │ │ [(({ character = 8 │ │ line = 1 }, { character = 10 │ │ line = 1 }), │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number")] │ │ uri = │ │ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ │ path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #76 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number", │ │ { │ │ "TypeErrors": { │ │ "errors": [ │ │ [ │ │ [ │ │ { │ │ "character": 8, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 10, │ │ "line": 1 │ │ } │ │ ], │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number" │ │ ] │ │ ], │ │ "uri": │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:22 verbose #119 networking.test_port_open / { port = 13806; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 debug #77 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #78 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #79 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 verbose #80 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ │ / result: │ │ 00:00:17 verbose #81 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ │ 6e3655199e42df713504aa0/main.spi"}} / result: │ │ 00:00:20 verbose #29 > 00:00:02 debug #5 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #82 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: Some((main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number, TypeErrors │ │ { errors = │ │ [(({ character = 8 │ │ line = 1 }, { character = 10 │ │ line = 1 }), │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number")] │ │ uri = │ │ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ │ path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #83 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number", │ │ { │ │ "TypeErrors": { │ │ "errors": [ │ │ [ │ │ [ │ │ { │ │ "character": 8, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 10, │ │ "line": 1 │ │ } │ │ ], │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number" │ │ ] │ │ ], │ │ "uri": │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 verbose #84 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0"]}} / result: │ │ 00:00:17 debug #85 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ 00:00:22 verbose #120 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:22 verbose #121 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 debug #86 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, ["main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number"]) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl main () = x + y """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "main.spi: Unbound variable: x. Unbound variable: y." ]] ) ) ── fsharp ────────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ Expecto.AssertException: Testing.__expect.<br/> │ │ <span style="color: green;">expected</span>:<br/> │ │ Some (None, [<span style="color: green;">"main.spi:<br/> │ │ Unbound variable: x.<br/> │ │ Unbound variable: y."])</span><br/> │ │ <span style="color: red;"> actual</span>:<br/> │ │ Some (None, [<span style="color: red;">])</span><br/> │ │ at Expecto.Expect.equalWithDiffPrinter@401-15.Invoke(String msg)<br/> │ │ at Expecto.Expect.equalWithDiffPrinter$cont@383[a](FSharpFunc`2 │ │ diffPrinter, a actual, a expected, String message, Object e, Object a, Unit │ │ unitVar) in C:\workspaces\dotnet\expecto\Expecto\Expect.fs:line 401<br/> │ │ at Expecto.Expect.equalWithDiffPrinter[a](FSharpFunc`2 diffPrinter, a │ │ actual, a expected, String message)<br/> │ │ at <StartupCode$FSI_0050>.$FSI_0050.main@() │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─[ 3.74s - stderr ]───────────────────────────────────────────────────────────╮ │ 00:00:22 verbose #122 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 debug #30 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:23 verbose #123 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #124 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:23 verbose #125 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #31 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:20 verbose #32 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:20 verbose #33 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:23 verbose #126 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #127 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #128 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #129 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #130 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #131 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #132 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #133 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #134 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #135 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #136 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #137 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #138 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #139 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #140 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #141 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #142 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #143 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #144 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #145 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #146 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:21 verbose #34 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:23 verbose #147 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #148 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #149 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:18 verbose #87 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:18 verbose #88 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:21 verbose #35 > Server bound to: http://localhost:13805 │ │ 00:00:18 debug #89 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #90 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #91 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 verbose #92 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ │ / result: │ │ 00:00:18 verbose #93 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ │ 00:00:21 verbose #36 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #94 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #95 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #96 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #97 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #98 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #99 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #100 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #101 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #102 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ │ error: Some((main.spi: │ │ Unbound variable: x. │ │ Unbound variable: y., TypeErrors │ │ { errors = │ │ [(({ character = 4 │ │ line = 1 }, { character = 5 │ │ line = 1 }), "Unbound variable: x."); │ │ (({ character = 8 │ │ line = 1 }, { character = 9 │ │ line = 1 }), "Unbound variable: y.")] │ │ uri = │ │ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" })) / │ │ path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #103 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "main.spi: │ │ Unbound variable: x. │ │ Unbound variable: y.", │ │ { │ │ "TypeErrors": { │ │ "errors": [ │ │ [ │ │ [ │ │ { │ │ "character": 4, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 5, │ │ "line": 1 │ │ } │ │ ], │ │ "Unbound variable: x." │ │ ], │ │ [ │ │ [ │ │ { │ │ "character": 8, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 9, │ │ "line": 1 │ │ } │ │ ], │ │ "Unbound variable: y." │ │ ] │ │ ], │ │ "uri": │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:25 verbose #150 networking.test_port_open / { port = 13806; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 debug #104 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #105 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #106 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 verbose #107 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ │ / result: │ │ 00:00:20 verbose #108 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ │ 00:00:23 verbose #37 > 00:00:02 debug #5 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #109 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #110 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #111 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #112 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 2 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:21 debug #113 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 2 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:21 debug #114 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 3 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:21 verbose #115 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1"]}} / result: │ │ 00:00:21 debug #116 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ 00:00:26 verbose #151 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:26 verbose #152 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:21 debug #117 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, []) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ NotebookRunner.RunNotebookAsync / exiting... 3 NotebookRunner.RunNotebookAsync / exiting... 2 NotebookRunner.RunNotebookAsync / exiting... 1; retry = 1/3 } 00:00:35 debug #5 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Supervisor (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com > mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli > ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ > 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" > #r > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha > rp.Json.dll" > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### sendJson │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendJson (port : int) (json : string) = async { > let host = "127.0.0.1" > let! portOpen = SpiralNetworking.test_port_open host port > if portOpen then > try > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() > do! connection.StartAsync () |> Async.AwaitTask > let! result = connection.InvokeAsync<string>("ClientToServerMsg", > json) |> Async.AwaitTask > do! connection.StopAsync () |> Async.AwaitTask > trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> > Option.map (SpiralSm.ellipsis_end 200)}") _locals > return Some result > with ex -> > trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> > SpiralSm.format_exception}") _locals > return None > else > trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: port > not open") _locals > return None > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### sendObj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendObj port obj = > obj > |> System.Text.Json.JsonSerializer.Serialize > |> sendJson port > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### VSCPos │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCPos = {| line : int; character : int |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### VSCRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCRange = VSCPos * VSCPos > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### RString │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type RString = VSCRange * string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### TracedError │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type TracedError = {| trace : string list; message : string |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### ClientErrorsRes │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type ClientErrorsRes = > | FatalError of string > | TracedError of TracedError > | PackageErrors of {| uri : string; errors : RString list |} > | TokenizerErrors of {| uri : string; errors : RString list |} > | ParserErrors of {| uri : string; errors : RString list |} > | TypeErrors of {| uri : string; errors : RString list |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### workspaceRoot │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### awaitCompiler │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline awaitCompiler port cancellationToken = async { > let host = "127.0.0.1" > let struct (ct, disposable) = cancellationToken |> > SpiralThreading.new_disposable_token > let! ct = ct |> SpiralAsync.merge_cancellation_token_with_default_async > > let compiler = MailboxProcessor.Start (fun inbox -> async { > let! availablePort = SpiralNetworking.get_available_port (Some 180) host > port > if availablePort <> port then > inbox.Post (port, false) > else > let compilerPath = > workspaceRoot </> "deps/The-Spiral-Language/The Spiral Language > 2/artifacts/bin/The Spiral Language 2/release" > |> System.IO.Path.GetFullPath > > let dllPath = compilerPath </> "Spiral.dll" > > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = $@"dotnet ""{dllPath}"" --port {availablePort} > --default-int i32 --default-float f64" > l1 = Some ct > l3 = Some (fun struct (_, line, _) -> async { > if line |> SpiralSm.contains > $"System.IO.IOException: Failed to bind to address http://{host}:{port}: address > already in use." then > inbox.Post (port, false) > > if line |> SpiralSm.contains $"Server bound to: > http://localhost:{availablePort}" then > let rec loop retry = async { > do! > SpiralNetworking.wait_for_port_access > (Some 100) true host availablePort > |> Async.runWithTimeoutAsync 500 > |> Async.Ignore > > let _locals () = $"port: {availablePort} / > retry: {retry} / {_locals ()}" > try > let pingObj = {| Ping = true |} > let! pingResult = pingObj |> sendObj > availablePort > trace Verbose (fun () -> $"awaitCompiler > / Ping / result: '{pingResult}'") _locals > > inbox.Post (availablePort, true) > with ex -> > trace Verbose (fun () -> $"awaitCompiler > / Ping / ex: {ex |> SpiralSm.format_exception}") _locals > do! Async.Sleep 10 > do! loop (retry + 1) > } > do! loop 0 > }) > l6 = Some workspaceRoot > } > ) > |> SpiralRuntime.execute_with_options_async > > trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / > result: {result}") _locals > disposable.Dispose () > }, ct) > > let! serverPort, managed = compiler.Receive () > > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{serverPort}").Build () > do! connection.StartAsync () |> Async.AwaitTask > > let event = Event<_> () > let disposable' = connection.On<string> ("ServerToClientMsg", event.Trigger) > let stream = > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > let! msg = event.Publish |> Async.AwaitEvent > return Some (msg |> > FSharp.Json.Json.deserialize<ClientErrorsRes>, ()) > }) > () > > let disposable' = > new_disposable (fun () -> > async { > disposable'.Dispose () > do! connection.StopAsync () |> Async.AwaitTask > disposable.Dispose () > if managed > then do! > SpiralNetworking.wait_for_port_access (Some 100) false host > serverPort > |> Async.runWithTimeoutAsync 1500 > |> Async.Ignore > } > |> Async.RunSynchronously > ) > > return > serverPort, > stream, > ct, > disposable' > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### getFilePathFromUri │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getFilePathFromUri uri = > match System.Uri.TryCreate (uri, System.UriKind.Absolute) with > | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath > | _ -> failwith "invalid uri" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### getCompilerPort │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getCompilerPort () = > 13805 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### serialize_obj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let serializeObj obj = > try > obj > |> FSharp.Json.Json.serialize > |> SpiralSm.replace "\\\\" "\\" > |> SpiralSm.replace "\\r\\n" "\n" > |> SpiralSm.replace "\\n" "\n" > with ex -> > trace Critical (fun () -> "Supervisor.serialize_obj / obj: %A{obj}") > _locals > "" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### Backend │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Backend = > | Fsharp > | Cuda > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### buildFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildFile backend timeout port cancellationToken path = > let rec loop retry = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> SpiralFileSystem.read_all_text_async > > let stream, disposable = fileDir |> FileSystem.watchDirectory (fun _ -> > true) > use _ = disposable > > let struct (token, disposable) = SpiralThreading.new_disposable_token > cancellationToken > use _ = disposable > > let port = port |> Option.defaultWith getCompilerPort > let! serverPort, errors, ct, disposable = awaitCompiler port (Some > token) > use _ = disposable > > let outputFileName = > match backend with > | Fsharp -> $"{fileName}.fsx" > | Cuda -> $"{fileName}.py" > > let outputContentSeq = > stream > |> FSharp.Control.AsyncSeq.chooseAsync (function > | _, (FileSystem.FileSystemChange.Changed (path, Some text)) > when (path |> System.IO.Path.GetFileName) = outputFileName > -> > // fileDir </> path |> > SpiralFileSystem.read_all_text_retry_async > text |> Some |> Async.init > | _ -> None |> Async.init > ) > |> FSharp.Control.AsyncSeq.map (fun content -> > Some (content |> SpiralSm.replace "\r\n" "\n"), None > ) > > let inline printErrorData (data : {| uri : string; errors : RString list > |}) = > let fileName = data.uri |> System.IO.Path.GetFileName > let errors = > data.errors > |> List.map snd > |> SpiralSm.concat "\n" > $"{fileName}:\n{errors}" > > let errorsSeq = > errors > |> FSharp.Control.AsyncSeq.choose (fun error -> > match error with > | FatalError message -> > Some (message, error) > | TracedError data -> > Some (data.message, error) > | PackageErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TokenizerErrors data when data.errors |> List.isEmpty |> not > -> > Some (data |> printErrorData, error) > | ParserErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TypeErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | _ -> None > ) > |> FSharp.Control.AsyncSeq.map (fun (message, error) -> > None, Some (message, error) > ) > > let timerSeq = > 500 > |> FSharp.Control.AsyncSeq.intervalMs > |> FSharp.Control.AsyncSeq.map (fun _ -> None, None) > > let outputSeq = > [[ outputContentSeq; errorsSeq; timerSeq ]] > |> FSharp.Control.AsyncSeq.mergeAll > > let! outputChild = > ((None, [[]], 0), outputSeq) > ||> FSharp.Control.AsyncSeq.scan ( > fun (outputContentResult, errors, typeErrorCount) > (outputContent, error) -> > trace Debug (fun () -> $"Supervisor.buildFile / > AsyncSeq.scan / outputContent:\n{outputContent |> Option.defaultValue > System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> > serializeObj} / outputContentResult: {outputContentResult} / typeErrorCount: > {typeErrorCount} / retry: {retry} / error: {error} / path: {path}") _locals > match outputContent, error with > | Some outputContent, None -> Some outputContent, errors, > typeErrorCount > | None, Some (_, FatalError "File main has a type error > somewhere in its path.") -> > outputContentResult, errors, typeErrorCount + 1 > | None, Some error -> outputContentResult, error :: errors, > typeErrorCount > | None, None when typeErrorCount >= 1 -> > outputContentResult, errors, typeErrorCount + 1 > | _ -> outputContentResult, errors, typeErrorCount > ) > |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (outputContent, > errors, typeErrorCount) -> > trace Debug (fun () -> $"Supervisor.buildFile / > takeWhileInclusive / outputContent:\n{outputContent |> Option.defaultValue > System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> > serializeObj} / typeErrorCount: {typeErrorCount} / retry: {retry} / path: > {path}") _locals > #if INTERACTIVE > let errorWait = 2 > #else > let errorWait = 2 > #endif > match outputContent, errors with > | None, [[]] when typeErrorCount > errorWait -> false > | None, [[]] -> true > | _ -> false > ) > |> FSharp.Control.AsyncSeq.tryLast > |> Async.withCancellationToken ct > |> Async.catch > |> Async.runWithTimeoutAsync timeout > |> Async.StartChild > > // do! Async.Sleep 60 > > let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > > let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} > |} > let! _fileOpenResult = fileOpenObj |> sendObj serverPort > > // do! Async.Sleep 60 > > let backendId = > match backend with > | Fsharp -> "Fsharp" > | Cuda -> "Python + Cuda" > let buildFileObj = {| BuildFile = {| uri = fullPathUri; backend = > backendId |} |} > let! _buildFileResult = buildFileObj |> sendObj serverPort > > let! result, typeErrorCount = > outputChild > |> Async.map (function > | Some (Ok (Some (outputCode, errors, typeErrorCount))) -> > (outputCode, errors |> List.distinct |> List.rev), > typeErrorCount > | Some (Error ex) -> > trace Critical (fun () -> $"Supervisor.buildFile / error: > {ex |> SpiralSm.format_exception} / retry: {retry}") _locals > (None, [[]]), 0 > | _ -> (None, [[]]), 0 > ) > > match result with > | None, _ when typeErrorCount > 0 && retry = 0 -> > return! loop (retry + 1) > | _ -> > if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then > let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] > |} |} > let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort > () > > let outputPath = fileDir </> outputFileName > return outputPath, result > } > loop 0 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### SpiralInput │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type SpiralInput = > | Spi of string * string option > | Spir of string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### persistCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistCode backend input = async { > let targetDir = workspaceRoot </> "target/spiral_Eval" > > let packagesDir = targetDir </> "packages" > > let hashHex = $"%A{backend}%A{input}" |> SpiralCrypto.hash_text > > let codeDir = packagesDir </> hashHex > codeDir |> System.IO.Directory.CreateDirectory |> ignore > > let moduleName = "main" > > let spirModule, spiModule = > match input with > | Spi (spi, Some spir) -> true, true > | Spi (spi, None) -> false, true > | Spir spir -> true, false > |> fun (spir, spi) -> > (if spir then $"real_{moduleName}*-" else ""), > if spi then moduleName else "" > > let spiprojPath = codeDir </> "package.spiproj" > let spiprojCode = > $"""packageDir: {workspaceRoot </> "lib"} > packages: > |core- > spiral- > modules: > {spirModule} > {spiModule} > """ > do! spiprojCode |> SpiralFileSystem.write_all_text_exists spiprojPath > > let spirPath = codeDir </> $"real_{moduleName}.spir" > let spiPath = codeDir </> $"{moduleName}.spi" > > let spirCode, spiCode = > match input with > | Spi (spi, Some spir) -> Some spir, Some spi > | Spi (spi, None) -> None, Some spi > | Spir spir -> Some spir, None > > match spirCode with > | Some spir -> do! spir |> SpiralFileSystem.write_all_text_exists spirPath > | None -> () > match spiCode with > | Some spi -> do! spi |> SpiralFileSystem.write_all_text_exists spiPath > | None -> () > > let spiralPath = > match input with > | Spi _ -> spiPath > | Spir _ -> spirPath > match backend with > | None -> return spiralPath, None > | Some backend -> > let outputFileName = > let fileName = > match input with > | Spi _ -> moduleName > | Spir _ -> $"real_{moduleName}" > match backend with > | Fsharp -> $"{fileName}.fsx" > | Cuda -> $"{fileName}.py" > let outputPath = codeDir </> outputFileName > if outputPath |> System.IO.File.Exists |> not > then return spiralPath, None > else > let! oldCode = spiralPath |> SpiralFileSystem.read_all_text_async > if oldCode <> (spiCode |> Option.defaultValue (spirCode |> > Option.defaultValue "")) > then return spiralPath, None > else > let! outputCode = outputPath |> > SpiralFileSystem.read_all_text_async > return spiralPath, Some (outputPath, outputCode |> > SpiralSm.replace "\r\n" "\n") > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### buildCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let buildCode backend isCache timeout cancellationToken input = async { > let! mainPath, outputCache = input |> persistCode (Some backend) > match outputCache with > | Some (outputPath, outputCode) when isCache -> return mainPath, > (outputPath, Some outputCode), [[]] > | _ -> > let! outputPath, (outputCode, errors) = mainPath |> buildFile backend > timeout None cancellationToken > return mainPath, (outputPath, outputCode), errors > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl app () = > console.write_line "text" > 1i32 > > inl main () = > app > |> dyn > |> ignore > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 15000 None > |> Async.runWithTimeout 15000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some """let rec closure0 () () : int32 = > let v2 : (string -> unit) = System.Console.WriteLine > let v3 : string = "text" > v2 v3 > 1 > let v0 : (unit -> int32) = closure0() > () > """, > [[]] > ) > ) > > ╭─[ 3.83s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:09 verbose #1 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:07 debug #1 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:09 verbose #2 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #3 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:07 verbose #2 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:07 verbose #3 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:07 verbose #4 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:09 verbose #4 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #5 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #6 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #7 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #8 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #9 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #10 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #11 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #12 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #13 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #14 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #15 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #16 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #17 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #18 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #19 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #20 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #21 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #22 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #23 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:07 verbose #5 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:10 verbose #24 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #25 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #26 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:05 verbose #1 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:05 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:08 verbose #6 > Server bound to: http://localhost:13805 │ > │ 00:00:05 debug #3 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #4 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #5 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 verbose #6 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl app () =\n console.write_line │ > │ \u0022text\u0022\n 1i32\n\ninl main │ > │ ...et/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69f2d6d04b │ > │ 9dc60aebd08a0d6/main.spi"}} / result: │ > │ 00:00:05 verbose #7 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69 │ > │ f2d6d04b9dc60aebd08a0d6/main.spi"}} / result: │ > │ 00:00:08 verbose #7 > 00:00:01 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #8 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #9 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #10 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #11 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #12 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #13 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #14 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #15 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #16 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #17 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #18 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #19 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 verbose #20 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22cc │ > │ d04317d5605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6"]}} / result: │ > │ 00:00:13 verbose #27 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:13 verbose #28 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:08 debug #21 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some │ > │ (Some │ > │ "let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ ", │ > │ []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "" > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "Cannot find `main` in file main." ]] > ) > ) > > ╭─[ 3.33s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:13 verbose #29 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 debug #8 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:13 verbose #30 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #31 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:13 verbose #32 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #33 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 verbose #9 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:11 verbose #10 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:11 verbose #11 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:13 verbose #34 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #35 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #36 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #37 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #38 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #39 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #40 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #41 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #42 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #43 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #44 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #45 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #46 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #47 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #48 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #49 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #50 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #51 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #52 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #53 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #54 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #55 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #56 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #57 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #58 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #59 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 verbose #12 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:13 verbose #60 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #61 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #62 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #63 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:08 verbose #22 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:08 verbose #23 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:11 verbose #13 > Server bound to: http://localhost:13805 │ > │ 00:00:08 debug #24 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:08 debug #25 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:08 debug #26 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:08 verbose #27 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"","uri":"file:///home/runner/work/polyglot/polyglot/ │ > │ target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e68c0feb │ > │ 33db55c4d28170aa/main.spi"}} / result: │ > │ 00:00:08 verbose #28 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e │ > │ 68c0feb33db55c4d28170aa/main.spi"}} / result: │ > │ 00:00:12 verbose #14 > 00:00:01 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #29 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #30 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #31 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #32 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #33 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #34 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #35 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #36 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #37 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((Cannot find `main` in file main., FatalError "Cannot find │ > │ `main` in file main.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #38 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "Cannot find `main` in file main.", │ > │ { │ > │ "FatalError": "Cannot find `main` in file main." │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 verbose #39 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a653 │ > │ 42ccc7da0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa"]}} / result: │ > │ 00:00:16 verbose #64 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:16 verbose #65 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 debug #40 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["Cannot find `main` in file main."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1i32 / 0i32 > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "An attempt to divide by zero has been detected at compile time." ]] > ) > ) > > ╭─[ 3.12s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:16 verbose #66 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 debug #15 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:16 verbose #67 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:16 verbose #68 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:16 verbose #69 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #16 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:14 verbose #17 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:14 verbose #18 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:16 verbose #70 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:16 verbose #71 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:16 verbose #72 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:16 verbose #73 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:16 verbose #74 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:16 verbose #75 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #76 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #77 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #78 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #79 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #80 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #81 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #82 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #83 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #84 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #85 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #86 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #87 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #88 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #89 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #90 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #19 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:17 verbose #91 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #92 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #93 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:12 verbose #41 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:12 verbose #42 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:15 verbose #20 > Server bound to: http://localhost:13805 │ > │ 00:00:12 debug #43 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #44 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #45 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 verbose #46 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │ > │ 0i32\n","uri":"file:///home/runner/work/polyglot/p...et/spiral_Eval/packages │ > │ /fef9812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi"} │ > │ } / result: │ > │ 00:00:12 verbose #47 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/fef9812d9b06b75b1ab26589e52c6d6ff05910b73 │ > │ ead9e8c4f27f88d2a5cdfb2/main.spi"}} / result: │ > │ 00:00:15 verbose #21 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #48 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #49 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #50 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #51 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #52 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #53 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #54 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #55 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #56 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((An attempt to divide by zero has been detected at compile │ > │ time., TracedError │ > │ { message = "An attempt to divide by zero has been detected at compile │ > │ time." │ > │ trace = │ > │ ["Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ inl main () = │ > │ ^ │ > │ "; │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ "] })) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #57 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "An attempt to divide by zero has been detected at compile time.", │ > │ { │ > │ "TracedError": { │ > │ "message": "An attempt to divide by zero has been detected at │ > │ compile time.", │ > │ "trace": [ │ > │ "Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ inl main () = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ " │ > │ ] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 verbose #58 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9 │ > │ 812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2"]}} / result: │ > │ 00:00:19 verbose #94 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:19 verbose #95 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 debug #59 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["An attempt to divide by zero has been detected at compile │ > │ time."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1 + "" > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Constraint satisfaction error. > Got: string > Fails to satisfy: number" > ]] > ) > ) > > ╭─[ 2.85s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:19 verbose #96 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #22 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:20 verbose #97 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #98 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:20 verbose #99 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #23 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:17 verbose #24 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:17 verbose #25 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:20 verbose #100 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #101 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #102 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #103 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #104 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #105 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #106 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #107 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #108 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #109 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #110 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #111 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #112 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #113 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #114 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #115 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #116 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #117 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #118 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #119 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #26 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:20 verbose #120 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #121 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #122 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:15 verbose #60 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:15 verbose #61 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:18 verbose #27 > Server bound to: http://localhost:13805 │ > │ 00:00:15 debug #62 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #63 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #64 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 verbose #65 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ > │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ > │ / result: │ > │ 00:00:15 verbose #66 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ > │ 6e3655199e42df713504aa0/main.spi"}} / result: │ > │ 00:00:18 verbose #28 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #67 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #68 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #69 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #70 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #71 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #72 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #73 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #74 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #75 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #76 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 2 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #77 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 2 / retry: 0 / │ > │ error: Some((main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number, TypeErrors │ > │ { errors = │ > │ [(({ character = 8 │ > │ line = 1 }, { character = 10 │ > │ line = 1 }), │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #78 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 2 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:22 verbose #123 networking.test_port_open / { port = 13806; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #79 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #80 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #81 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #82 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ > │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ > │ / result: │ > │ 00:00:20 verbose #29 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #83 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #84 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #85 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ > │ error: Some((main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number, TypeErrors │ > │ { errors = │ > │ [(({ character = 8 │ > │ line = 1 }, { character = 10 │ > │ line = 1 }), │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #86 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #87 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ > │ 6e3655199e42df713504aa0/main.spi"}} / result: │ > │ 00:00:17 verbose #88 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0"]}} / result: │ > │ 00:00:17 debug #89 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ 00:00:22 verbose #124 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:22 verbose #125 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #90 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number"]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > x + y > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Unbound variable: x. > Unbound variable: y." > ]] > ) > ) > > ── fsharp ────────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ Expecto.AssertException: Testing.__expect.<br/> │ > │ <span style="color: green;">expected</span>:<br/> │ > │ Some (None, [<span style="color: green;">"main.spi:<br/> │ > │ Unbound variable: x.<br/> │ > │ Unbound variable: y."])</span><br/> │ > │ <span style="color: red;"> actual</span>:<br/> │ > │ Some (None, [<span style="color: red;">])</span><br/> │ > │ at Expecto.Expect.equalWithDiffPrinter@401-15.Invoke(String msg)<br/> │ > │ at Expecto.Expect.equalWithDiffPrinter$cont@383[a](FSharpFunc`2 │ > │ diffPrinter, a actual, a expected, String message, Object e, Object a, Unit │ > │ unitVar) in C:\workspaces\dotnet\expecto\Expecto\Expect.fs:line 401<br/> │ > │ at Expecto.Expect.equalWithDiffPrinter[a](FSharpFunc`2 diffPrinter, a │ > │ actual, a expected, String message)<br/> │ > │ at <StartupCode$FSI_0050>.$FSI_0050.main@() │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ╭─[ 3.71s - stderr ]───────────────────────────────────────────────────────────╮ > │ 00:00:22 verbose #126 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #30 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:22 verbose #127 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #128 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:22 verbose #129 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #31 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:20 verbose #32 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:20 verbose #33 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:22 verbose #130 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #131 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #132 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #133 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #134 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #135 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #136 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:22 verbose #137 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #138 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #139 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #140 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #141 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #142 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #143 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #144 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #145 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #146 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #147 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #148 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #149 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #34 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:23 verbose #150 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #151 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #152 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #91 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:18 verbose #92 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:21 verbose #35 > Server bound to: http://localhost:13805 │ > │ 00:00:18 debug #93 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #94 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #95 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 verbose #96 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ > │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ > │ / result: │ > │ 00:00:18 verbose #97 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ > │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ > │ 00:00:21 verbose #36 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #98 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #99 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #100 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #101 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #102 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #103 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #104 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #105 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #106 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ > │ error: Some((main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y., TypeErrors │ > │ { errors = │ > │ [(({ character = 4 │ > │ line = 1 }, { character = 5 │ > │ line = 1 }), "Unbound variable: x."); │ > │ (({ character = 8 │ > │ line = 1 }, { character = 9 │ > │ line = 1 }), "Unbound variable: y.")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #107 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y.", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 4, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 5, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: x." │ > │ ], │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 9, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: y." │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:25 verbose #153 networking.test_port_open / { port = 13806; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #108 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #109 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #110 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 verbose #111 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ > │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ > │ / result: │ > │ 00:00:22 verbose #37 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 verbose #112 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ > │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ > │ 00:00:20 debug #113 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #114 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #115 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #116 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 2 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:21 debug #117 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 2 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:21 debug #118 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 3 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:21 verbose #119 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1"]}} / result: │ > │ 00:00:21 debug #120 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ 00:00:26 verbose #154 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:26 verbose #155 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:21 debug #121 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > NotebookRunner.RunNotebookAsync / exiting... 3 > NotebookRunner.RunNotebookAsync / exiting... 2 > NotebookRunner.RunNotebookAsync / exiting... 1 00:01:10 verbose #6 runtime.execute_with_options / result / { exit_code = 137; std_trace_length = 183271 } 00:01:10 debug #7 spiral_builder.run / repl error / { exit_code = 137; repl_result = ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ # Supervisor (Polyglot) │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── #r @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan dard2.1/FSharp.Control.AsyncSeq.dll" #r @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 0/System.Reactive.dll" #r @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ netstandard2.0/System.Reactive.Linq.dll" #r @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" #r @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" #r @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha rp.Json.dll" ── fsharp ────────────────────────────────────────────────────────────────────── #if !INTERACTIVE open Lib #endif ── fsharp ────────────────────────────────────────────────────────────────────── open Common open SpiralFileSystem.Operators open Microsoft.AspNetCore.SignalR.Client ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### sendJson │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline sendJson (port : int) (json : string) = async { let host = "127.0.0.1" let! portOpen = SpiralNetworking.test_port_open host port if portOpen then try let connection = HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() do! connection.StartAsync () |> Async.AwaitTask let! result = connection.InvokeAsync<string>("ClientToServerMsg", json) |> Async.AwaitTask do! connection.StopAsync () |> Async.AwaitTask trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> Option.map (SpiralSm.ellipsis_end 200)}") _locals return Some result with ex -> trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> SpiralSm.format_exception}") _locals return None else trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: port not open") _locals return None } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### sendObj │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline sendObj port obj = obj |> System.Text.Json.JsonSerializer.Serialize |> sendJson port ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### VSCPos │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type VSCPos = {| line : int; character : int |} ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### VSCRange │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type VSCRange = VSCPos * VSCPos ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### RString │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type RString = VSCRange * string ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### TracedError │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type TracedError = {| trace : string list; message : string |} ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### ClientErrorsRes │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type ClientErrorsRes = | FatalError of string | TracedError of TracedError | PackageErrors of {| uri : string; errors : RString list |} | TokenizerErrors of {| uri : string; errors : RString list |} | ParserErrors of {| uri : string; errors : RString list |} | TypeErrors of {| uri : string; errors : RString list |} ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### workspaceRoot │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let workspaceRoot = SpiralFileSystem.get_workspace_root () ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### awaitCompiler │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline awaitCompiler port cancellationToken = async { let host = "127.0.0.1" let struct (ct, disposable) = cancellationToken |> SpiralThreading.new_disposable_token let! ct = ct |> SpiralAsync.merge_cancellation_token_with_default_async let compiler = MailboxProcessor.Start (fun inbox -> async { let! availablePort = SpiralNetworking.get_available_port (Some 180) host port if availablePort <> port then inbox.Post (port, false) else let compilerPath = workspaceRoot </> "deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release" |> System.IO.Path.GetFullPath let dllPath = compilerPath </> "Spiral.dll" let! exitCode, result = SpiralRuntime.execution_options (fun x -> { x with l0 = $@"dotnet ""{dllPath}"" --port {availablePort} --default-int i32 --default-float f64" l1 = Some ct l3 = Some (fun struct (_, line, _) -> async { if line |> SpiralSm.contains $"System.IO.IOException: Failed to bind to address http://{host}:{port}: address already in use." then inbox.Post (port, false) if line |> SpiralSm.contains $"Server bound to: http://localhost:{availablePort}" then let rec loop retry = async { do! SpiralNetworking.wait_for_port_access (Some 100) true host availablePort |> Async.runWithTimeoutAsync 500 |> Async.Ignore let _locals () = $"port: {availablePort} / retry: {retry} / {_locals ()}" try let pingObj = {| Ping = true |} let! pingResult = pingObj |> sendObj availablePort trace Verbose (fun () -> $"awaitCompiler / Ping / result: '{pingResult}'") _locals inbox.Post (availablePort, true) with ex -> trace Verbose (fun () -> $"awaitCompiler / Ping / ex: {ex |> SpiralSm.format_exception}") _locals do! Async.Sleep 10 do! loop (retry + 1) } do! loop 0 }) l6 = Some workspaceRoot } ) |> SpiralRuntime.execute_with_options_async trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / result: {result}") _locals disposable.Dispose () }, ct) let! serverPort, managed = compiler.Receive () let connection = HubConnectionBuilder().WithUrl($"http://{host}:{serverPort}").Build () do! connection.StartAsync () |> Async.AwaitTask let event = Event<_> () let disposable' = connection.On<string> ("ServerToClientMsg", event.Trigger) let stream = FSharp.Control.AsyncSeq.unfoldAsync (fun () -> async { let! msg = event.Publish |> Async.AwaitEvent return Some (msg |> FSharp.Json.Json.deserialize<ClientErrorsRes>, ()) }) () let disposable' = new_disposable (fun () -> async { disposable'.Dispose () do! connection.StopAsync () |> Async.AwaitTask disposable.Dispose () if managed then do! SpiralNetworking.wait_for_port_access (Some 100) false host serverPort |> Async.runWithTimeoutAsync 1500 |> Async.Ignore } |> Async.RunSynchronously ) return serverPort, stream, ct, disposable' } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### getFilePathFromUri │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline getFilePathFromUri uri = match System.Uri.TryCreate (uri, System.UriKind.Absolute) with | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath | _ -> failwith "invalid uri" ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### getCompilerPort │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline getCompilerPort () = 13805 ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### serialize_obj │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let serializeObj obj = try obj |> FSharp.Json.Json.serialize |> SpiralSm.replace "\\\\" "\\" |> SpiralSm.replace "\\r\\n" "\n" |> SpiralSm.replace "\\n" "\n" with ex -> trace Critical (fun () -> "Supervisor.serialize_obj / obj: %A{obj}") _locals "" ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### Backend │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type Backend = | Fsharp | Cuda ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### buildFile │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline buildFile backend timeout port cancellationToken path = let rec loop retry = async { let fullPath = path |> System.IO.Path.GetFullPath let fileDir = fullPath |> System.IO.Path.GetDirectoryName let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension let! code = fullPath |> SpiralFileSystem.read_all_text_async let stream, disposable = fileDir |> FileSystem.watchDirectory (fun _ -> true) use _ = disposable let struct (token, disposable) = SpiralThreading.new_disposable_token cancellationToken use _ = disposable let port = port |> Option.defaultWith getCompilerPort let! serverPort, errors, ct, disposable = awaitCompiler port (Some token) use _ = disposable let outputFileName = match backend with | Fsharp -> $"{fileName}.fsx" | Cuda -> $"{fileName}.py" let outputContentSeq = stream |> FSharp.Control.AsyncSeq.chooseAsync (function | _, (FileSystem.FileSystemChange.Changed (path, Some text)) when (path |> System.IO.Path.GetFileName) = outputFileName -> // fileDir </> path |> SpiralFileSystem.read_all_text_retry_async text |> Some |> Async.init | _ -> None |> Async.init ) |> FSharp.Control.AsyncSeq.map (fun content -> Some (content |> SpiralSm.replace "\r\n" "\n"), None ) let inline printErrorData (data : {| uri : string; errors : RString list |}) = let fileName = data.uri |> System.IO.Path.GetFileName let errors = data.errors |> List.map snd |> SpiralSm.concat "\n" $"{fileName}:\n{errors}" let errorsSeq = errors |> FSharp.Control.AsyncSeq.choose (fun error -> match error with | FatalError message -> Some (message, error) | TracedError data -> Some (data.message, error) | PackageErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | TokenizerErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | ParserErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | TypeErrors data when data.errors |> List.isEmpty |> not -> Some (data |> printErrorData, error) | _ -> None ) |> FSharp.Control.AsyncSeq.map (fun (message, error) -> None, Some (message, error) ) let timerSeq = 500 |> FSharp.Control.AsyncSeq.intervalMs |> FSharp.Control.AsyncSeq.map (fun _ -> None, None) let outputSeq = [[ outputContentSeq; errorsSeq; timerSeq ]] |> FSharp.Control.AsyncSeq.mergeAll let! outputChild = ((None, [[]], 0), outputSeq) ||> FSharp.Control.AsyncSeq.scan ( fun (outputContentResult, errors, typeErrorCount) (outputContent, error) -> trace Debug (fun () -> $"Supervisor.buildFile / AsyncSeq.scan / outputContent:\n{outputContent |> Option.defaultValue System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> serializeObj} / outputContentResult: {outputContentResult} / typeErrorCount: {typeErrorCount} / retry: {retry} / error: {error} / path: {path}") _locals match outputContent, error with | Some outputContent, None -> Some outputContent, errors, typeErrorCount | None, Some (_, FatalError "File main has a type error somewhere in its path.") -> outputContentResult, errors, typeErrorCount + 1 | None, Some error -> outputContentResult, error :: errors, typeErrorCount | None, None when typeErrorCount >= 1 -> outputContentResult, errors, typeErrorCount + 1 | _ -> outputContentResult, errors, typeErrorCount ) |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (outputContent, errors, typeErrorCount) -> trace Debug (fun () -> $"Supervisor.buildFile / takeWhileInclusive / outputContent:\n{outputContent |> Option.defaultValue System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> serializeObj} / typeErrorCount: {typeErrorCount} / retry: {retry} / path: {path}") _locals #if INTERACTIVE let errorWait = 2 #else let errorWait = 2 #endif match outputContent, errors with | None, [[]] when typeErrorCount > errorWait -> false | None, [[]] -> true | _ -> false ) |> FSharp.Control.AsyncSeq.tryLast |> Async.withCancellationToken ct |> Async.catch |> Async.runWithTimeoutAsync timeout |> Async.StartChild // do! Async.Sleep 60 let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> SpiralFileSystem.new_file_uri let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} |} let! _fileOpenResult = fileOpenObj |> sendObj serverPort // do! Async.Sleep 60 let backendId = match backend with | Fsharp -> "Fsharp" | Cuda -> "Python + Cuda" let buildFileObj = {| BuildFile = {| uri = fullPathUri; backend = backendId |} |} let! _buildFileResult = buildFileObj |> sendObj serverPort let! result, typeErrorCount = outputChild |> Async.map (function | Some (Ok (Some (outputCode, errors, typeErrorCount))) -> (outputCode, errors |> List.distinct |> List.rev), typeErrorCount | Some (Error ex) -> trace Critical (fun () -> $"Supervisor.buildFile / error: {ex |> SpiralSm.format_exception} / retry: {retry}") _locals (None, [[]]), 0 | _ -> (None, [[]]), 0 ) match result with | None, _ when typeErrorCount > 0 && retry = 0 -> return! loop (retry + 1) | _ -> if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> SpiralFileSystem.new_file_uri let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] |} |} let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort () let outputPath = fileDir </> outputFileName return outputPath, result } loop 0 ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### SpiralInput │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── type SpiralInput = | Spi of string * string option | Spir of string ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### persistCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let inline persistCode backend input = async { let targetDir = workspaceRoot </> "target/spiral_Eval" let packagesDir = targetDir </> "packages" let hashHex = $"%A{backend}%A{input}" |> SpiralCrypto.hash_text let codeDir = packagesDir </> hashHex codeDir |> System.IO.Directory.CreateDirectory |> ignore let moduleName = "main" let spirModule, spiModule = match input with | Spi (spi, Some spir) -> true, true | Spi (spi, None) -> false, true | Spir spir -> true, false |> fun (spir, spi) -> (if spir then $"real_{moduleName}*-" else ""), if spi then moduleName else "" let spiprojPath = codeDir </> "package.spiproj" let spiprojCode = $"""packageDir: {workspaceRoot </> "lib"} packages: |core- spiral- modules: {spirModule} {spiModule} """ do! spiprojCode |> SpiralFileSystem.write_all_text_exists spiprojPath let spirPath = codeDir </> $"real_{moduleName}.spir" let spiPath = codeDir </> $"{moduleName}.spi" let spirCode, spiCode = match input with | Spi (spi, Some spir) -> Some spir, Some spi | Spi (spi, None) -> None, Some spi | Spir spir -> Some spir, None match spirCode with | Some spir -> do! spir |> SpiralFileSystem.write_all_text_exists spirPath | None -> () match spiCode with | Some spi -> do! spi |> SpiralFileSystem.write_all_text_exists spiPath | None -> () let spiralPath = match input with | Spi _ -> spiPath | Spir _ -> spirPath match backend with | None -> return spiralPath, None | Some backend -> let outputFileName = let fileName = match input with | Spi _ -> moduleName | Spir _ -> $"real_{moduleName}" match backend with | Fsharp -> $"{fileName}.fsx" | Cuda -> $"{fileName}.py" let outputPath = codeDir </> outputFileName if outputPath |> System.IO.File.Exists |> not then return spiralPath, None else let! oldCode = spiralPath |> SpiralFileSystem.read_all_text_async if oldCode <> (spiCode |> Option.defaultValue (spirCode |> Option.defaultValue "")) then return spiralPath, None else let! outputCode = outputPath |> SpiralFileSystem.read_all_text_async return spiralPath, Some (outputPath, outputCode |> SpiralSm.replace "\r\n" "\n") } ── markdown ──────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ ### buildCode │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── let buildCode backend isCache timeout cancellationToken input = async { let! mainPath, outputCache = input |> persistCode (Some backend) match outputCache with | Some (outputPath, outputCode) when isCache -> return mainPath, (outputPath, Some outputCode), [[]] | _ -> let! outputPath, (outputCode, errors) = mainPath |> buildFile backend timeout None cancellationToken return mainPath, (outputPath, outputCode), errors } ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl app () = console.write_line "text" 1i32 inl main () = app |> dyn |> ignore """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 15000 None |> Async.runWithTimeout 15000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( Some """let rec closure0 () () : int32 = let v2 : (string -> unit) = System.Console.WriteLine let v3 : string = "text" v2 v3 1 let v0 : (unit -> int32) = closure0() () """, [[]] ) ) ╭─[ 3.83s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:09 verbose #1 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:07 debug #1 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:09 verbose #2 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #3 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:07 verbose #2 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:07 verbose #3 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:07 verbose #4 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:09 verbose #4 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #5 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #6 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #7 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #8 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #9 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #10 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #11 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #12 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:09 verbose #13 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #14 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #15 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #16 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #17 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #18 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #19 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #20 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #21 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #22 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #23 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:07 verbose #5 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:10 verbose #24 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #25 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:10 verbose #26 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:05 verbose #1 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:05 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: │ │ 13805 / retry: 0 │ │ 00:00:08 verbose #6 > Server bound to: http://localhost:13805 │ │ 00:00:05 debug #3 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 debug #4 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 debug #5 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 verbose #6 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl app () =\n console.write_line │ │ \u0022text\u0022\n 1i32\n\ninl main │ │ ...et/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69f2d6d04b │ │ 9dc60aebd08a0d6/main.spi"}} / result: │ │ 00:00:05 verbose #7 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69 │ │ f2d6d04b9dc60aebd08a0d6/main.spi"}} / result: │ │ 00:00:08 verbose #7 > 00:00:01 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 debug #8 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:05 debug #9 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #10 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #11 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #12 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:06 debug #13 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #14 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #15 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #16 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #17 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #18 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ let rec closure0 () () : int32 = │ │ let v2 : (string -> unit) = System.Console.WriteLine │ │ let v3 : string = "text" │ │ v2 v3 │ │ 1 │ │ let v0 : (unit -> int32) = closure0() │ │ () │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 debug #19 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ let rec closure0 () () : int32 = │ │ let v2 : (string -> unit) = System.Console.WriteLine │ │ let v3 : string = "text" │ │ v2 v3 │ │ 1 │ │ let v0 : (unit -> int32) = closure0() │ │ () │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ │ 00:00:07 verbose #20 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22cc │ │ d04317d5605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6"]}} / result: │ │ 00:00:13 verbose #27 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:13 verbose #28 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:08 debug #21 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some │ │ (Some │ │ "let rec closure0 () () : int32 = │ │ let v2 : (string -> unit) = System.Console.WriteLine │ │ let v3 : string = "text" │ │ v2 v3 │ │ 1 │ │ let v0 : (unit -> int32) = closure0() │ │ () │ │ ", │ │ []) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test "" |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "Cannot find `main` in file main." ]] ) ) ╭─[ 3.33s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:13 verbose #29 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 debug #8 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:13 verbose #30 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #31 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:13 verbose #32 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #33 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 verbose #9 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:11 verbose #10 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:11 verbose #11 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:13 verbose #34 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #35 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #36 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #37 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #38 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #39 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #40 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #41 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #42 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #43 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #44 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #45 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #46 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #47 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #48 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #49 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #50 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #51 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #52 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #53 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #54 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #55 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #56 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #57 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #58 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #59 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 verbose #12 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:13 verbose #60 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #61 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #62 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:13 verbose #63 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:08 verbose #22 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:08 verbose #23 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:11 verbose #13 > Server bound to: http://localhost:13805 │ │ 00:00:08 debug #24 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:08 debug #25 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:08 debug #26 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:08 verbose #27 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"","uri":"file:///home/runner/work/polyglot/polyglot/ │ │ target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e68c0feb │ │ 33db55c4d28170aa/main.spi"}} / result: │ │ 00:00:08 verbose #28 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e │ │ 68c0feb33db55c4d28170aa/main.spi"}} / result: │ │ 00:00:12 verbose #14 > 00:00:01 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #29 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #30 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #31 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:09 debug #32 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #33 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #34 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #35 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:10 debug #36 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 debug #37 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((Cannot find `main` in file main., FatalError "Cannot find │ │ `main` in file main.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 debug #38 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "Cannot find `main` in file main.", │ │ { │ │ "FatalError": "Cannot find `main` in file main." │ │ } │ │ ] │ │ ] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ │ 00:00:11 verbose #39 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a653 │ │ 42ccc7da0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa"]}} / result: │ │ 00:00:16 verbose #64 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:16 verbose #65 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:11 debug #40 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, ["Cannot find `main` in file main."]) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl main () = 1i32 / 0i32 """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "An attempt to divide by zero has been detected at compile time." ]] ) ) ╭─[ 3.12s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:16 verbose #66 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 debug #15 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:16 verbose #67 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:16 verbose #68 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:16 verbose #69 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #16 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:14 verbose #17 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:14 verbose #18 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:16 verbose #70 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:16 verbose #71 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:16 verbose #72 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:16 verbose #73 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:16 verbose #74 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:16 verbose #75 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #76 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #77 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #78 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #79 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #80 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #81 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #82 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #83 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #84 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #85 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #86 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #87 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #88 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #89 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #90 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 verbose #19 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:17 verbose #91 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #92 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #93 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:12 verbose #41 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:12 verbose #42 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:15 verbose #20 > Server bound to: http://localhost:13805 │ │ 00:00:12 debug #43 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #44 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #45 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 verbose #46 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │ │ 0i32\n","uri":"file:///home/runner/work/polyglot/p...et/spiral_Eval/packages │ │ /fef9812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi"} │ │ } / result: │ │ 00:00:12 verbose #47 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/fef9812d9b06b75b1ab26589e52c6d6ff05910b73 │ │ ead9e8c4f27f88d2a5cdfb2/main.spi"}} / result: │ │ 00:00:15 verbose #21 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #48 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:12 debug #49 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #50 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #51 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #52 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:13 debug #53 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #54 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #55 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #56 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((An attempt to divide by zero has been detected at compile │ │ time., TracedError │ │ { message = "An attempt to divide by zero has been detected at compile │ │ time." │ │ trace = │ │ ["Error trace on line: 1, column: 10 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ inl main () = │ │ ^ │ │ "; │ │ "Error trace on line: 2, column: 5 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ 1i32 / 0i32 │ │ ^ │ │ "] })) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 debug #57 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "An attempt to divide by zero has been detected at compile time.", │ │ { │ │ "TracedError": { │ │ "message": "An attempt to divide by zero has been detected at │ │ compile time.", │ │ "trace": [ │ │ "Error trace on line: 1, column: 10 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ inl main () = │ │ ^ │ │ ", │ │ "Error trace on line: 2, column: 5 in module: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ │ 1i32 / 0i32 │ │ ^ │ │ " │ │ ] │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ │ 00:00:14 verbose #58 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9 │ │ 812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2"]}} / result: │ │ 00:00:19 verbose #94 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:19 verbose #95 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:14 debug #59 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, ["An attempt to divide by zero has been detected at compile │ │ time."]) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl main () = 1 + "" """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "main.spi: Constraint satisfaction error. Got: string Fails to satisfy: number" ]] ) ) ╭─[ 2.85s - stdout ]───────────────────────────────────────────────────────────╮ │ 00:00:19 verbose #96 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 debug #22 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:20 verbose #97 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #98 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:20 verbose #99 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 verbose #23 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:17 verbose #24 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:17 verbose #25 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:20 verbose #100 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #101 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #102 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #103 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #104 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #105 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #106 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #107 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #108 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #109 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #110 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #111 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #112 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #113 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #114 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #115 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #116 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #117 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #118 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #119 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:18 verbose #26 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:20 verbose #120 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #121 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #122 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:15 verbose #60 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:15 verbose #61 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:18 verbose #27 > Server bound to: http://localhost:13805 │ │ 00:00:15 debug #62 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 debug #63 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 debug #64 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 verbose #65 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ │ / result: │ │ 00:00:15 verbose #66 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ │ 6e3655199e42df713504aa0/main.spi"}} / result: │ │ 00:00:18 verbose #28 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 debug #67 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:15 debug #68 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #69 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #70 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #71 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:16 debug #72 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #73 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #74 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #75 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #76 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 2 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #77 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 2 / retry: 0 / │ │ error: Some((main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number, TypeErrors │ │ { errors = │ │ [(({ character = 8 │ │ line = 1 }, { character = 10 │ │ line = 1 }), │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number")] │ │ uri = │ │ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ │ path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #78 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number", │ │ { │ │ "TypeErrors": { │ │ "errors": [ │ │ [ │ │ [ │ │ { │ │ "character": 8, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 10, │ │ "line": 1 │ │ } │ │ ], │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number" │ │ ] │ │ ], │ │ "uri": │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 2 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:22 verbose #123 networking.test_port_open / { port = 13806; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 debug #79 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #80 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #81 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 verbose #82 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ │ / result: │ │ 00:00:20 verbose #29 > 00:00:02 debug #5 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #83 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #84 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #85 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ │ error: Some((main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number, TypeErrors │ │ { errors = │ │ [(({ character = 8 │ │ line = 1 }, { character = 10 │ │ line = 1 }), │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number")] │ │ uri = │ │ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ │ path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 debug #86 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number", │ │ { │ │ "TypeErrors": { │ │ "errors": [ │ │ [ │ │ [ │ │ { │ │ "character": 8, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 10, │ │ "line": 1 │ │ } │ │ ], │ │ "Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number" │ │ ] │ │ ], │ │ "uri": │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 1 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ │ 00:00:17 verbose #87 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ │ 6e3655199e42df713504aa0/main.spi"}} / result: │ │ 00:00:17 verbose #88 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0"]}} / result: │ │ 00:00:17 debug #89 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ 00:00:22 verbose #124 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:22 verbose #125 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:17 debug #90 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, ["main.spi: │ │ Constraint satisfaction error. │ │ Got: string │ │ Fails to satisfy: number"]) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ ── fsharp ────────────────────────────────────────────────────────────────────── //// test """inl main () = x + y """ |> fun code -> Spi (code, None) |> buildCode Fsharp false 10000 None |> Async.runWithTimeout 10000 |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> List.map fst) |> _assertEqual ( Some ( None, [[ "main.spi: Unbound variable: x. Unbound variable: y." ]] ) ) ── fsharp ────────────────────────────────────────────────────────────────────── ╭──────────────────────────────────────────────────────────────────────────────╮ │ Expecto.AssertException: Testing.__expect.<br/> │ │ <span style="color: green;">expected</span>:<br/> │ │ Some (None, [<span style="color: green;">"main.spi:<br/> │ │ Unbound variable: x.<br/> │ │ Unbound variable: y."])</span><br/> │ │ <span style="color: red;"> actual</span>:<br/> │ │ Some (None, [<span style="color: red;">])</span><br/> │ │ at Expecto.Expect.equalWithDiffPrinter@401-15.Invoke(String msg)<br/> │ │ at Expecto.Expect.equalWithDiffPrinter$cont@383[a](FSharpFunc`2 │ │ diffPrinter, a actual, a expected, String message, Object e, Object a, Unit │ │ unitVar) in C:\workspaces\dotnet\expecto\Expecto\Expect.fs:line 401<br/> │ │ at Expecto.Expect.equalWithDiffPrinter[a](FSharpFunc`2 diffPrinter, a │ │ actual, a expected, String message)<br/> │ │ at <StartupCode$FSI_0050>.$FSI_0050.main@() │ ╰──────────────────────────────────────────────────────────────────────────────╯ ╭─[ 3.71s - stderr ]───────────────────────────────────────────────────────────╮ │ 00:00:22 verbose #126 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 debug #30 runtime.execute_with_options_async / { options = { │ │ command = dotnet │ │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ │ Some "/home/runner/work/polyglot/polyglot" } } │ │ 00:00:22 verbose #127 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #128 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = true } │ │ 00:00:22 verbose #129 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #31 > 00:00:00 debug #1 pwd: │ │ /home/runner/work/polyglot/polyglot │ │ 00:00:20 verbose #32 > 00:00:00 debug #2 dllPath: │ │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ │ Language 2/artifacts/bin/The Spiral Language 2/release │ │ 00:00:20 verbose #33 > 00:00:00 debug #3 targetDir: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ │ 00:00:22 verbose #130 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #131 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #132 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #133 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #134 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #135 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #136 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:22 verbose #137 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #138 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #139 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #140 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #141 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #142 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #143 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #144 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #145 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #146 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #147 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #148 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #149 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 verbose #34 > Starting the Spiral Server. It is bound to: │ │ http://localhost:13805 │ │ 00:00:23 verbose #150 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #151 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:23 verbose #152 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:18 verbose #91 Supervisor.sendJson / port: 13805 / json: │ │ {"Ping":true} / result: │ │ 00:00:18 verbose #92 awaitCompiler / Ping / result: 'Some(null)' / │ │ port: 13805 / retry: 0 │ │ 00:00:21 verbose #35 > Server bound to: http://localhost:13805 │ │ 00:00:18 debug #93 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #94 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #95 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 verbose #96 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ │ / result: │ │ 00:00:18 verbose #97 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ │ 00:00:21 verbose #36 > 00:00:00 debug #4 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #98 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:18 debug #99 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #100 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #101 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #102 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #103 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #104 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:19 debug #105 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #106 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ │ error: Some((main.spi: │ │ Unbound variable: x. │ │ Unbound variable: y., TypeErrors │ │ { errors = │ │ [(({ character = 4 │ │ line = 1 }, { character = 5 │ │ line = 1 }), "Unbound variable: x."); │ │ (({ character = 8 │ │ line = 1 }, { character = 9 │ │ line = 1 }), "Unbound variable: y.")] │ │ uri = │ │ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" })) / │ │ path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #107 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [ │ │ [ │ │ "main.spi: │ │ Unbound variable: x. │ │ Unbound variable: y.", │ │ { │ │ "TypeErrors": { │ │ "errors": [ │ │ [ │ │ [ │ │ { │ │ "character": 4, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 5, │ │ "line": 1 │ │ } │ │ ], │ │ "Unbound variable: x." │ │ ], │ │ [ │ │ [ │ │ { │ │ "character": 8, │ │ "line": 1 │ │ }, │ │ { │ │ "character": 9, │ │ "line": 1 │ │ } │ │ ], │ │ "Unbound variable: y." │ │ ] │ │ ], │ │ "uri": │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" │ │ } │ │ } │ │ ] │ │ ] / typeErrorCount: 1 / retry: 0 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:25 verbose #153 networking.test_port_open / { port = 13806; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:20 debug #108 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #109 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #110 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 verbose #111 Supervisor.sendJson / port: 13805 / json: │ │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ │ / result: │ │ 00:00:22 verbose #37 > 00:00:02 debug #5 │ │ Supervisor.supervisor_server.BuildFile / file: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 verbose #112 Supervisor.sendJson / port: 13805 / json: │ │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ │ 00:00:20 debug #113 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ │ error: Some((File main has a type error somewhere in its path., FatalError │ │ "File main has a type error somewhere in its path.")) / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #114 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #115 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:20 debug #116 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 2 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:21 debug #117 Supervisor.buildFile / AsyncSeq.scan / │ │ outputContent: │ │ / errors: [] / outputContentResult: / typeErrorCount: 2 / retry: 1 / │ │ error: / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:21 debug #118 Supervisor.buildFile / takeWhileInclusive / │ │ outputContent: │ │ / errors: [] / typeErrorCount: 3 / retry: 1 / path: │ │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ │ 00:00:21 verbose #119 Supervisor.sendJson / port: 13805 / json: │ │ {"FileDelete":{"uris":[ │ │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1"]}} / result: │ │ 00:00:21 debug #120 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ 00:00:26 verbose #154 networking.wait_for_port_access / { port = 13805; │ │ retry = 0; timeout = Some 100; status = false } │ │ 00:00:26 verbose #155 networking.test_port_open / { port = 13805; ex = │ │ System.AggregateException: One or more errors occurred. (Connection refused) │ │ } │ │ 00:00:21 debug #121 FileSystem.watchWithFilter / Disposing watch │ │ stream / filter: FileName, LastWrite │ │ Some (None, []) │ │ │ │ │ ╰──────────────────────────────────────────────────────────────────────────────╯ NotebookRunner.RunNotebookAsync / exiting... 3 NotebookRunner.RunNotebookAsync / exiting... 2 NotebookRunner.RunNotebookAsync / exiting... 1; retry = 2/3 } 00:01:10 debug #8 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Supervisor (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com > mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli > ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ > 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" > #r > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha > rp.Json.dll" > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### sendJson │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendJson (port : int) (json : string) = async { > let host = "127.0.0.1" > let! portOpen = SpiralNetworking.test_port_open host port > if portOpen then > try > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{port}").Build() > do! connection.StartAsync () |> Async.AwaitTask > let! result = connection.InvokeAsync<string>("ClientToServerMsg", > json) |> Async.AwaitTask > do! connection.StopAsync () |> Async.AwaitTask > trace Verbose (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / result: {result |> Option.ofObj |> > Option.map (SpiralSm.ellipsis_end 200)}") _locals > return Some result > with ex -> > trace Critical (fun () -> $"Supervisor.sendJson / port: {port} / > json: {json |> SpiralSm.ellipsis_end 200} / ex: {ex |> > SpiralSm.format_exception}") _locals > return None > else > trace Debug (fun () -> "Supervisor.sendJson / port: {port} / error: port > not open") _locals > return None > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### sendObj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline sendObj port obj = > obj > |> System.Text.Json.JsonSerializer.Serialize > |> sendJson port > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### VSCPos │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCPos = {| line : int; character : int |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### VSCRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type VSCRange = VSCPos * VSCPos > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### RString │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type RString = VSCRange * string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### TracedError │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type TracedError = {| trace : string list; message : string |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### ClientErrorsRes │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type ClientErrorsRes = > | FatalError of string > | TracedError of TracedError > | PackageErrors of {| uri : string; errors : RString list |} > | TokenizerErrors of {| uri : string; errors : RString list |} > | ParserErrors of {| uri : string; errors : RString list |} > | TypeErrors of {| uri : string; errors : RString list |} > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### workspaceRoot │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### awaitCompiler │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline awaitCompiler port cancellationToken = async { > let host = "127.0.0.1" > let struct (ct, disposable) = cancellationToken |> > SpiralThreading.new_disposable_token > let! ct = ct |> SpiralAsync.merge_cancellation_token_with_default_async > > let compiler = MailboxProcessor.Start (fun inbox -> async { > let! availablePort = SpiralNetworking.get_available_port (Some 180) host > port > if availablePort <> port then > inbox.Post (port, false) > else > let compilerPath = > workspaceRoot </> "deps/The-Spiral-Language/The Spiral Language > 2/artifacts/bin/The Spiral Language 2/release" > |> System.IO.Path.GetFullPath > > let dllPath = compilerPath </> "Spiral.dll" > > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = $@"dotnet ""{dllPath}"" --port {availablePort} > --default-int i32 --default-float f64" > l1 = Some ct > l3 = Some (fun struct (_, line, _) -> async { > if line |> SpiralSm.contains > $"System.IO.IOException: Failed to bind to address http://{host}:{port}: address > already in use." then > inbox.Post (port, false) > > if line |> SpiralSm.contains $"Server bound to: > http://localhost:{availablePort}" then > let rec loop retry = async { > do! > SpiralNetworking.wait_for_port_access > (Some 100) true host availablePort > |> Async.runWithTimeoutAsync 500 > |> Async.Ignore > > let _locals () = $"port: {availablePort} / > retry: {retry} / {_locals ()}" > try > let pingObj = {| Ping = true |} > let! pingResult = pingObj |> sendObj > availablePort > trace Verbose (fun () -> $"awaitCompiler > / Ping / result: '{pingResult}'") _locals > > inbox.Post (availablePort, true) > with ex -> > trace Verbose (fun () -> $"awaitCompiler > / Ping / ex: {ex |> SpiralSm.format_exception}") _locals > do! Async.Sleep 10 > do! loop (retry + 1) > } > do! loop 0 > }) > l6 = Some workspaceRoot > } > ) > |> SpiralRuntime.execute_with_options_async > > trace Debug (fun () -> $"awaitCompiler / exitCode: {exitCode} / > result: {result}") _locals > disposable.Dispose () > }, ct) > > let! serverPort, managed = compiler.Receive () > > let connection = > HubConnectionBuilder().WithUrl($"http://{host}:{serverPort}").Build () > do! connection.StartAsync () |> Async.AwaitTask > > let event = Event<_> () > let disposable' = connection.On<string> ("ServerToClientMsg", event.Trigger) > let stream = > FSharp.Control.AsyncSeq.unfoldAsync > (fun () -> async { > let! msg = event.Publish |> Async.AwaitEvent > return Some (msg |> > FSharp.Json.Json.deserialize<ClientErrorsRes>, ()) > }) > () > > let disposable' = > new_disposable (fun () -> > async { > disposable'.Dispose () > do! connection.StopAsync () |> Async.AwaitTask > disposable.Dispose () > if managed > then do! > SpiralNetworking.wait_for_port_access (Some 100) false host > serverPort > |> Async.runWithTimeoutAsync 1500 > |> Async.Ignore > } > |> Async.RunSynchronously > ) > > return > serverPort, > stream, > ct, > disposable' > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### getFilePathFromUri │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getFilePathFromUri uri = > match System.Uri.TryCreate (uri, System.UriKind.Absolute) with > | true, uri -> uri.AbsolutePath |> System.IO.Path.GetFullPath > | _ -> failwith "invalid uri" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### getCompilerPort │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getCompilerPort () = > 13805 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### serialize_obj │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let serializeObj obj = > try > obj > |> FSharp.Json.Json.serialize > |> SpiralSm.replace "\\\\" "\\" > |> SpiralSm.replace "\\r\\n" "\n" > |> SpiralSm.replace "\\n" "\n" > with ex -> > trace Critical (fun () -> "Supervisor.serialize_obj / obj: %A{obj}") > _locals > "" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### Backend │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type Backend = > | Fsharp > | Cuda > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### buildFile │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline buildFile backend timeout port cancellationToken path = > let rec loop retry = async { > let fullPath = path |> System.IO.Path.GetFullPath > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > let fileName = fullPath |> System.IO.Path.GetFileNameWithoutExtension > let! code = fullPath |> SpiralFileSystem.read_all_text_async > > let stream, disposable = fileDir |> FileSystem.watchDirectory (fun _ -> > true) > use _ = disposable > > let struct (token, disposable) = SpiralThreading.new_disposable_token > cancellationToken > use _ = disposable > > let port = port |> Option.defaultWith getCompilerPort > let! serverPort, errors, ct, disposable = awaitCompiler port (Some > token) > use _ = disposable > > let outputFileName = > match backend with > | Fsharp -> $"{fileName}.fsx" > | Cuda -> $"{fileName}.py" > > let outputContentSeq = > stream > |> FSharp.Control.AsyncSeq.chooseAsync (function > | _, (FileSystem.FileSystemChange.Changed (path, Some text)) > when (path |> System.IO.Path.GetFileName) = outputFileName > -> > // fileDir </> path |> > SpiralFileSystem.read_all_text_retry_async > text |> Some |> Async.init > | _ -> None |> Async.init > ) > |> FSharp.Control.AsyncSeq.map (fun content -> > Some (content |> SpiralSm.replace "\r\n" "\n"), None > ) > > let inline printErrorData (data : {| uri : string; errors : RString list > |}) = > let fileName = data.uri |> System.IO.Path.GetFileName > let errors = > data.errors > |> List.map snd > |> SpiralSm.concat "\n" > $"{fileName}:\n{errors}" > > let errorsSeq = > errors > |> FSharp.Control.AsyncSeq.choose (fun error -> > match error with > | FatalError message -> > Some (message, error) > | TracedError data -> > Some (data.message, error) > | PackageErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TokenizerErrors data when data.errors |> List.isEmpty |> not > -> > Some (data |> printErrorData, error) > | ParserErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | TypeErrors data when data.errors |> List.isEmpty |> not -> > Some (data |> printErrorData, error) > | _ -> None > ) > |> FSharp.Control.AsyncSeq.map (fun (message, error) -> > None, Some (message, error) > ) > > let timerSeq = > 500 > |> FSharp.Control.AsyncSeq.intervalMs > |> FSharp.Control.AsyncSeq.map (fun _ -> None, None) > > let outputSeq = > [[ outputContentSeq; errorsSeq; timerSeq ]] > |> FSharp.Control.AsyncSeq.mergeAll > > let! outputChild = > ((None, [[]], 0), outputSeq) > ||> FSharp.Control.AsyncSeq.scan ( > fun (outputContentResult, errors, typeErrorCount) > (outputContent, error) -> > trace Debug (fun () -> $"Supervisor.buildFile / > AsyncSeq.scan / outputContent:\n{outputContent |> Option.defaultValue > System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> > serializeObj} / outputContentResult: {outputContentResult} / typeErrorCount: > {typeErrorCount} / retry: {retry} / error: {error} / path: {path}") _locals > match outputContent, error with > | Some outputContent, None -> Some outputContent, errors, > typeErrorCount > | None, Some (_, FatalError "File main has a type error > somewhere in its path.") -> > outputContentResult, errors, typeErrorCount + 1 > | None, Some error -> outputContentResult, error :: errors, > typeErrorCount > | None, None when typeErrorCount >= 1 -> > outputContentResult, errors, typeErrorCount + 1 > | _ -> outputContentResult, errors, typeErrorCount > ) > |> FSharp.Control.AsyncSeq.takeWhileInclusive (fun (outputContent, > errors, typeErrorCount) -> > trace Debug (fun () -> $"Supervisor.buildFile / > takeWhileInclusive / outputContent:\n{outputContent |> Option.defaultValue > System.String.Empty |> SpiralSm.ellipsis_end 300} / errors: {errors |> > serializeObj} / typeErrorCount: {typeErrorCount} / retry: {retry} / path: > {path}") _locals > #if INTERACTIVE > let errorWait = 2 > #else > let errorWait = 2 > #endif > match outputContent, errors with > | None, [[]] when typeErrorCount > errorWait -> false > | None, [[]] -> true > | _ -> false > ) > |> FSharp.Control.AsyncSeq.tryLast > |> Async.withCancellationToken ct > |> Async.catch > |> Async.runWithTimeoutAsync timeout > |> Async.StartChild > > // do! Async.Sleep 60 > > let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > > let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} > |} > let! _fileOpenResult = fileOpenObj |> sendObj serverPort > > // do! Async.Sleep 60 > > let backendId = > match backend with > | Fsharp -> "Fsharp" > | Cuda -> "Python + Cuda" > let buildFileObj = {| BuildFile = {| uri = fullPathUri; backend = > backendId |} |} > let! _buildFileResult = buildFileObj |> sendObj serverPort > > let! result, typeErrorCount = > outputChild > |> Async.map (function > | Some (Ok (Some (outputCode, errors, typeErrorCount))) -> > (outputCode, errors |> List.distinct |> List.rev), > typeErrorCount > | Some (Error ex) -> > trace Critical (fun () -> $"Supervisor.buildFile / error: > {ex |> SpiralSm.format_exception} / retry: {retry}") _locals > (None, [[]]), 0 > | _ -> (None, [[]]), 0 > ) > > match result with > | None, _ when typeErrorCount > 0 && retry = 0 -> > return! loop (retry + 1) > | _ -> > if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then > let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] > |} |} > let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort > () > > let outputPath = fileDir </> outputFileName > return outputPath, result > } > loop 0 > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### SpiralInput │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > type SpiralInput = > | Spi of string * string option > | Spir of string > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### persistCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline persistCode backend input = async { > let targetDir = workspaceRoot </> "target/spiral_Eval" > > let packagesDir = targetDir </> "packages" > > let hashHex = $"%A{backend}%A{input}" |> SpiralCrypto.hash_text > > let codeDir = packagesDir </> hashHex > codeDir |> System.IO.Directory.CreateDirectory |> ignore > > let moduleName = "main" > > let spirModule, spiModule = > match input with > | Spi (spi, Some spir) -> true, true > | Spi (spi, None) -> false, true > | Spir spir -> true, false > |> fun (spir, spi) -> > (if spir then $"real_{moduleName}*-" else ""), > if spi then moduleName else "" > > let spiprojPath = codeDir </> "package.spiproj" > let spiprojCode = > $"""packageDir: {workspaceRoot </> "lib"} > packages: > |core- > spiral- > modules: > {spirModule} > {spiModule} > """ > do! spiprojCode |> SpiralFileSystem.write_all_text_exists spiprojPath > > let spirPath = codeDir </> $"real_{moduleName}.spir" > let spiPath = codeDir </> $"{moduleName}.spi" > > let spirCode, spiCode = > match input with > | Spi (spi, Some spir) -> Some spir, Some spi > | Spi (spi, None) -> None, Some spi > | Spir spir -> Some spir, None > > match spirCode with > | Some spir -> do! spir |> SpiralFileSystem.write_all_text_exists spirPath > | None -> () > match spiCode with > | Some spi -> do! spi |> SpiralFileSystem.write_all_text_exists spiPath > | None -> () > > let spiralPath = > match input with > | Spi _ -> spiPath > | Spir _ -> spirPath > match backend with > | None -> return spiralPath, None > | Some backend -> > let outputFileName = > let fileName = > match input with > | Spi _ -> moduleName > | Spir _ -> $"real_{moduleName}" > match backend with > | Fsharp -> $"{fileName}.fsx" > | Cuda -> $"{fileName}.py" > let outputPath = codeDir </> outputFileName > if outputPath |> System.IO.File.Exists |> not > then return spiralPath, None > else > let! oldCode = spiralPath |> SpiralFileSystem.read_all_text_async > if oldCode <> (spiCode |> Option.defaultValue (spirCode |> > Option.defaultValue "")) > then return spiralPath, None > else > let! outputCode = outputPath |> > SpiralFileSystem.read_all_text_async > return spiralPath, Some (outputPath, outputCode |> > SpiralSm.replace "\r\n" "\n") > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### buildCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let buildCode backend isCache timeout cancellationToken input = async { > let! mainPath, outputCache = input |> persistCode (Some backend) > match outputCache with > | Some (outputPath, outputCode) when isCache -> return mainPath, > (outputPath, Some outputCode), [[]] > | _ -> > let! outputPath, (outputCode, errors) = mainPath |> buildFile backend > timeout None cancellationToken > return mainPath, (outputPath, outputCode), errors > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl app () = > console.write_line "text" > 1i32 > > inl main () = > app > |> dyn > |> ignore > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 15000 None > |> Async.runWithTimeout 15000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some """let rec closure0 () () : int32 = > let v2 : (string -> unit) = System.Console.WriteLine > let v3 : string = "text" > v2 v3 > 1 > let v0 : (unit -> int32) = closure0() > () > """, > [[]] > ) > ) > > ╭─[ 4.00s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:09 verbose #1 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:07 debug #1 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:10 verbose #2 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #3 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:07 verbose #2 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:07 verbose #3 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:07 verbose #4 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:10 verbose #4 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #5 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #6 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #7 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #8 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #9 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #10 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #11 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #12 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #13 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #14 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #15 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #16 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #17 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #18 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #19 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #20 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #21 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #22 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #23 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:08 verbose #5 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:10 verbose #24 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #25 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:10 verbose #26 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:05 verbose #1 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:05 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: │ > │ 13805 / retry: 0 │ > │ 00:00:08 verbose #6 > Server bound to: http://localhost:13805 │ > │ 00:00:05 debug #3 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #4 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 debug #5 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:05 verbose #6 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl app () =\n console.write_line │ > │ \u0022text\u0022\n 1i32\n\ninl main │ > │ ...et/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69f2d6d04b │ > │ 9dc60aebd08a0d6/main.spi"}} / result: │ > │ 00:00:05 verbose #7 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/22ccd04317d5605c65f81c7f777766f357e85dc69 │ > │ f2d6d04b9dc60aebd08a0d6/main.spi"}} / result: │ > │ 00:00:08 verbose #7 > 00:00:01 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #8 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #9 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #10 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:06 debug #11 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #12 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #13 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #14 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:07 debug #15 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #16 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #17 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #18 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 debug #19 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22ccd04317d5 │ > │ 605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6/main.spi │ > │ 00:00:08 verbose #20 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22cc │ > │ d04317d5605c65f81c7f777766f357e85dc69f2d6d04b9dc60aebd08a0d6"]}} / result: │ > │ 00:00:13 verbose #27 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:13 verbose #28 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:08 debug #21 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some │ > │ (Some │ > │ "let rec closure0 () () : int32 = │ > │ let v2 : (string -> unit) = System.Console.WriteLine │ > │ let v3 : string = "text" │ > │ v2 v3 │ > │ 1 │ > │ let v0 : (unit -> int32) = closure0() │ > │ () │ > │ ", │ > │ []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > "" > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "Cannot find `main` in file main." ]] > ) > ) > > ╭─[ 3.20s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:13 verbose #29 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 debug #8 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:13 verbose #30 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #31 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:13 verbose #32 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 verbose #9 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:11 verbose #10 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:11 verbose #11 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:13 verbose #33 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #34 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #35 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #36 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #37 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #38 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #39 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:13 verbose #40 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #41 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #42 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #43 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #44 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #45 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #46 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #47 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #48 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #49 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #50 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #51 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #52 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 verbose #12 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:14 verbose #53 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #54 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #55 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:09 verbose #22 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:09 verbose #23 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:12 verbose #13 > Server bound to: http://localhost:13805 │ > │ 00:00:09 debug #24 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #25 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #26 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 verbose #27 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"","uri":"file:///home/runner/work/polyglot/polyglot/ │ > │ target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e68c0feb │ > │ 33db55c4d28170aa/main.spi"}} / result: │ > │ 00:00:09 verbose #28 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/a65342ccc7da0da967b18d8e705d0260e9a932e5e │ > │ 68c0feb33db55c4d28170aa/main.spi"}} / result: │ > │ 00:00:12 verbose #14 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #29 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:09 debug #30 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #31 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #32 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #33 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:10 debug #34 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #35 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #36 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #37 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((Cannot find `main` in file main., FatalError "Cannot find │ > │ `main` in file main.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 debug #38 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "Cannot find `main` in file main.", │ > │ { │ > │ "FatalError": "Cannot find `main` in file main." │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65342ccc7da │ > │ 0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa/main.spi │ > │ 00:00:11 verbose #39 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a653 │ > │ 42ccc7da0da967b18d8e705d0260e9a932e5e68c0feb33db55c4d28170aa"]}} / result: │ > │ 00:00:16 verbose #56 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:16 verbose #57 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:11 debug #40 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["Cannot find `main` in file main."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1i32 / 0i32 > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "An attempt to divide by zero has been detected at compile time." ]] > ) > ) > > ╭─[ 3.17s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:16 verbose #58 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 debug #15 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:17 verbose #59 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #60 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:17 verbose #61 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 verbose #16 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:14 verbose #17 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:14 verbose #18 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:17 verbose #62 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #63 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #64 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #65 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #66 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #67 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #68 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #69 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #70 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #71 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #72 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #73 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #74 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #75 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #76 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #77 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #78 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #79 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #80 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #81 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #82 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #83 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #84 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:15 verbose #19 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:17 verbose #85 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #86 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 verbose #87 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:12 verbose #41 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:12 verbose #42 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:15 verbose #20 > Server bound to: http://localhost:13805 │ > │ 00:00:12 debug #43 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #44 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #45 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 verbose #46 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1i32 / │ > │ 0i32\n","uri":"file:///home/runner/work/polyglot/p...et/spiral_Eval/packages │ > │ /fef9812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi"} │ > │ } / result: │ > │ 00:00:12 verbose #47 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/fef9812d9b06b75b1ab26589e52c6d6ff05910b73 │ > │ ead9e8c4f27f88d2a5cdfb2/main.spi"}} / result: │ > │ 00:00:15 verbose #21 > 00:00:01 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #48 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:12 debug #49 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #50 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #51 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #52 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:13 debug #53 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #54 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #55 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #56 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((An attempt to divide by zero has been detected at compile │ > │ time., TracedError │ > │ { message = "An attempt to divide by zero has been detected at compile │ > │ time." │ > │ trace = │ > │ ["Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ inl main () = │ > │ ^ │ > │ "; │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ "] })) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 debug #57 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "An attempt to divide by zero has been detected at compile time.", │ > │ { │ > │ "TracedError": { │ > │ "message": "An attempt to divide by zero has been detected at │ > │ compile time.", │ > │ "trace": [ │ > │ "Error trace on line: 1, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ inl main () = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 2, column: 5 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi. │ > │ 1i32 / 0i32 │ > │ ^ │ > │ " │ > │ ] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9812d9b06 │ > │ b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2/main.spi │ > │ 00:00:14 verbose #58 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fef9 │ > │ 812d9b06b75b1ab26589e52c6d6ff05910b73ead9e8c4f27f88d2a5cdfb2"]}} / result: │ > │ 00:00:19 verbose #88 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:19 verbose #89 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:14 debug #59 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["An attempt to divide by zero has been detected at compile │ > │ time."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > 1 + "" > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Constraint satisfaction error. > Got: string > Fails to satisfy: number" > ]] > ) > ) > > ╭─[ 2.85s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:20 verbose #90 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #22 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:20 verbose #91 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #92 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:20 verbose #93 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #23 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:18 verbose #24 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:18 verbose #25 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:20 verbose #94 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #95 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #96 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #97 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #98 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #99 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #100 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #101 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #102 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #103 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #104 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #105 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #106 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #107 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #108 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #109 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #110 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #111 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #112 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #113 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #26 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:20 verbose #114 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #115 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #116 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:15 verbose #60 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:15 verbose #61 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:18 verbose #27 > Server bound to: http://localhost:13805 │ > │ 00:00:15 debug #62 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #63 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 debug #64 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:15 verbose #65 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ > │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ > │ / result: │ > │ 00:00:15 verbose #66 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ > │ 6e3655199e42df713504aa0/main.spi"}} / result: │ > │ 00:00:18 verbose #28 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #67 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #68 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #69 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:16 debug #70 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #71 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #72 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #73 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #74 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #75 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ > │ error: Some((main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number, TypeErrors │ > │ { errors = │ > │ [(({ character = 8 │ > │ line = 1 }, { character = 10 │ > │ line = 1 }), │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #76 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:22 verbose #117 networking.test_port_open / { port = 13806; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #77 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #78 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #79 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #80 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n 1 \u002B │ > │ \u0022\u0022\n","uri":"file:///home/runner/work/...et/spiral_Eval/packages/c │ > │ 030f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi"}} │ > │ / result: │ > │ 00:00:20 verbose #29 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #81 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c030f84f8e553befcbdd9aabeace67685221d91a4 │ > │ 6e3655199e42df713504aa0/main.spi"}} / result: │ > │ 00:00:17 debug #82 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #83 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #84 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 1 / │ > │ error: Some((main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number, TypeErrors │ > │ { errors = │ > │ [(({ character = 8 │ > │ line = 1 }, { character = 10 │ > │ line = 1 }), │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 debug #85 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 10, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number" │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030f84f8e55 │ > │ 3befcbdd9aabeace67685221d91a46e3655199e42df713504aa0/main.spi │ > │ 00:00:17 verbose #86 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c030 │ > │ f84f8e553befcbdd9aabeace67685221d91a46e3655199e42df713504aa0"]}} / result: │ > │ 00:00:17 debug #87 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ 00:00:22 verbose #118 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:22 verbose #119 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:17 debug #88 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["main.spi: │ > │ Constraint satisfaction error. │ > │ Got: string │ > │ Fails to satisfy: number"]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = > x + y > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ > "main.spi: > Unbound variable: x. > Unbound variable: y." > ]] > ) > ) > > ╭─[ 2.65s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:22 verbose #120 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #30 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:23 verbose #121 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #122 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:23 verbose #123 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 verbose #31 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:20 verbose #32 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:20 verbose #33 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:23 verbose #124 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #125 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #126 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #127 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #128 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #129 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #130 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #131 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #132 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #133 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #134 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #135 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #136 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #137 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #138 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #139 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #140 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #141 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #142 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #143 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:21 verbose #34 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:23 verbose #144 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #145 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #146 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:18 verbose #89 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:18 verbose #90 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:21 verbose #35 > Server bound to: http://localhost:13805 │ > │ 00:00:18 debug #91 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #92 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #93 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 verbose #94 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ > │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ > │ / result: │ > │ 00:00:18 verbose #95 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ > │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ > │ 00:00:21 verbose #36 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #96 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:18 debug #97 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #98 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #99 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #100 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:19 debug #101 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #102 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((File main has a type error somewhere in its path., FatalError │ > │ "File main has a type error somewhere in its path.")) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #103 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #104 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 1 / retry: 0 / │ > │ error: Some((main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y., TypeErrors │ > │ { errors = │ > │ [(({ character = 4 │ > │ line = 1 }, { character = 5 │ > │ line = 1 }), "Unbound variable: x."); │ > │ (({ character = 8 │ > │ line = 1 }, { character = 9 │ > │ line = 1 }), "Unbound variable: y.")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #105 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y.", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 4, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 5, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: x." │ > │ ], │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 9, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: y." │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 1 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:25 verbose #147 networking.test_port_open / { port = 13806; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #106 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #107 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #108 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 verbose #109 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () =\n x \u002B │ > │ y\n","uri":"file:///home/runner/work/polyglot/po...et/spiral_Eval/packages/6 │ > │ cdeec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi"}} │ > │ / result: │ > │ 00:00:23 verbose #37 > 00:00:02 debug #5 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #110 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 1 / │ > │ error: Some((main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y., TypeErrors │ > │ { errors = │ > │ [(({ character = 4 │ > │ line = 1 }, { character = 5 │ > │ line = 1 }), "Unbound variable: x."); │ > │ (({ character = 8 │ > │ line = 1 }, { character = 9 │ > │ line = 1 }), "Unbound variable: y.")] │ > │ uri = │ > │ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" })) / │ > │ path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 debug #111 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y.", │ > │ { │ > │ "TypeErrors": { │ > │ "errors": [ │ > │ [ │ > │ [ │ > │ { │ > │ "character": 4, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 5, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: x." │ > │ ], │ > │ [ │ > │ [ │ > │ { │ > │ "character": 8, │ > │ "line": 1 │ > │ }, │ > │ { │ > │ "character": 9, │ > │ "line": 1 │ > │ } │ > │ ], │ > │ "Unbound variable: y." │ > │ ] │ > │ ], │ > │ "uri": │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi" │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 1 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cdeec507f9d │ > │ e5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1/main.spi │ > │ 00:00:20 verbose #112 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/6cdeec507f9de5ba9c8429cfa7049b777a622aa3b │ > │ f7333b151c767fde35dc5d1/main.spi"}} / result: │ > │ 00:00:20 verbose #113 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cde │ > │ ec507f9de5ba9c8429cfa7049b777a622aa3bf7333b151c767fde35dc5d1"]}} / result: │ > │ 00:00:20 debug #114 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ 00:00:25 verbose #148 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:25 verbose #149 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:20 debug #115 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["main.spi: │ > │ Unbound variable: x. │ > │ Unbound variable: y."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl main () = > real > inl real_unbox forall a. (obj : a) : a = > typecase obj with > | _ => obj > real_unbox () > () > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "Cannot apply a forall with a term." ]] > ) > ) > > ╭─[ 3.15s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:25 verbose #150 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 debug #38 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:25 verbose #151 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #152 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:25 verbose #153 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #39 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:23 verbose #40 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:23 verbose #41 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:25 verbose #154 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #155 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #156 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #157 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #158 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #159 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #160 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #161 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #162 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #163 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #164 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #165 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #166 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #167 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:25 verbose #168 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #169 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #170 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #171 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #172 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #173 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 verbose #42 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:26 verbose #174 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #175 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #176 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:21 verbose #116 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:21 verbose #117 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:23 verbose #43 > Server bound to: http://localhost:13805 │ > │ 00:00:21 debug #118 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:21 debug #119 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:21 debug #120 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:21 verbose #121 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │ > │ forall a. (obj : a) : a │ > │ =\...et/spiral_Eval/packages/61c59548b11a56efe6894b6855e845b5bd8d9f78be60580 │ > │ 3496c626bd6369493/main.spi"}} / result: │ > │ 00:00:21 verbose #122 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/61c59548b11a56efe6894b6855e845b5bd8d9f78b │ > │ e605803496c626bd6369493/main.spi"}} / result: │ > │ 00:00:24 verbose #44 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:21 debug #123 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:21 debug #124 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:22 debug #125 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:22 debug #126 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:22 debug #127 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:22 debug #128 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:23 debug #129 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:23 debug #130 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:23 debug #131 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((Cannot apply a forall with a term., TracedError │ > │ { message = "Cannot apply a forall with a term." │ > │ trace = │ > │ ["Error trace on line: 2, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi. │ > │ inl main () = │ > │ ^ │ > │ "; │ > │ "Error trace on line: 4, column: 9 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi. │ > │ inl real_unbox forall a. (obj : a) : a = │ > │ ^ │ > │ "; │ > │ "Error trace on line: 7, column: 9 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi. │ > │ real_unbox () │ > │ ^ │ > │ "] })) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:23 debug #132 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "Cannot apply a forall with a term.", │ > │ { │ > │ "TracedError": { │ > │ "message": "Cannot apply a forall with a term.", │ > │ "trace": [ │ > │ "Error trace on line: 2, column: 10 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi. │ > │ inl main () = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 4, column: 9 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi. │ > │ inl real_unbox forall a. (obj : a) : a = │ > │ ^ │ > │ ", │ > │ "Error trace on line: 7, column: 9 in module: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi. │ > │ real_unbox () │ > │ ^ │ > │ " │ > │ ] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c59548b11a │ > │ 56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493/main.spi │ > │ 00:00:23 verbose #133 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61c5 │ > │ 9548b11a56efe6894b6855e845b5bd8d9f78be605803496c626bd6369493"]}} / result: │ > │ 00:00:28 verbose #177 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:28 verbose #178 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:23 debug #134 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["Cannot apply a forall with a term."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl main () = > real > inl real_unbox forall a. (obj : a) : a = > typecase obj with > | _ => obj > real_unbox `i32 1 > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > None, > [[ "The main function should not have a forall." ]] > ) > ) > > ╭─[ 2.97s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:28 verbose #179 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 debug #45 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:28 verbose #180 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:28 verbose #181 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:28 verbose #182 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #46 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:26 verbose #47 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:26 verbose #48 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:28 verbose #183 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:28 verbose #184 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #185 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #186 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #187 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #188 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #189 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #190 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #191 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #192 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #193 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #194 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #195 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #196 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #197 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #198 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #199 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #200 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #201 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #202 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 verbose #49 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:29 verbose #203 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #204 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #205 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:24 verbose #135 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:24 verbose #136 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:27 verbose #50 > Server bound to: http://localhost:13805 │ > │ 00:00:24 debug #137 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:24 debug #138 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:24 debug #139 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:24 verbose #140 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl main () =\n real\n inl real_unbox │ > │ forall a. (obj : a) : a │ > │ =\...et/spiral_Eval/packages/d18ab5eccdd16bb367f1cae1e75791ae1134c04410280fa │ > │ 27c5ddd010dff3b10/main.spi"}} / result: │ > │ 00:00:24 verbose #141 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/d18ab5eccdd16bb367f1cae1e75791ae1134c0441 │ > │ 0280fa27c5ddd010dff3b10/main.spi"}} / result: │ > │ 00:00:27 verbose #51 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:24 debug #142 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:24 debug #143 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:25 debug #144 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:25 debug #145 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:25 debug #146 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:25 debug #147 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:26 debug #148 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:26 debug #149 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:26 debug #150 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: Some((The main function should not have a forall., TracedError { │ > │ message = "The main function should not have a forall." │ > │ trace = [] })) / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:26 debug #151 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [ │ > │ [ │ > │ "The main function should not have a forall.", │ > │ { │ > │ "TracedError": { │ > │ "message": "The main function should not have a forall.", │ > │ "trace": [] │ > │ } │ > │ } │ > │ ] │ > │ ] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18ab5eccdd1 │ > │ 6bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10/main.spi │ > │ 00:00:26 verbose #152 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d18a │ > │ b5eccdd16bb367f1cae1e75791ae1134c04410280fa27c5ddd010dff3b10"]}} / result: │ > │ 00:00:31 verbose #206 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:31 verbose #207 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:26 debug #153 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (None, ["The main function should not have a forall."]) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl init_series start end inc = > inl total : f64 = conv ((end - start) / inc) + 1 > listm.init total (conv >> (*) inc >> (+) start) : list f64 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64 > > inl integral dt : integration = > fun f a b => > init_series (a + dt / 2) (b - dt / 2) dt > |> listm.map (f >> (*) dt) > |> listm.fold (+) 0 > > inl main () = > integral 0.1 (fun x => x ** 2) 0 1 > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some "0.3325000000000001\n", > [[]] > ) > ) > > ╭─[ 3.07s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:31 verbose #208 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 debug #52 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:31 verbose #209 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:31 verbose #210 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:31 verbose #211 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #53 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:29 verbose #54 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:29 verbose #55 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:31 verbose #212 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:31 verbose #213 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:31 verbose #214 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:31 verbose #215 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #216 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #217 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #218 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #219 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #220 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #221 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #222 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #223 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #224 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #225 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #226 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #227 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #228 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #229 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #230 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #231 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #232 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 verbose #56 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:32 verbose #233 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #234 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:27 verbose #154 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:27 verbose #155 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:30 verbose #57 > Server bound to: http://localhost:13805 │ > │ 00:00:27 debug #156 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:27 debug #157 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:27 debug #158 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:27 verbose #159 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │ > │ f64 = conv ((end - │ > │ start)...et/spiral_Eval/packages/c127414de2a2a92d9fd93ea5a8e9312a6aad9129ffd │ > │ 3cbd56ac7f0327106f1db/main.spi"}} / result: │ > │ 00:00:27 verbose #160 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/c127414de2a2a92d9fd93ea5a8e9312a6aad9129f │ > │ fd3cbd56ac7f0327106f1db/main.spi"}} / result: │ > │ 00:00:30 verbose #58 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:27 debug #161 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:27 debug #162 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:28 debug #163 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:28 debug #164 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:28 debug #165 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:28 debug #166 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:29 debug #167 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:29 debug #168 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:29 debug #169 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ 0.3325000000000001 │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:29 debug #170 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ 0.3325000000000001 │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127414de2a2 │ > │ a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db/main.spi │ > │ 00:00:29 verbose #171 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c127 │ > │ 414de2a2a92d9fd93ea5a8e9312a6aad9129ffd3cbd56ac7f0327106f1db"]}} / result: │ > │ 00:00:34 verbose #235 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:34 verbose #236 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:29 debug #172 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (Some "0.3325000000000001 │ > │ ", []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl init_series start end inc = > inl total : f64 = conv ((end - start) / inc) + 1 > listm.init total (conv >> (*) inc >> (+) start) : list f64 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64 > > inl integral dt : integration = > fun f a b => > init_series (a + dt / 2) (b - dt / 2) dt > |> listm.map (f >> (*) dt) > |> listm.fold (+) 0 > > inl main () = > integral 0.1 (fun x => x ** 2) 0 1 > """ > |> fun code -> Spi (code, None) > |> buildCode Cuda false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some @"kernel = r"""""" > """""" > class static_array(): > def __init__(self, length): > self.ptr = [[]] > for _ in range(length): > self.ptr.append(None) > > def __getitem__(self, index): > assert 0 <= index < len(self.ptr), ""The get index needs to be in > range."" > return self.ptr[[index]] > > def __setitem__(self, index, value): > assert 0 <= index < len(self.ptr), ""The set index needs to be in > range."" > self.ptr[[index]] = value > > class static_array_list(static_array): > def __init__(self, length): > super().__init__(length) > self.length = 0 > > def __getitem__(self, index): > assert 0 <= index < self.length, ""The get index needs to be in range."" > return self.ptr[[index]] > > def __setitem__(self, index, value): > assert 0 <= index < self.length, ""The set index needs to be in range."" > self.ptr[[index]] = value > > def push(self,value): > assert (self.length < len(self.ptr)), ""The length before pushing has to > be less than the maximum length of the array."" > self.ptr[[self.length]] = value > self.length += 1 > > def pop(self): > assert (0 < self.length), ""The length before popping has to be greater > than 0."" > self.length -= 1 > return self.ptr[[self.length]] > > def unsafe_set_length(self,i): > assert 0 <= i <= len(self.ptr), ""The new length has to be in range."" > self.length = i > > class dynamic_array(static_array): > pass > > class dynamic_array_list(static_array_list): > def length_(self): return self.length > > import cupy as cp > from dataclasses import dataclass > from typing import NamedTuple, Union, Callable, Tuple > i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = > string = str > > def main(): > return 0.3325000000000001 > > if __name__ == '__main__': result = main(); None if result is None else > print(result) > ", > [[]] > ) > ) > > ╭─[ 3.07s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:34 verbose #237 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 debug #59 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:34 verbose #238 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:34 verbose #239 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:35 verbose #240 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 verbose #60 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:32 verbose #61 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:32 verbose #62 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:35 verbose #241 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #242 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #243 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #244 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #245 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #246 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #247 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #248 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #249 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #250 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #251 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #252 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #253 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #254 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #255 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #256 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #257 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #258 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #259 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #260 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #261 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:33 verbose #63 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:35 verbose #262 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #263 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #264 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:30 verbose #173 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:30 verbose #174 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:33 verbose #64 > Server bound to: http://localhost:13805 │ > │ 00:00:30 debug #175 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:30 debug #176 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:30 debug #177 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:30 verbose #178 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │ > │ f64 = conv ((end - │ > │ start)...et/spiral_Eval/packages/ca288d6928a8e761855210f25f97fdc056ee1f21be4 │ > │ a24b26e8533ec368831c8/main.spi"}} / result: │ > │ 00:00:30 verbose #179 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Python \u002B │ > │ Cuda","uri":"file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/p │ > │ ackages/ca288d6928a8e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/mai │ > │ n.spi"}} / result: │ > │ 00:00:33 verbose #65 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:30 debug #180 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:30 debug #181 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:31 debug #182 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:31 debug #183 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:31 debug #184 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:31 debug #185 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:32 debug #186 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:32 debug #187 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:32 debug #188 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ kernel = r""" │ > │ """ │ > │ class static_array(): │ > │ def __init__(self, length): │ > │ self.ptr = [] │ > │ for _ in range(length): │ > │ self.ptr.app...char = string = str │ > │ │ > │ def main(): │ > │ return 0.3325000000000001 │ > │ │ > │ if __name__ == '__main__': result = main(); None if result is None else │ > │ print(result) │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:32 debug #189 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ kernel = r""" │ > │ """ │ > │ class static_array(): │ > │ def __init__(self, length): │ > │ self.ptr = [] │ > │ for _ in range(length): │ > │ self.ptr.app...char = string = str │ > │ │ > │ def main(): │ > │ return 0.3325000000000001 │ > │ │ > │ if __name__ == '__main__': result = main(); None if result is None else │ > │ print(result) │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca288d6928a8 │ > │ e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8/main.spi │ > │ 00:00:32 verbose #190 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca28 │ > │ 8d6928a8e761855210f25f97fdc056ee1f21be4a24b26e8533ec368831c8"]}} / result: │ > │ 00:00:37 verbose #265 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:37 verbose #266 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:32 debug #191 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some │ > │ (Some │ > │ "kernel = r""" │ > │ """ │ > │ class static_array(): │ > │ def __init__(self, length): │ > │ self.ptr = [] │ > │ for _ in range(length): │ > │ self.ptr.append(None) │ > │ │ > │ def __getitem__(self, index): │ > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ > │ range." │ > │ return self.ptr[index] │ > │ │ > │ def __setitem__(self, index, value): │ > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ > │ range." │ > │ self.ptr[index] = value │ > │ │ > │ class static_array_list(static_array): │ > │ def __init__(self, length): │ > │ super().__init__(length) │ > │ self.length = 0 │ > │ │ > │ def __getitem__(self, index): │ > │ assert 0 <= index < self.length, "The get index needs to be in │ > │ range." │ > │ return self.ptr[index] │ > │ │ > │ def __setitem__(self, index, value): │ > │ assert 0 <= index < self.length, "The set index needs to be in │ > │ range." │ > │ self.ptr[index] = value │ > │ │ > │ def push(self,value): │ > │ assert (self.length < len(self.ptr)), "The length before pushing has │ > │ to be less than the maximum length of the array." │ > │ self.ptr[self.length] = value │ > │ self.length += 1 │ > │ │ > │ def pop(self): │ > │ assert (0 < self.length), "The length before popping has to be │ > │ greater than 0." │ > │ self.length -= 1 │ > │ return self.ptr[self.length] │ > │ │ > │ def unsafe_set_length(self,i): │ > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ > │ self.length = i │ > │ │ > │ class dynamic_array(static_array): │ > │ pass │ > │ │ > │ class dynamic_array_list(static_array_list): │ > │ def length_(self): return self.length │ > │ │ > │ import cupy as cp │ > │ from dataclasses import dataclass │ > │ from typing import NamedTuple, Union, Callable, Tuple │ > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ > │ string = str │ > │ │ > │ def main(): │ > │ return 0.3325000000000001 │ > │ │ > │ if __name__ == '__main__': result = main(); None if result is None else │ > │ print(result) │ > │ ", │ > │ []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """ > inl init_series start end inc = > inl total : f64 = conv ((end - start) / inc) + 1 > listm.init total (conv >> (*) inc >> (+) start) : list f64 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64 > > inl integral dt : integration = > fun f a b => > init_series (a + dt / 2) (b - dt / 2) dt > |> listm.map (f >> (*) dt) > |> listm.fold (+) 0 > > inl main () = > integral 0.01 (fun x => x ** 2) 0 1 > """ > |> fun code -> Spi (code, None) > |> buildCode Fsharp false 10000 None > |> Async.runWithTimeout 10000 > |> Option.map (fun (_, (_, outputContent), errors) -> outputContent, errors |> > List.map fst) > |> _assertEqual ( > Some ( > Some "0.33332500000000004\n", > [[]] > ) > ) > // |> _assertEqual None > // |> fun x -> printfn $"{x.ToDisplayString ()}" > > ╭─[ 3.16s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:37 verbose #267 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 debug #66 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:buildCode@6-92>; stdin = None; trace = true; working_directory = │ > │ Some "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:38 verbose #268 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #269 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:38 verbose #270 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 verbose #67 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:35 verbose #68 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:35 verbose #69 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:38 verbose #271 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #272 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #273 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #274 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #275 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #276 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #277 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #278 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #279 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #280 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #281 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #282 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #283 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #284 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #285 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #286 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #287 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #288 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #289 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #290 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #291 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:36 verbose #70 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:38 verbose #292 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #293 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #294 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:33 verbose #192 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:33 verbose #193 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:36 verbose #71 > Server bound to: http://localhost:13805 │ > │ 00:00:33 debug #194 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:33 debug #195 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:33 debug #196 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:33 verbose #197 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"\ninl init_series start end inc =\n inl total : │ > │ f64 = conv ((end - │ > │ start)...et/spiral_Eval/packages/2acc44d97e6b50ce3caf39a0b93135633484d22c3ef │ > │ 6e7797ce64875a41451f4/main.spi"}} / result: │ > │ 00:00:33 verbose #198 Supervisor.sendJson / port: 13805 / json: │ > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ > │ lyglot/target/spiral_Eval/packages/2acc44d97e6b50ce3caf39a0b93135633484d22c3 │ > │ ef6e7797ce64875a41451f4/main.spi"}} / result: │ > │ 00:00:36 verbose #72 > 00:00:00 debug #4 │ > │ Supervisor.supervisor_server.BuildFile / file: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:33 debug #199 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:33 debug #200 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:34 debug #201 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:34 debug #202 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:34 debug #203 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:34 debug #204 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:35 debug #205 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:35 debug #206 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:35 debug #207 Supervisor.buildFile / AsyncSeq.scan / │ > │ outputContent: │ > │ 0.33332500000000004 │ > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ > │ error: / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:35 debug #208 Supervisor.buildFile / takeWhileInclusive / │ > │ outputContent: │ > │ 0.33332500000000004 │ > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc44d97e6b │ > │ 50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4/main.spi │ > │ 00:00:35 verbose #209 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2acc │ > │ 44d97e6b50ce3caf39a0b93135633484d22c3ef6e7797ce64875a41451f4"]}} / result: │ > │ 00:00:40 verbose #295 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:40 verbose #296 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:35 debug #210 FileSystem.watchWithFilter / Disposing watch │ > │ stream / filter: FileName, LastWrite │ > │ Some (Some "0.33332500000000004 │ > │ ", []) │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getFileTokenRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getFileTokenRange port cancellationToken path = async { > let fullPath = path |> System.IO.Path.GetFullPath > let! code = fullPath |> SpiralFileSystem.read_all_text_async > let lines = code |> SpiralSm.split "\n" > > let struct (token, disposable) = SpiralThreading.new_disposable_token > cancellationToken > use _ = disposable > > let port = port |> Option.defaultWith getCompilerPort > let! serverPort, _errors, ct, disposable = awaitCompiler port (Some token) > use _ = disposable > > let fullPathUri = fullPath |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > > let fileOpenObj = {| FileOpen = {| uri = fullPathUri; spiText = code |} |} > let! _fileOpenResult = fileOpenObj |> sendObj serverPort > > do! Async.Sleep 60 > > let fileTokenRangeObj = > {| > FileTokenRange = > {| > uri = fullPathUri > range = > [[| > {| line = 0; character = 0 |} > {| line = lines.Length - 1; character = > lines.[[lines.Length - 1]].Length |} > |]] > |} > |} > let! fileTokenRangeResult = > fileTokenRangeObj > |> sendObj serverPort > |> Async.withCancellationToken ct > > let fileDir = fullPath |> System.IO.Path.GetDirectoryName > if fileDir |> SpiralSm.starts_with (workspaceRoot </> "target") then > let fileDirUri = fileDir |> SpiralFileSystem.normalize_path |> > SpiralFileSystem.new_file_uri > let fileDeleteObj = {| FileDelete = {| uris = [[| fileDirUri |]] |} |} > let! _fileDeleteResult = fileDeleteObj |> sendObj serverPort > () > > return fileTokenRangeResult |> Option.map FSharp.Json.Json.deserialize<int > array> > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getCodeTokenRange │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline getCodeTokenRange cancellationToken code = async { > let! mainPath, _ = Spi (code, None) |> persistCode None > > let codeDir = mainPath |> System.IO.Path.GetDirectoryName > let tokensPath = codeDir </> "tokens.json" > let! tokens = async { > if tokensPath |> System.IO.File.Exists |> not > then return None > else > let! text = tokensPath |> SpiralFileSystem.read_all_text_async > > return > if text.Length > 2 > then text |> FSharp.Json.Json.deserialize<int array> |> Some > else None > } > match tokens with > | Some tokens -> > return tokens |> Some > | None -> return! mainPath |> getFileTokenRange None cancellationToken > } > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = ()""" > |> getCodeTokenRange None > |> Async.runWithTimeout 10000 > |> Option.flatten > |> _assertEqual (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; > 8; 0; 0; 2; 1; 4; 0; 0; > 2; 1; 8; 0; 0; 1; 1; 8; 0 |]]) > > ╭─[ 1.97s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:43 verbose #297 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:40 debug #73 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:it@4-187>; stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:43 verbose #298 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #299 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:43 verbose #300 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:41 verbose #74 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:41 verbose #75 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:41 verbose #76 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:43 verbose #301 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #302 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #303 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #304 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #305 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #306 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #307 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #308 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #309 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #310 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #311 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #312 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #313 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #314 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #315 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #316 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #317 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #318 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #319 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #320 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #321 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:41 verbose #77 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:43 verbose #322 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #323 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #324 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:38 verbose #211 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:38 verbose #212 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:41 verbose #78 > Server bound to: http://localhost:13805 │ > │ 00:00:38 verbose #213 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () = │ > │ ()","uri":"file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/pac │ > │ kages/20e725d46cfdc99c0f307f1933a76ec7da4570c1b757721164d86f19feaf821e/main. │ > │ spi"}} / result: │ > │ 00:00:38 verbose #214 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileTokenRange":{"range":[ │ > │ {"character":0,"line":0},{"character":16,"line":0}],"uri":"file:///home/...e │ > │ t/spiral_Eval/packages/20e725d46cfdc99c0f307f1933a76ec7da4570c1b757721164d86 │ > │ f19feaf821e/main.spi"}} / result: Some([ │ > │ 0, │ > │ 0, │ > │ 3, │ > │ 7, │ > │ 0, │ > │ 0, │ > │ 4, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 0, │ > │ 5, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 1, │ > │ 8, │ > │ 0 │ > │ ]) │ > │ 00:00:39 verbose #215 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/20e7 │ > │ 25d46cfdc99c0f307f1933a76ec7da4570c1b757721164d86f19feaf821e"]}} / result: │ > │ 00:00:44 verbose #325 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:44 verbose #326 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ Some [|0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0; 0; 2; 1; │ > │ 4; 0; 0; 2; 1; 8; 0; 0; 1; 1; 8; 0|] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > """inl main () = 1i32""" > |> getCodeTokenRange None > |> Async.runWithTimeout 10000 > |> Option.flatten > |> _assertEqual (Some [[| 0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; > 8; 0; 0; 2; 1; 4; 0; 0; > 2; 1; 3; 0; 0; 1; 3; 12; 0 |]]) > > ╭─[ 2.02s - stdout ]───────────────────────────────────────────────────────────╮ > │ 00:00:45 verbose #327 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:42 debug #79 runtime.execute_with_options_async / { options = { │ > │ command = dotnet │ > │ "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port │ > │ 13805 --default-int i32 --default-float f64; cancellation_token = Some │ > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ > │ Some <fun:it@4-413>; stdin = None; trace = true; working_directory = Some │ > │ "/home/runner/work/polyglot/polyglot" } } │ > │ 00:00:45 verbose #328 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #329 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = true } │ > │ 00:00:45 verbose #330 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #80 > 00:00:00 debug #1 pwd: │ > │ /home/runner/work/polyglot/polyglot │ > │ 00:00:43 verbose #81 > 00:00:00 debug #2 dllPath: │ > │ /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral │ > │ Language 2/artifacts/bin/The Spiral Language 2/release │ > │ 00:00:43 verbose #82 > 00:00:00 debug #3 targetDir: │ > │ /home/runner/work/polyglot/polyglot/target/spiral_Eval │ > │ 00:00:45 verbose #331 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #332 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #333 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #334 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #335 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #336 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #337 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #338 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #339 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #340 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #341 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #342 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #343 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #344 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #345 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #346 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #347 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #348 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #349 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #350 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:43 verbose #83 > Starting the Spiral Server. It is bound to: │ > │ http://localhost:13805 │ > │ 00:00:45 verbose #351 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #352 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:45 verbose #353 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ 00:00:40 verbose #216 Supervisor.sendJson / port: 13805 / json: │ > │ {"Ping":true} / result: │ > │ 00:00:40 verbose #217 awaitCompiler / Ping / result: 'Some(null)' / │ > │ port: 13805 / retry: 0 │ > │ 00:00:43 verbose #84 > Server bound to: http://localhost:13805 │ > │ 00:00:40 verbose #218 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileOpen":{"spiText":"inl main () = │ > │ 1i32","uri":"file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/p │ > │ ackages/5370829508ddefc7386d6b4d280722b47d97cb925585525bee733a187ff8f18b/mai │ > │ n.spi"}} / result: │ > │ 00:00:41 verbose #219 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileTokenRange":{"range":[ │ > │ {"character":0,"line":0},{"character":18,"line":0}],"uri":"file:///home/...e │ > │ t/spiral_Eval/packages/5370829508ddefc7386d6b4d280722b47d97cb925585525bee733 │ > │ a187ff8f18b/main.spi"}} / result: Some([ │ > │ 0, │ > │ 0, │ > │ 3, │ > │ 7, │ > │ 0, │ > │ 0, │ > │ 4, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 0, │ > │ 5, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 1, │ > │ 8, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 4, │ > │ 0, │ > │ 0, │ > │ 2, │ > │ 1, │ > │ 3, │ > │ 0, │ > │ 0, │ > │ 1, │ > │ 3, │ > │ 12, │ > │ 0 │ > │ ]) │ > │ 00:00:41 verbose #220 Supervisor.sendJson / port: 13805 / json: │ > │ {"FileDelete":{"uris":[ │ > │ "file:///home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5370 │ > │ 829508ddefc7386d6b4d280722b47d97cb925585525bee733a187ff8f18b"]}} / result: │ > │ 00:00:46 verbose #354 networking.wait_for_port_access / { port = 13805; │ > │ retry = 0; timeout = Some 100; status = false } │ > │ 00:00:46 verbose #355 networking.test_port_open / { port = 13805; ex = │ > │ System.AggregateException: One or more errors occurred. (Connection refused) │ > │ } │ > │ Some [|0; 0; 3; 7; 0; 0; 4; 4; 0; 0; 0; 5; 1; 8; 0; 0; 1; 1; 8; 0; 0; 2; 1; │ > │ 4; 0; 0; 2; 1; 3; 0; 0; 1; 3; 12; 0|] │ > │ │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## Arguments │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > [[<RequireQualifiedAccess>]] > type Arguments = > | Build_File of string * string > | File_Token_Range of string * string > | Execute_Command of string > | [[<Argu.ArguAttributes.Unique>]] Timeout of int > | [[<Argu.ArguAttributes.Unique>]] Port of int > | [[<Argu.ArguAttributes.Unique>]] Parallel > | [[<Argu.ArguAttributes.Unique>]] Exit_On_Error > > interface Argu.IArgParserTemplate with > member s.Usage = > match s with > | Build_File _ -> nameof Build_File > | File_Token_Range _ -> nameof File_Token_Range > | Execute_Command _ -> nameof Execute_Command > | Timeout _ -> nameof Timeout > | Port _ -> nameof Port > | Parallel -> nameof Parallel > | Exit_On_Error-> nameof Exit_On_Error > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () > > ╭─[ 85.22ms - return value ]───────────────────────────────────────────────────╮ > │ "USAGE: dotnet-repl [--help] [--build-file <string> <string>] │ > │ [--file-token-range <string> <string>] │ > │ [--execute-command <string>] [--timeout <int>] [--port │ > │ <int>] │ > │ [--parallel] [--exit-on-error] │ > │ │ > │ OPTIONS: │ > │ │ > │ --build-file <string> <string> │ > │ Build_File │ > │ --file-token-range <string> <string> │ > │ File_Token_Range │ > │ --execute-command <string> │ > │ Execute_Command │ > │ --timeout <int> Timeout │ > │ --port <int> Port │ > │ --parallel Parallel │ > │ --exit-on-error Exit_On_Error │ > │ --help display this list of options. │ > │ " │ > │ │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## main │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let main args = > let argsMap = args |> Runtime.parseArgsMap<Arguments> > > let buildFileActions = > argsMap > |> Map.tryFind (nameof Arguments.Build_File) > |> Option.defaultValue [[]] > |> List.choose (function > | Arguments.Build_File (inputPath, outputPath) -> Some (inputPath, > outputPath) > | _ -> None > ) > > let fileTokenRangeActions = > argsMap > |> Map.tryFind (nameof Arguments.File_Token_Range) > |> Option.defaultValue [[]] > |> List.choose (function > | Arguments.File_Token_Range (inputPath, outputPath) -> Some > (inputPath, outputPath) > | _ -> None > ) > > let executeCommandActions = > argsMap > |> Map.tryFind (nameof Arguments.Execute_Command) > |> Option.defaultValue [[]] > |> List.choose (function > | Arguments.Execute_Command command -> Some command > | _ -> None > ) > > let timeout = > match argsMap |> Map.tryFind (nameof Arguments.Timeout) with > | Some [[ Arguments.Timeout timeout ]] -> timeout > | _ -> 60000 * 60 > > let port = > match argsMap |> Map.tryFind (nameof Arguments.Port) with > | Some [[ Arguments.Port port ]] -> Some port > | _ -> None > > let isParallel = argsMap |> Map.containsKey (nameof Arguments.Parallel) > > let isExitOnError = argsMap |> Map.containsKey (nameof > Arguments.Exit_On_Error) > > async { > let port = > port > |> Option.defaultWith getCompilerPort > let struct (localToken, disposable) = > SpiralThreading.new_disposable_token None > let! serverPort, _errors, compilerToken, disposable = awaitCompiler port > (Some localToken) > use _ = disposable > > let buildFileAsync = > buildFileActions > |> List.map (fun (inputPath, outputPath) -> async { > let! _outputPath, (outputCode, errors) = > let backend = > if outputPath |> SpiralSm.ends_with ".fsx" > then Fsharp > elif outputPath |> SpiralSm.ends_with ".py" > then Cuda > else failwith $"Supervisor.main / invalid backend / > outputPath: {outputPath}" > let isReal = inputPath |> SpiralSm.ends_with ".spir" > inputPath |> buildFile backend timeout (Some serverPort) > None > > errors > |> List.map snd > |> List.iter (fun error -> > trace Critical (fun () -> $"main / error: {error |> > serializeObj}") _locals > ) > > match outputCode with > | Some outputCode -> > do! outputCode |> SpiralFileSystem.write_all_text_exists > outputPath > return 0 > | None -> > if isExitOnError > then SpiralRuntime.current_process_kill () > > return 1 > }) > > let fileTokenRangeAsync = > fileTokenRangeActions > |> List.map (fun (inputPath, outputPath) -> async { > let! tokenRange = inputPath |> getFileTokenRange (Some > serverPort) None > match tokenRange with > | Some tokenRange -> > do! tokenRange |> FSharp.Json.Json.serialize |> > SpiralFileSystem.write_all_text_exists outputPath > return 0 > | None -> > if isExitOnError > then SpiralRuntime.current_process_kill () > > return 1 > }) > > let executeCommandAsync = > executeCommandActions > |> List.map (fun command -> async { > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = command > l1 = Some compilerToken > } > ) > |> SpiralRuntime.execute_with_options_async > > trace Debug (fun () -> $"main / executeCommand / exitCode: > {exitCode} / command: {command}") _locals > > if isExitOnError && exitCode <> 0 > then SpiralRuntime.current_process_kill () > > return exitCode > }) > > return! > [[| buildFileAsync; fileTokenRangeAsync; executeCommandAsync |]] > |> Seq.collect id > |> fun x -> > if isParallel > then Async.Parallel (x, float System.Environment.ProcessorCount > * 0.51 |> ceil |> int) > else Async.Sequential x > |> Async.map Array.sum > } > |> Async.runWithTimeout timeout > |> Option.defaultValue 1 > > ── fsharp ────────────────────────────────────────────────────────────────────── > //// test > > let args = > System.Environment.GetEnvironmentVariable "ARGS" > |> SpiralRuntime.split_args > |> Result.toArray > |> Array.collect id > > match args with > | [[||]] -> 0 > | args -> if main args = 0 then 0 else failwith "main failed" > > ╭─[ 53.19ms - return value ]───────────────────────────────────────────────────╮ > │ <div class="dni-plaintext"><pre>0 │ > │ </pre></div><style> │ > │ .dni-code-hint { │ > │ font-style: italic; │ > │ overflow: hidden; │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview { │ > │ white-space: nowrap; │ > │ } │ > │ .dni-treeview td { │ > │ vertical-align: top; │ > │ text-align: start; │ > │ } │ > │ details.dni-treeview { │ > │ padding-left: 1em; │ > │ } │ > │ table td { │ > │ text-align: start; │ > │ } │ > │ table tr { │ > │ vertical-align: top; │ > │ margin: 0em 0px; │ > │ } │ > │ table tr td pre │ > │ { │ > │ vertical-align: top !important; │ > │ margin: 0em 0px !important; │ > │ } │ > │ table th { │ > │ text-align: start; │ > │ } │ > │ </style> │ > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:08 verbose #9 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 367494 } 00:02:08 debug #10 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:08 verbose #11 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.ipynb to html 00:02:08 verbose #12 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:02:08 verbose #13 ! validate(nb) 00:02:09 verbose #14 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:02:09 verbose #15 ! return _pygments_highlight( 00:02:10 verbose #16 ! [NbConvertApp] Writing 616260 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.html 00:02:10 verbose #17 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 906 } 00:02:10 debug #18 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 906 } 00:02:10 debug #19 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Supervisor.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:10 verbose #20 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:02:10 debug #21 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:02:10 debug #22 spiral_builder.run / dib / { exit_code = 0; result_length = 368459 } 00:00:00 debug #1 writeDibCode / output: Fs / path: Supervisor.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: Supervisor.dib 00:00:00 debug #1 persistCodeProject / packages: [Argu; FSharp.Control.AsyncSeq; FSharp.Json; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: Supervisor / hash: / code.Length: 27503 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/Builder/Supervisor/Supervisor.fsproj 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet publish "/home/runner/work/polyglot/polyglot/target/Builder/Supervisor/Supervisor.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/spiral/dist" --runtime linux-x64; cancellation_token = None; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot/target/Builder/Supervisor" } } 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/Builder/Supervisor/Supervisor.fsproj 00:00:01 verbose #9 > Starting restore process. 00:00:02 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/Builder/Supervisor/Supervisor.fsproj (in 349 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/Builder/Supervisor/Supervisor.fsproj] 00:00:15 verbose #13 > Supervisor -> /home/runner/work/polyglot/polyglot/target/Builder/Supervisor/bin/Release/net9.0/linux-x64/Supervisor.dll 00:00:16 verbose #14 > Supervisor -> /home/runner/work/polyglot/polyglot/apps/spiral/dist 00:00:16 debug #15 runtime.execute_with_options_async / { exit_code = 0; output_length = 1112 } 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Eval.dib", "--retries", "3"])) } 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ # Eval (Polyglot) │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > #r > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan > dard2.1/FSharp.Control.AsyncSeq.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. > 0/System.Reactive.dll" > #r > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib/ > netstandard2.0/System.Reactive.Linq.dll" > #r > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.com > mon/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.http.connections.cli > ent/7.0.0/lib/net7.0/Microsoft.AspNetCore.Http.Connections.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.common/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Common.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client/7.0.0 > /lib/net7.0/Microsoft.AspNetCore.SignalR.Client.dll" > #r > @"../../../../../../../.nuget/packages/microsoft.aspnetcore.signalr.client.core/ > 7.0.0/lib/net7.0/Microsoft.AspNetCore.SignalR.Client.Core.dll" > #r > @"../../../../../../../.nuget/packages/fsharp.json/0.4.1/lib/netstandard2.0/FSha > rp.Json.dll" > #r > @"../../../../../../../.nuget/packages/system.management/7.0.0/lib/netstandard2. > 0/System.Management.dll" > > ── fsharp ────────────────────────────────────────────────────────────────────── > #if !INTERACTIVE > open Lib > #endif > > ── fsharp ────────────────────────────────────────────────────────────────────── > open Common > open SpiralFileSystem.Operators > open Microsoft.AspNetCore.SignalR.Client > > ── fsharp ────────────────────────────────────────────────────────────────────── > open System > open System.Collections.Generic > open System.IO > open System.Text > open System.Threading > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## mapErrors │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline mapErrors (severity, errors, lastTopLevelIndex) allCode = > let allCodeLineLength = > allCode |> SpiralSm.split "\n" |> Array.length > > errors > |> List.map (fun (_, error) -> > match error with > | Supervisor.FatalError message -> > ( > severity, message, 0, ("", (0, 0), (0, 0)) > ) > |> List.singleton > | Supervisor.TracedError data -> > data.trace > |> List.truncate 5 > |> List.append [[ data.message ]] > |> List.map (fun message -> > ( > severity, message, 0, ("", (0, 0), (0, 0)) > ) > ) > | Supervisor.PackageErrors data > | Supervisor.TokenizerErrors data > | Supervisor.ParserErrors data > | Supervisor.TypeErrors data -> > data.errors > |> List.filter (fun ((rangeStart, _), _) -> > trace Debug (fun () -> $"Eval.mapErrors / rangeStart.line: > {rangeStart.line} / lastTopLevelIndex: {lastTopLevelIndex} / allCodeLineLength: > {allCodeLineLength} / filtered: {rangeStart.line > allCodeLineLength}") _locals > rangeStart.line > allCodeLineLength > ) > |> List.map (fun ((rangeStart, rangeEnd), message) -> > ( > severity, > message, > 0, > ( > (data.uri |> System.IO.Path.GetFileName), > ( > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeStart.line - allCodeLineLength - 2 > | _ -> rangeStart.line - allCodeLineLength), > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeStart.character - 4 > | _ -> rangeStart.character) > ), > ( > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeEnd.line - allCodeLineLength - 2 > | _ -> rangeEnd.line - allCodeLineLength), > (match lastTopLevelIndex with > | Some i when rangeStart.line >= i + > allCodeLineLength + 3 -> > rangeEnd.character - 4 > | _ -> rangeEnd.character) > ) > ) > ) > ) > ) > |> List.collect id > |> List.toArray > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### workspaceRoot │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let workspaceRoot = SpiralFileSystem.get_workspace_root () > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### targetDir │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let targetDir = workspaceRoot </> "target/spiral_Eval" > [[ targetDir ]] > |> List.iter (fun dir -> if Directory.Exists dir |> not then > Directory.CreateDirectory dir |> ignore) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ### assemblyName │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let assemblyName = Reflection.Assembly.GetEntryAssembly().GetName().Name > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## allCode │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let mutable allCode = "" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## allCodeReal │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let mutable allCodeReal = "" > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## traceToggle │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let mutable traceToggle = false > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## getParentProcessId │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let getParentProcessId () = > if SpiralPlatform.is_windows () |> not > then 0u > else > let pid = System.Diagnostics.Process.GetCurrentProcess().Id > let query = $"SELECT ParentProcessId FROM Win32_Process WHERE ProcessId > = {pid}" > use searcher = new System.Management.ManagementObjectSearcher (query) > use results = searcher.Get () > let data = results |> Seq.cast<System.Management.ManagementObject> > if data |> Seq.isEmpty > then 0u > else data |> Seq.head |> (fun mo -> mo.[["ParentProcessId"]] :?> uint32) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## startTokenRangeWatcher │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline startTokenRangeWatcher () = > if [[ "dotnet-repl" ]] |> List.contains assemblyName |> not then > let tokensDir = targetDir </> "tokens" > > [[ tokensDir ]] > |> List.iter (fun dir -> if Directory.Exists dir |> not then > Directory.CreateDirectory dir |> ignore) > > let stream, disposable = FileSystem.watchDirectory (fun _ -> false) > tokensDir > > try > let existingFilesChild = > tokensDir > |> System.IO.Directory.GetDirectories > |> Array.map (fun codeDir -> async { > try > let tokensPath = codeDir </> "tokens.json" > if tokensPath |> File.Exists |> not then > let spiralCodePath = codeDir </> "main.spi" > let spiralRealCodePath = codeDir </> > "real_main.spir" > let spiralExists = spiralCodePath |> > System.IO.File.Exists > let spiralRealExists = spiralRealCodePath |> > System.IO.File.Exists > if spiralExists |> not && spiralRealExists |> not > then do! codeDir |> > SpiralFileSystem.delete_directory_async |> Async.Ignore > else > let! tokens = > if spiralExists then spiralCodePath else > spiralRealCodePath > |> Supervisor.getFileTokenRange None None > match tokens with > | Some tokens -> > do! > tokens > |> FSharp.Json.Json.serialize > |> SpiralFileSystem.write_all_text_async > tokensPath > | None -> > trace Verbose (fun () -> > $"Eval.startTokenRangeWatcher / GetDirectories / tokens: None") _locals > with ex -> > trace Critical (fun () -> $"Eval.startTokenRangeWatcher > / GetDirectories / ex: {ex |> SpiralSm.format_exception}") _locals > }) > |> Async.Parallel > |> Async.Ignore > > let streamAsyncChild = > stream > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun (ticks, event) > -> > match event with > | FileSystem.FileSystemChange.Changed (codePath, _) > when [[ "main.spi"; "real_main.spir" ]] > |> List.contains (System.IO.Path.GetFileName > codePath) > -> > async { > let hashDir = codePath |> > System.IO.Directory.GetParent > let hashHex = hashDir.Name > let codePath = tokensDir </> codePath > let tokensPath = tokensDir </> hashHex </> > "tokens.json" > do! Async.Sleep 30 > let! tokens = codePath |> > Supervisor.getFileTokenRange None None > match tokens with > | Some tokens -> > do! > tokens > |> FSharp.Json.Json.serialize > |> > SpiralFileSystem.write_all_text_exists tokensPath > | None -> > trace Verbose (fun () -> > $"Eval.startTokenRangeWatcher / iterAsyncParallel / tokens: None") _locals > } > |> Async.retryAsync 2 > |> Async.map (Result.toOption >> Option.get) > | _ -> () |> Async.init > ) > > let parentAsyncChild = async { > let parentProcessId = getParentProcessId () > trace Verbose > (fun () -> "Eval.parentAsyncChild") > (fun () -> $"parentProcessId: {parentProcessId} / {_locals > ()}") > > if parentProcessId > 0u then > let parentProcess = parentProcessId |> int |> > System.Diagnostics.Process.GetProcessById > do! parentProcess.WaitForExitAsync () |> Async.AwaitTask > trace Verbose > (fun () -> "Eval.parentAsyncChild / Parent process has > exited. Performing cleanup...") > (fun () -> $"{_locals ()}") > System.Threading.Thread.Sleep 1000 > System.Environment.Exit 1 > } > > async { > do! Async.Sleep 3000 > existingFilesChild |> Async.StartImmediate > streamAsyncChild |> Async.Start > parentAsyncChild |> Async.Start > } > |> Async.Start > with ex -> > trace Critical (fun () -> $"Eval.startTokenRangeWatcher / ex: {ex |> > SpiralSm.format_exception}") _locals > > disposable > else new_disposable (fun () -> ()) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## startCommandsWatcher │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let startCommandsWatcher (uriServer : string) = > let commandsDir = targetDir </> "eval_commands" > let commandHistoryDir = targetDir </> "eval_command_history" > [[ commandsDir; commandHistoryDir ]] > |> List.iter (fun dir -> if Directory.Exists dir |> not then > Directory.CreateDirectory dir |> ignore) > > Directory.EnumerateFiles commandsDir |> Seq.iter File.Delete > > let stream, disposable = > commandsDir > |> FileSystem.watchDirectory (function > | FileSystem.FileSystemChange.Created _ -> true > | _ -> false > ) > > let connection = HubConnectionBuilder().WithUrl(uriServer).Build() > connection.StartAsync() |> Async.AwaitTask |> Async.Start > // let _ = connection.On<string>("ServerToClientMsg", fun x -> > // printfn $"ServerToClientMsg: '{x}'" > // ) > > stream > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun (ticks, event) -> async { > let _locals () = $"ticks: {ticks} / event: {event} / {_locals ()}" > trace Verbose (fun () -> "Eval.startCommandsWatcher / > iterAsyncParallel") _locals > > match event with > | FileSystem.FileSystemChange.Created (path, Some json) -> > try > let fullPath = commandsDir </> path > let! result = > connection.InvokeAsync<string>("ClientToServerMsg", json) |> Async.AwaitTask > let commandHistoryPath = commandHistoryDir </> path > do! fullPath |> SpiralFileSystem.move_file_async > commandHistoryPath |> Async.Ignore > if result |> SpiralSm.trim |> String.length > 0 then > let resultPath = commandHistoryDir </> > $"{Path.GetFileNameWithoutExtension path}_result.json" > do! result |> SpiralFileSystem.write_all_text_async > resultPath > with ex -> > let _locals () = $"ex: {ex |> SpiralSm.format_exception} / > {_locals ()}" > trace Critical (fun () -> "Eval.startCommandsWatcher / > iterAsyncParallel") _locals > | _ -> () > }) > |> Async.StartChild > |> Async.Ignore > |> Async.Start > > new_disposable (fun () -> > disposable.Dispose () > ) > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## prepareSpiral │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let prepareSpiral rawCellCode lines = > let lastBlock = > lines > |> Array.tryFindBack (fun line -> > line |> String.length > 0 > && line.[[0]] <> ' ' > ) > > let hasMain = > lastBlock > |> Option.exists (fun line -> > line |> SpiralSm.starts_with "inl main " > || line |> SpiralSm.starts_with "let main " > ) > > if hasMain > then rawCellCode, None > else > let lastTopLevelIndex, _ = > (lines |> Array.indexed, (None, false)) > ||> Array.foldBack (fun (i, line) (lastTopLevelIndex, finished) -> > // trace Verbose (fun () -> $"Eval.prepareSpiral / i: {i} / > line: '{line}' / lastTopLevelIndex: {lastTopLevelIndex} / finished: {finished}") > _locals > match line with > | _ when finished -> lastTopLevelIndex, true > | "" -> lastTopLevelIndex, false > | line when > line |> SpiralSm.starts_with " " > || line |> SpiralSm.starts_with "// " -> lastTopLevelIndex, > false > | line when > line |> SpiralSm.starts_with "open " > || line |> SpiralSm.starts_with "prototype " > || line |> SpiralSm.starts_with "instance " > || line |> SpiralSm.starts_with "type " > || line |> SpiralSm.starts_with "union " > || line |> SpiralSm.starts_with "nominal " -> > lastTopLevelIndex, true > | line when > line |> SpiralSm.starts_with "inl " > || line |> SpiralSm.starts_with "let " -> > let m = > System.Text.RegularExpressions.Regex.Match ( > line, > @"^(inl|let) +([[~\(\w]][[\w\d']]*(?:| > *[[~\w]][[\w\d']]*\)|, *[[~\w]][[\w\d']]*)) +[[:=]](?! +function)" > ) > trace Verbose (fun () -> $"Eval.prepareSpi / m: '{m}' / > m.Groups.Count: {m.Groups.Count}") _locals > if m.Groups.Count = 3 > then Some i, false > else lastTopLevelIndex, true > | _ -> Some i, false > ) > let code = > match lastTopLevelIndex with > | Some lastTopLevelIndex -> > lines > |> Array.mapi (fun i line -> > match i with > | i when i < lastTopLevelIndex -> line > | i when i = lastTopLevelIndex -> $"\nlet main () =\n > {line}" > | _ when line |> SpiralSm.trim = "" -> "" > | _ -> $" {line}" > ) > |> SpiralSm.concat "\n" > | None -> $"{rawCellCode}\n\ninl main () = ()\n" > code, lastTopLevelIndex > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## processSpiralOutput │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let processSpiralOutput > (props : {| > printCode: bool > traceLevel: TraceLevel > builderCommands: string array > lastTopLevelIndex: int option > backend: Supervisor.Backend > cancellationToken: _ > spiralErrors: _ > code: string > outputPath: string > isReal: bool > |}) > = async { > let inline _trace (fn : unit -> string) = > if props.traceLevel = Verbose > then trace Info (fun () -> $"Eval.processSpiralOutput / props: {props |> > FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end 400} / {fn ()}") _locals > else fn () |> System.Console.WriteLine > > if props.printCode then > let ext = props.outputPath |> System.IO.Path.GetExtension > _trace (fun () -> if props.builderCommands.Length > 0 then > $"{ext}:\n{props.code}\n" else props.code) > > let workspaceRootExternal = > let currentDir = > System.IO.Directory.GetCurrentDirectory () > |> SpiralSm.to_lower > let workspaceRoot = workspaceRoot |> SpiralSm.to_lower > if currentDir |> SpiralSm.starts_with workspaceRoot > then None > else Some workspaceRoot > > let! spiralBuilderResults = > match props.builderCommands, props.lastTopLevelIndex with > | [[||]], _ | _, None -> [[||]] |> Async.init > | builderCommands, _ -> > builderCommands > |> Array.map (fun builderCommand -> > let path = > workspaceRoot </> > $@"workspace/target/release/spiral_builder{SpiralPlatform.get_executable_suffix > ()}" > |> System.IO.Path.GetFullPath > let commands = > if props.backend = Supervisor.Fsharp > && ( > builderCommand |> SpiralSm.starts_with "rust" > || builderCommand |> SpiralSm.starts_with > "typescript" > || builderCommand |> SpiralSm.starts_with "python" > ) > then [[| $"{path} fable --fs-path \"{props.outputPath}\" > --command \"{builderCommand}\"" |]] > elif props.backend = Supervisor.Cuda > && builderCommand |> SpiralSm.starts_with "cuda" > then [[| $"{path} {builderCommand} --py-path > \"{props.outputPath}\"" |]] > else [[||]] > builderCommand, commands > ) > |> Array.filter (fun (_, commands) -> commands.Length > 0) > |> Array.map (fun (builderCommand, commands) -> > commands > |> Array.map (fun command -> async { > let! exitCode, result = > SpiralRuntime.execution_options (fun x -> > { x with > l0 = command > l1 = props.cancellationToken > l2 = [[| > "AUTOMATION", assemblyName = "dotnet-repl" > |> string > "TRACE_LEVEL", $"%A{if props.printCode then > props.traceLevel else Info}" > |]] > l6 = workspaceRootExternal > } > ) > |> SpiralRuntime.execute_with_options_async > trace Debug > (fun () -> $"Eval.processSpiralOutput / spiral_builder") > (fun () -> $"exitCode: {exitCode} / result: {result |> > SpiralSm.ellipsis_end 400} / {_locals ()}") > return > if exitCode = 0 > then (result, false) |> Ok > else result |> Error > }) > ) > |> Array.collect id > |> Async.Parallel > > let hasEval = > props.backend = Supervisor.Fsharp > && props.builderCommands |> Array.exists (fun x -> x |> > SpiralSm.starts_with "fsharp") > > let outputResult = > if props.builderCommands.Length > 0 && not hasEval > then None > else > let code = > if props.builderCommands.Length > 1 > then > let header = "System.Console.WriteLine \".fsx output:\"\n" > $"{header}{props.code}" > else props.code > Some (Ok [[ code, true ]]) > > match outputResult, spiralBuilderResults with > | Some outputResult, [[||]] -> > return outputResult, [[||]] > | None, [[||]] -> > return Ok [[ "()", true ]], [[||]] > | _, spiralBuilderResults -> > try > let spiralResults = > match outputResult with > | Some (Ok code) -> > spiralBuilderResults > |> Array.append (code |> List.map Ok |> List.toArray) > | _ -> spiralBuilderResults > let codes = > spiralResults > |> Array.map (fun spiralBuilderResult' -> > let spiralBuilderResult'', errors = > match spiralBuilderResult' with > | Ok (x, false) -> > let x = x |> > FSharp.Json.Json.deserialize<Map<string,string>> > x, [[||]] > | Ok (x, true) -> > let result = > [[ > "command_result", > [[ > "extension", "fsx" > "code", x > "output", "" > ]] > |> Map.ofList > |> FSharp.Json.Json.serialize > ]] > |> Map.ofList > result, [[||]] > > | Error error -> > ([[]] |> Map), > [[| > ( > TraceLevel.Critical, > $"Eval.processSpiralOutput / evalResult error / errors[[0]] / outputPath: > {props.outputPath} / builderCommands: %A{props.builderCommands} / > spiralBuilderResult': %A{spiralBuilderResult'} / error: %A{error}", 0, ("", (0, > 0), (0, 0)) > ) > |]] > > if errors |> Array.isEmpty |> not > || spiralBuilderResult'' |> Map.containsKey > "command_result" |> not > then Error (Exception $"Eval.processSpiralOutput / > evalResult errors / Exception / spiralBuilderResult'': > %A{spiralBuilderResult''}"), errors > else > let commandResult = > spiralBuilderResult''.[["command_result"]] |> > FSharp.Json.Json.deserialize<Map<string,string>> > > let extension = commandResult.[["extension"]] > let code = commandResult.[["code"]] > let output = commandResult.[["output"]] > > let eval = output = "" && extension = "fsx" > > if props.printCode && not eval > then _trace (fun () -> $""".{extension}:{'\n'}{code}""") > > trace Debug > (fun () -> $"Eval.processSpiralOutput / result") > (fun () -> $"commandResult: {commandResult |> > FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end 400}/ {_locals ()}") > > let code = > if props.printCode > || spiralResults.Length > 1 > || props.builderCommands.Length > 1 > then > if eval then > code > else > let header = > if props.backend = Supervisor.Fsharp > then $".{extension} output:\n" > else $".{extension} output > ({props.backend}):\n" > $"""{if output |> SpiralSm.contains "\n" > then "\n" else ""}{header}{output}""" > elif eval > then code > else output > Ok (code, eval), [[||]] > ) > trace Debug > (fun () -> $"Eval.processSpiralOutput / codes") > (fun () -> > let props = {| props with cancellationToken = None |} > $"codes: {codes |> FSharp.Json.Json.serialize |> > SpiralSm.ellipsis_end 400} / spiralResults: {spiralResults |> > FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end 400} / spiralBuilderResults: > {spiralBuilderResults |> FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end > 400} / props: {props |> FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end 400} > / {_locals ()}") > return > (((Ok [[]]), [[||]]), codes) > ||> Array.fold (fun (acc_code, acc_errors) (code, errors) -> > match code, acc_code with > | Ok code, Ok acc_code -> > let errors = > acc_errors > |> Array.append errors > |> Array.append props.spiralErrors > let errors = > if errors |> Array.isEmpty > then errors > else > errors > |> Array.append [[| > TraceLevel.Critical, > $"Eval.processSpiralOutput / errors / errors[[-1]] / outputPath: > {props.outputPath} / builderCommands: %A{props.builderCommands} / code: {code |> > fst |> SpiralSm.ellipsis_end 400}", 0, ("", (0, 0), (0, 0)) > |]] > Ok (code :: acc_code), errors > | Error error, _ > | _, Error error -> > Error error, > acc_errors |> Array.append errors > ) > with ex -> > trace Critical (fun () -> $"Eval.processSpiralOutput / try 2 ex / > spiralBuilderResults: %A{spiralBuilderResults} / ex: {ex |> > SpiralSm.format_exception}") _locals > return Error (Exception $"Eval.processSpiralOutput / try 2 ex / > Exception / spiralBuilderResults: %A{spiralBuilderResults} / ex: {ex |> > SpiralSm.format_exception}"), > [[| > ( > TraceLevel.Critical, $"Eval.processSpiralOutput / try 2 ex / > errors[[0]] / spiralBuilderResults: %A{spiralBuilderResults} / ex: {ex |> > SpiralSm.format_exception}", 0, ("", (0, 0), (0, 0)) > ) > |]] > } > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## tryGetPropertyValue │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let tryGetPropertyValue (propertyName: string) (obj: obj) = > let objType = obj.GetType () > let propertyInfo = propertyName |> objType.GetProperty > if propertyInfo <> null > then propertyInfo.GetValue (obj, null) |> Some > else None > > ── markdown ──────────────────────────────────────────────────────────────────── > ╭──────────────────────────────────────────────────────────────────────────────╮ > │ ## eval │ > ╰──────────────────────────────────────────────────────────────────────────────╯ > > ── fsharp ────────────────────────────────────────────────────────────────────── > let inline eval > (fsi_eval: > string > -> System.Threading.CancellationToken > -> Choice<'a, Exception> * (TraceLevel * string * int * (string * (int * > int) * (int * int))) array) > (cancellationToken: Option<System.Threading.CancellationToken>) > (code: string) > = > trace Verbose > (fun () -> $"Eval.eval") > (fun () -> $"code: {code |> SpiralSm.ellipsis_end 400} / {_locals ()}") > > let rawCellCode = > code |> SpiralSm.replace "\r\n" "\n" > > let lines = rawCellCode |> SpiralSm.split "\n" > > if lines |> Array.exists (fun line -> line |> SpiralSm.starts_with "#r " && > line |> SpiralSm.ends_with "\"") then > let cancellationToken = defaultArg cancellationToken > System.Threading.CancellationToken.None > let ch, errors = fsi_eval code cancellationToken > trace Verbose (fun () -> $"Eval.eval / fsi_eval 1 / ch: %A{ch} / errors: > {errors}") _locals > match ch with > | Choice1Of2 v -> Ok(v), errors > | Choice2Of2 ex -> Error(ex), errors > else > let builderCommands = > lines > |> Array.choose (fun line -> > if line |> SpiralSm.starts_with "///! " > then line |> SpiralSm.split "///! " |> Array.tryItem 1 > else None > ) > > let timeout = > lines > |> Array.tryPick (fun line -> > if line |> SpiralSm.starts_with "//// timeout=" > then line |> SpiralSm.split "=" |> Array.tryItem 1 |> Option.map > int > else None > ) > |> Option.defaultValue (60000 * 60) > > let boolArg def command = > lines > |> Array.tryPick (fun line -> > let text = $"//// {command}" > match line.[[0..text.Length-1]], line.[[text.Length..]] with > | head, "" when head = text -> > Some true > | head, _ when head = text -> > line |> SpiralSm.split "=" |> Array.tryItem 1 |> Option.map > ((<>) "false") > | _ -> None > ) > |> Option.defaultValue def > > let printCode = "print_code" |> boolArg false > let isTraceToggle = "trace_toggle" |> boolArg false > let isTrace = "trace" |> boolArg false > let isCache = "cache" |> boolArg false > let isReal = "real" |> boolArg false > > if isTraceToggle > then traceToggle <- not traceToggle > > let oldLevel = get_trace_level () > let traceLevel = > if isTrace || traceToggle > then Verbose > else Info > traceLevel > |> to_trace_level > |> set_trace_level > use _ = (new_disposable (fun () -> > oldLevel |> set_trace_level > )) > > async { > try > let cellCode, lastTopLevelIndex = prepareSpiral rawCellCode > lines > let newAllCode = > if isReal > then $"{allCodeReal}\n\n{cellCode}" > else $"{allCode}\n\n{cellCode}" > > let buildBackends = > if builderCommands.Length = 0 > then [[| Supervisor.Fsharp |]] > else > builderCommands > |> Array.map (fun x -> > if x |> SpiralSm.starts_with "cuda" > then Supervisor.Cuda > else Supervisor.Fsharp > ) > |> Array.distinct > > trace Verbose > (fun () -> $"Eval.eval") > (fun () -> $"lastTopLevelIndex: {lastTopLevelIndex} / > builderCommands: %A{builderCommands} / buildBackends: %A{buildBackends} / > isReal: {isReal} / {_locals ()}") > > let! buildCodeResults = > buildBackends > |> Array.map (fun backend -> async { > let! result = > if isReal > then Supervisor.Spir newAllCode > else > Supervisor.Spi > (newAllCode, if allCodeReal = "" then None > else Some allCodeReal) > |> Supervisor.buildCode backend isCache timeout > cancellationToken > return backend, result > }) > |> Async.Parallel > |> Async.catch > |> Async.runWithTimeoutAsync timeout > > match buildCodeResults with > | Some (Ok buildCodeResults) -> > let! result, errors = > ((Ok [[]], [[||]]), buildCodeResults) > ||> Async.fold (fun acc buildCodeResult -> async { > match buildCodeResult with > | backend, (_, (outputPath, Some code), > spiralErrors) -> > let spiralErrors = > mapErrors (Warning, spiralErrors, > lastTopLevelIndex) allCode > let! result = > processSpiralOutput > {| > printCode = printCode > traceLevel = traceLevel > builderCommands = builderCommands > lastTopLevelIndex = > lastTopLevelIndex > backend = backend > cancellationToken = > cancellationToken > spiralErrors = spiralErrors > code = code > outputPath = outputPath > isReal = isReal > |} > match result, acc with > | (Ok code, errors), (Ok acc_code, acc_errors) > -> > return Ok (acc_code @ code), acc_errors |> > Array.append errors > | (Error ex, errors), _ | _, (Error ex, errors) > -> > return Error ex, errors |> Array.append > errors > | _, (_, _, errors) when errors |> List.isEmpty |> > not -> > return errors.[[0]] |> fst |> Exception |> > Error, > mapErrors (TraceLevel.Critical, errors, > lastTopLevelIndex) allCode > | _ -> return acc > }) > let cancellationToken = defaultArg cancellationToken > System.Threading.CancellationToken.None > match result, errors with > | Ok code, [[||]] -> > let code, eval = > code > |> List.map (fun (code, eval) -> > if eval > then None, Some code > else Some code, None > ) > |> List.unzip > let code = code |> List.choose id > let eval = eval |> List.choose id > > trace Debug > (fun () -> $"Eval.eval") > (fun () -> $"eval: {eval |> > FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end 400} / code: {code |> > FSharp.Json.Json.serialize |> SpiralSm.ellipsis_end 400} / {_locals ()}") > > let ch, errors = > match eval, code with > | [[]], [[]] -> > Choice2Of2 (Exception $"Eval.eval / eval=[[]] / > code=[[]] / buildCodeResults: %A{buildCodeResults} / code: %A{code}"), errors > | [[ eval ]], [[]] -> > let ch, errors2 = fsi_eval eval > cancellationToken > let errors = > errors2 > // |> Array.map (fun (e1, e2, e3, _) -> > // (e1, e2, e3, ("", (0, 0), (0, 0))) > // ) > |> Array.append errors > ch, errors > | [[]], _ -> > let code = code |> List.rev |> String.concat > "\n\n" > let code = > if printCode > then $"\"\"\"{code}\n\n\"\"\"" > else $"\"\"\"{code}\n\"\"\"" > let ch, errors2 = fsi_eval code > cancellationToken > let errors = > errors2 > // |> Array.map (fun (e1, e2, e3, _) -> > // (e1, e2, e3, ("", (0, 0), (0, 0))) > // ) > |> Array.append errors > ch, errors > | _ -> > let code, errors = > ((Ok (code |> List.rev), [[||]]), eval) > ||> List.fold (fun (acc, acc_errors) eval -> > match acc with > | Error x -> Error x, acc_errors > | Ok acc -> > let ch, errors = fsi_eval eval > cancellationToken > let errors = > errors > // |> Array.map (fun (e1, e2, > e3, _) -> > // (e1, e2, e3, ("", (0, 0), > (0, 0))) > // ) > |> Array.append acc_errors > match ch with > | Choice1Of2 v -> > let v = > v > |> tryGetPropertyValue > "ReflectionValue" > |> Option.map (fun x -> > $"%A{x}") > |> Option.defaultValue "" > Ok (v :: acc), errors > | Choice2Of2 ex -> > trace Critical (fun () -> > $"Eval.eval / fsi_eval fold Choice error / buildCodeResults: > %A{buildCodeResults} / ex: {ex |> SpiralSm.format_exception}") _locals > Error ch, errors > ) > match code with > | Error ch -> ch, errors > | Ok code -> > let code = > code > |> List.filter ((<>) "") > |> String.concat "\n\n" > > let code = > if builderCommands.Length > 0 && > eval.Length = 0 > then code > elif code |> SpiralSm.contains "\n\n\n" > then $"{code}\n\n" > else $"{code}\n" > > let code = > if printCode > then $"\"\"\"{code}\n\n\n\"\"\"" > else $"\"\"\"{code}\n\"\"\"" > let ch, errors2 = fsi_eval code > cancellationToken > let errors = > errors2 > // |> Array.map (fun (e1, e2, e3, _) -> > // (e1, e2, e3, ("", (0, 0), (0, > 0))) > // ) > |> Array.append errors > ch, errors > match ch with > | Choice1Of2 v -> > if isReal > then allCodeReal <- newAllCode > else allCode <- newAllCode > return Ok(v), errors > | Choice2Of2 ex -> > return Error ex, errors > | Ok code, errors -> > return Error (Exception "Eval.eval / errors / > buildCodeResults: %A{buildCodeResults} / code: %A{code}"), errors > | Error error, errors -> > return Error error, errors > | Some (Error ex) -> > trace Critical (fun () -> $"Eval.eval / buildCodeResults > Error / buildCodeResults: %A{buildCodeResults} / ex: {ex |> > SpiralSm.format_exception}") _locals > return Error (Exception $"Eval.eval / buildCodeResults Error > / Exception / buildCodeResults: %A{buildCodeResults} / ex: {ex |> > SpiralSm.format_exception}"), > [[| > ( > TraceLevel.Critical, $"Eval.eval / buildCodeResults > Error / errors[[0]] / buildCodeResults: %A{buildCodeResults} / ex: {ex |> > SpiralSm.format_exception}", 0, ("", (0, 0), (0, 0)) > ) > |]] > | _ -> > return Error (Exception $"Eval.eval / buildCodeResults / > Exception / buildCodeResults: %A{buildCodeResults}"), > [[| > ( > TraceLevel.Critical, $"Eval.eval / buildCodeResults > / errors[[0]] / buildCodeResults: %A{buildCodeResults}", 0, ("", (0, 0), (0, 0)) > ) > |]] > with ex -> > trace Critical (fun () -> $"Eval.eval / try 1 ex / lines : > %A{lines} / ex: {ex |> SpiralSm.format_exception}") _locals > return Error (Exception $"Eval.eval / try 1 ex / Exception / > %A{lines} / ex: {ex |> SpiralSm.format_exception}"), > [[| > ( > TraceLevel.Critical, $"Eval.eval / try 1 ex / > errors[[0]] / %A{lines} / ex: {ex |> SpiralSm.format_exception}", 0, ("", (0, > 0), (0, 0)) > ) > |]] > } > |> Async.runWithTimeout timeout > |> Option.defaultValue ( > Error (Exception $"Eval.eval / Async.runWithTimeout / Exception / > timeout: {timeout} / %A{lines}"), > [[| > ( > TraceLevel.Critical, $"Eval.eval / Async.runWithTimeout / > errors[[0]] / timeout: {timeout} / %A{lines}", 0, ("", (0, 0), (0, 0)) > ) > |]] > ) 00:00:28 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 50048 } 00:00:28 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:29 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.ipynb to html 00:00:29 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:29 verbose #7 ! validate(nb) 00:00:29 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:29 verbose #9 ! return _pygments_highlight( 00:00:30 verbose #10 ! [NbConvertApp] Writing 440797 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.html 00:00:30 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 894 } 00:00:30 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 894 } 00:00:30 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/Eval.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:30 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:30 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:30 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 51001 } 00:00:00 debug #1 writeDibCode / output: Fs / path: Eval.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: Eval.dib
In [ ]:
{ pwsh ../apps/spiral/builder/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../../workspace/target/release/spiral_builder dib --path spiral_builder.dib; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "spiral_builder.dib"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # spiral_builder │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:05 verbose #15 > > 00:00:05 verbose #16 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:05 verbose #17 > > open file_system_operators 00:00:05 verbose #18 > > open rust.rust_operators 00:00:05 verbose #19 > > open rust 00:00:05 verbose #20 > > open sm'_operators 00:00:05 verbose #21 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0a05e723d7750e776c0cda7db05556498a21aca97e686f2fef7bb8434bd6cea5/main.spi 00:00:08 verbose #22 > > 00:00:08 verbose #23 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #24 > > //// test 00:00:08 verbose #25 > > 00:00:08 verbose #26 > > open testing 00:00:08 verbose #27 > 00:00:08 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/58b7d1a35ee32515cfc868cc16e695b799ca185b5aaf17dd5e23d4e8a9ba6d18/main.spi 00:00:08 verbose #28 > > 00:00:08 verbose #29 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #30 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #31 > > │ ## get_args │ 00:00:08 verbose #32 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #33 > > 00:00:08 verbose #34 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #35 > > inl get_args () = 00:00:08 verbose #36 > > { 00:00:08 verbose #37 > > fsharp = "fsharp", { 00:00:08 verbose #38 > > spi_path = "spi-path", 's' 00:00:08 verbose #39 > > } 00:00:08 verbose #40 > > cuda = "cuda", { 00:00:08 verbose #41 > > py_path = "py-path", 'p' 00:00:08 verbose #42 > > env = "env", 'e' 00:00:08 verbose #43 > > deps = "deps", 'd' 00:00:08 verbose #44 > > } 00:00:08 verbose #45 > > fable = "fable", { 00:00:08 verbose #46 > > fs_path = "fs-path", 'f' 00:00:08 verbose #47 > > command = "command", 'c' 00:00:08 verbose #48 > > } 00:00:08 verbose #49 > > rust = "rust", { 00:00:08 verbose #50 > > fs_path = "fs-path", 'f' 00:00:08 verbose #51 > > deps = "deps", 'd' 00:00:08 verbose #52 > > } 00:00:08 verbose #53 > > typescript = "typescript", { 00:00:08 verbose #54 > > fs_path = "fs-path", 'f' 00:00:08 verbose #55 > > deps = "deps", 'd' 00:00:08 verbose #56 > > } 00:00:08 verbose #57 > > python = "python", { 00:00:08 verbose #58 > > fs_path = "fs-path", 'f' 00:00:08 verbose #59 > > deps = "deps", 'd' 00:00:08 verbose #60 > > } 00:00:08 verbose #61 > > dib = "dib", { 00:00:08 verbose #62 > > path = "path", 'p' 00:00:08 verbose #63 > > retries = "retries", 'r' 00:00:08 verbose #64 > > working_directory = "working-directory", 'w' 00:00:08 verbose #65 > > } 00:00:08 verbose #66 > > } 00:00:08 verbose #67 > 00:00:08 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/faf53a5f72c3e7ac5fecc41e15240e0313f71fb1e2019bf0ae6816004616f9d6/main.spi 00:00:08 verbose #68 > > 00:00:08 verbose #69 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #70 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #71 > > │ ## cuda_env │ 00:00:08 verbose #72 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #73 > > 00:00:08 verbose #74 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #75 > > union cuda_env = 00:00:08 verbose #76 > > | Pip 00:00:08 verbose #77 > > | Poetry 00:00:08 verbose #78 > 00:00:08 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aa6ddb2743d7e50e15a51b246d58f1136ad85580a0f1c0ad4a98584f8a53b9a1/main.spi 00:00:09 verbose #79 > > 00:00:09 verbose #80 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #81 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #82 > > │ ## get_command │ 00:00:09 verbose #83 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #84 > > 00:00:09 verbose #85 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #86 > > let get_command () = 00:00:09 verbose #87 > > ##"command" 00:00:09 verbose #88 > > |> runtime.new_command 00:00:09 verbose #89 > > |> runtime.command_subcommand_required true 00:00:09 verbose #90 > > |> runtime.command_subcommand ( 00:00:09 verbose #91 > > ##(get_args () .fsharp |> fst) 00:00:09 verbose #92 > > |> runtime.new_command 00:00:09 verbose #93 > > |> runtime.command_init_arg ((get_args () .fsharp |> snd).spi_path) ( 00:00:09 verbose #94 > > runtime.arg_required true 00:00:09 verbose #95 > > ) 00:00:09 verbose #96 > > ) 00:00:09 verbose #97 > > |> runtime.command_subcommand ( 00:00:09 verbose #98 > > ##(get_args () .cuda |> fst) 00:00:09 verbose #99 > > |> runtime.new_command 00:00:09 verbose #100 > > |> runtime.command_init_arg ((get_args () .cuda |> snd).py_path) ( 00:00:09 verbose #101 > > runtime.arg_required true 00:00:09 verbose #102 > > ) 00:00:09 verbose #103 > > |> runtime.command_init_arg ((get_args () .cuda |> snd).env) ( 00:00:09 verbose #104 > > real runtime.arg_union `cuda_env ignore 00:00:09 verbose #105 > > ) 00:00:09 verbose #106 > > |> runtime.command_init_arg ((get_args () .cuda |> snd).deps) ( 00:00:09 verbose #107 > > runtime.arg_value_names ;[[ ##"NAME"; ##"VERSION" ]] 00:00:09 verbose #108 > > >> runtime.arg_num_args_range ( 00:00:09 verbose #109 > > runtime.new_value_range 00:00:09 verbose #110 > > (am'.Start (1i32 |> convert : unativeint)) 00:00:09 verbose #111 > > (am'.End id) 00:00:09 verbose #112 > > ) 00:00:09 verbose #113 > > >> runtime.arg_action runtime.Append 00:00:09 verbose #114 > > ) 00:00:09 verbose #115 > > ) 00:00:09 verbose #116 > > |> runtime.command_subcommand ( 00:00:09 verbose #117 > > ##(get_args () .fable |> fst) 00:00:09 verbose #118 > > |> runtime.new_command 00:00:09 verbose #119 > > |> runtime.command_init_arg ((get_args () .fable |> snd).fs_path) ( 00:00:09 verbose #120 > > runtime.arg_required true 00:00:09 verbose #121 > > ) 00:00:09 verbose #122 > > |> runtime.command_init_arg ((get_args () .fable |> snd).command) ( 00:00:09 verbose #123 > > id 00:00:09 verbose #124 > > ) 00:00:09 verbose #125 > > ) 00:00:09 verbose #126 > > |> runtime.command_subcommand ( 00:00:09 verbose #127 > > ##(get_args () .rust |> fst) 00:00:09 verbose #128 > > |> runtime.new_command 00:00:09 verbose #129 > > |> runtime.command_init_arg ((get_args () .rust |> snd).fs_path) ( 00:00:09 verbose #130 > > runtime.arg_required true 00:00:09 verbose #131 > > ) 00:00:09 verbose #132 > > |> runtime.command_init_arg ((get_args () .rust |> snd).deps) ( 00:00:09 verbose #133 > > runtime.arg_value_names ;[[ ##"NAME"; ##"VERSION" ]] 00:00:09 verbose #134 > > >> runtime.arg_num_args_range ( 00:00:09 verbose #135 > > runtime.new_value_range 00:00:09 verbose #136 > > (am'.Start (1i32 |> convert : unativeint)) 00:00:09 verbose #137 > > (am'.End id) 00:00:09 verbose #138 > > ) 00:00:09 verbose #139 > > >> runtime.arg_action runtime.Append 00:00:09 verbose #140 > > ) 00:00:09 verbose #141 > > ) 00:00:09 verbose #142 > > |> runtime.command_subcommand ( 00:00:09 verbose #143 > > ##(get_args () .typescript |> fst) 00:00:09 verbose #144 > > |> runtime.new_command 00:00:09 verbose #145 > > |> runtime.command_init_arg ((get_args () .typescript |> snd).fs_path) ( 00:00:09 verbose #146 > > runtime.arg_required true 00:00:09 verbose #147 > > ) 00:00:09 verbose #148 > > |> runtime.command_init_arg ((get_args () .typescript |> snd).deps) ( 00:00:09 verbose #149 > > runtime.arg_value_names ;[[ ##"NAME"; ##"VERSION" ]] 00:00:09 verbose #150 > > >> runtime.arg_num_args_range ( 00:00:09 verbose #151 > > runtime.new_value_range 00:00:09 verbose #152 > > (am'.Start (1i32 |> convert : unativeint)) 00:00:09 verbose #153 > > (am'.End id) 00:00:09 verbose #154 > > ) 00:00:09 verbose #155 > > >> runtime.arg_action runtime.Append 00:00:09 verbose #156 > > ) 00:00:09 verbose #157 > > ) 00:00:09 verbose #158 > > |> runtime.command_subcommand ( 00:00:09 verbose #159 > > ##(get_args () .python |> fst) 00:00:09 verbose #160 > > |> runtime.new_command 00:00:09 verbose #161 > > |> runtime.command_init_arg ((get_args () .python |> snd).fs_path) ( 00:00:09 verbose #162 > > runtime.arg_required true 00:00:09 verbose #163 > > ) 00:00:09 verbose #164 > > |> runtime.command_init_arg ((get_args () .python |> snd).deps) ( 00:00:09 verbose #165 > > runtime.arg_value_names ;[[ ##"NAME"; ##"VERSION" ]] 00:00:09 verbose #166 > > >> runtime.arg_num_args_range ( 00:00:09 verbose #167 > > runtime.new_value_range 00:00:09 verbose #168 > > (am'.Start (1i32 |> convert : unativeint)) 00:00:09 verbose #169 > > (am'.End id) 00:00:09 verbose #170 > > ) 00:00:09 verbose #171 > > >> runtime.arg_action runtime.Append 00:00:09 verbose #172 > > ) 00:00:09 verbose #173 > > ) 00:00:09 verbose #174 > > |> runtime.command_subcommand ( 00:00:09 verbose #175 > > ##(get_args () .dib |> fst) 00:00:09 verbose #176 > > |> runtime.new_command 00:00:09 verbose #177 > > |> runtime.command_init_arg ((get_args () .dib |> snd).path) ( 00:00:09 verbose #178 > > runtime.arg_required true 00:00:09 verbose #179 > > // >> runtime.arg_value_parser (runtime.value_parser_path_buf ()) 00:00:09 verbose #180 > > ) 00:00:09 verbose #181 > > |> runtime.command_init_arg ((get_args () .dib |> snd).retries) ( 00:00:09 verbose #182 > > runtime.arg_value_parser (runtime.value_parser_expr "u8") 00:00:09 verbose #183 > > ) 00:00:09 verbose #184 > > |> runtime.command_init_arg ((get_args () .dib |> 00:00:09 verbose #185 > > snd).working_directory) ( 00:00:09 verbose #186 > > id 00:00:09 verbose #187 > > ) 00:00:09 verbose #188 > > ) 00:00:09 verbose #189 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a03276b31038ca8bb7253815f5959fc3ec3279fa0bea94cecc9995704ff410c9/main.spi 00:00:09 verbose #190 > > 00:00:09 verbose #191 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #192 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #193 > > │ ## fable │ 00:00:09 verbose #194 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #195 > > 00:00:09 verbose #196 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #197 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #198 > > │ ### fable_target │ 00:00:09 verbose #199 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #200 > > 00:00:09 verbose #201 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #202 > > union fable_target = 00:00:09 verbose #203 > > | Rust 00:00:09 verbose #204 > > | TypeScript 00:00:09 verbose #205 > > | Python 00:00:09 verbose #206 > 00:00:08 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bd0c1fef80fe5758408de3659b86cdd6594a879b960766646d72ccec9b79f001/main.spi 00:00:09 verbose #207 > > 00:00:09 verbose #208 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #209 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #210 > > │ ### execute_dotnet_fable │ 00:00:09 verbose #211 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #212 > > 00:00:09 verbose #213 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #214 > > let execute_dotnet_fable { workspace_root_external fsproj_path extension 00:00:09 verbose #215 > > package_dir } = 00:00:09 verbose #216 > > runtime.execution_options fun x => { x with 00:00:09 verbose #217 > > command = 00:00:09 verbose #218 > > inl platform = 00:00:09 verbose #219 > > if platform.is_windows () 00:00:09 verbose #220 > > then "_WINDOWS" 00:00:09 verbose #221 > > else "_LINUX" 00:00:09 verbose #222 > > $'$"dotnet fable \\\"{!fsproj_path}\\\" --optimize --lang 00:00:09 verbose #223 > > {!extension} --extension .{!extension} --outDir \\\"{!package_dir}\\\" --define 00:00:09 verbose #224 > > {!platform}"' 00:00:09 verbose #225 > > working_directory = workspace_root_external |> resultm.box |> 00:00:09 verbose #226 > > resultm.ok' 00:00:09 verbose #227 > > } 00:00:09 verbose #228 > > |> runtime.execute_retry 3u8 00:00:09 verbose #229 > 00:00:09 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e31f8ce50591d833e1071f512bc28b1196b0cac863badf3a0ac4736da63e39d6/main.spi 00:00:09 verbose #230 > > 00:00:09 verbose #231 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #232 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #233 > > │ ### get_package_dir │ 00:00:09 verbose #234 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #235 > > 00:00:09 verbose #236 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #237 > > inl get_package_dir { workspace_root target name hash } = 00:00:09 verbose #238 > > inl dir = workspace_root </> "target/spiral_builder" </> name 00:00:09 verbose #239 > > match hash, (target : option fable_target) with 00:00:09 verbose #240 > > | Some hash, Some target => dir </> "packages" </> (target |> 00:00:09 verbose #241 > > reflection.union_to_string) </> hash 00:00:09 verbose #242 > > | _ => dir 00:00:09 verbose #243 > 00:00:09 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a6b2f1c63abed1561a0b48a657ce7293cd0c8aaec79bd96b23e09581ab617153/main.spi 00:00:10 verbose #244 > > 00:00:10 verbose #245 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #246 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #247 > > │ ### persist_code_project │ 00:00:10 verbose #248 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #249 > > 00:00:10 verbose #250 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #251 > > inl persist_code_project { workspace_root package_dir packages modules name code 00:00:10 verbose #252 > > } = 00:00:10 verbose #253 > > package_dir |> file_system.create_dir |> ignore 00:00:10 verbose #254 > > 00:00:10 verbose #255 > > inl fs_path = package_dir </> $'$"{!name}.fs"' |> file_system.normalize_path 00:00:10 verbose #256 > > code |> file_system.write_all_text_exists fs_path 00:00:10 verbose #257 > > 00:00:10 verbose #258 > > inl modules_code = 00:00:10 verbose #259 > > modules 00:00:10 verbose #260 > > |> listm.map fun path => 00:00:10 verbose #261 > > inl path = workspace_root </> path 00:00:10 verbose #262 > > $'$"<Compile Include=\\\"{!path}\\\" />"' : string 00:00:10 verbose #263 > > |> listm'.box 00:00:10 verbose #264 > > |> seq.of_list' 00:00:10 verbose #265 > > |> sm'.concat "\\n " 00:00:10 verbose #266 > > 00:00:10 verbose #267 > > inl packages_code = 00:00:10 verbose #268 > > packages 00:00:10 verbose #269 > > |> listm.map fun (package : string) => 00:00:10 verbose #270 > > $'$"<PackageReference Include=\\\"{!package}\\\" Version=\\\"*\\\" 00:00:10 verbose #271 > > />"' : string 00:00:10 verbose #272 > > |> listm'.box 00:00:10 verbose #273 > > |> seq.of_list' 00:00:10 verbose #274 > > |> sm'.concat "\\n " 00:00:10 verbose #275 > > 00:00:10 verbose #276 > > inl fsproj_path = package_dir </> $'$"{!name}.fsproj"' |> 00:00:10 verbose #277 > > file_system.normalize_path 00:00:10 verbose #278 > > inl fsproj_code : string = 00:00:10 verbose #279 > > $'$"<Project Sdk=\\\"Microsoft.NET.Sdk\\\">"' 00:00:10 verbose #280 > > +#. $'$"<PropertyGroup>"' 00:00:10 verbose #281 > > +#. $'$" <TargetFramework>net9.0</TargetFramework>"' 00:00:10 verbose #282 > > +#. $'$" <LangVersion>preview</LangVersion>"' 00:00:10 verbose #283 > > +#. $'$" <RollForward>Major</RollForward>"' 00:00:10 verbose #284 > > +#. $'$" <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>"' 00:00:10 verbose #285 > > +#. $'$" <PublishAot>false</PublishAot>"' 00:00:10 verbose #286 > > +#. $'$" <PublishTrimmed>false</PublishTrimmed>"' 00:00:10 verbose #287 > > +#. $'$" <PublishSingleFile>true</PublishSingleFile>"' 00:00:10 verbose #288 > > +#. $'$" <SelfContained>true</SelfContained>"' 00:00:10 verbose #289 > > +#. $'$" <Version>0.0.1-alpha.1</Version>"' 00:00:10 verbose #290 > > +#. $'$" <OutputType>Exe</OutputType>"' 00:00:10 verbose #291 > > +#. $'$"</PropertyGroup>"' 00:00:10 verbose #292 > > 00:00:10 verbose #293 > > +#. $'$"<PropertyGroup 00:00:10 verbose #294 > > Condition=\\\"$([[MSBuild]]::IsOSPlatform(\'FreeBSD\'))\\\">"' 00:00:10 verbose #295 > > +#. $'$" <DefineConstants>_FREEBSD</DefineConstants>"' 00:00:10 verbose #296 > > +#. $'$"</PropertyGroup>"' 00:00:10 verbose #297 > > 00:00:10 verbose #298 > > +#. $'$"<PropertyGroup 00:00:10 verbose #299 > > Condition=\\\"$([[MSBuild]]::IsOSPlatform(\'Linux\'))\\\">"' 00:00:10 verbose #300 > > +#. $'$" <DefineConstants>_LINUX</DefineConstants>"' 00:00:10 verbose #301 > > +#. $'$"</PropertyGroup>"' 00:00:10 verbose #302 > > 00:00:10 verbose #303 > > +#. $'$"<PropertyGroup 00:00:10 verbose #304 > > Condition=\\\"$([[MSBuild]]::IsOSPlatform(\'OSX\'))\\\">"' 00:00:10 verbose #305 > > +#. $'$" <DefineConstants>_OSX</DefineConstants>"' 00:00:10 verbose #306 > > +#. $'$"</PropertyGroup>"' 00:00:10 verbose #307 > > 00:00:10 verbose #308 > > +#. $'$"<PropertyGroup 00:00:10 verbose #309 > > Condition=\\\"$([[MSBuild]]::IsOSPlatform(\'Windows\'))\\\">"' 00:00:10 verbose #310 > > +#. $'$" <DefineConstants>_WINDOWS</DefineConstants>"' 00:00:10 verbose #311 > > +#. $'$"</PropertyGroup>"' 00:00:10 verbose #312 > > 00:00:10 verbose #313 > > +#. $'$"<ItemGroup>"' 00:00:10 verbose #314 > > +#. $'$" {!modules_code}"' 00:00:10 verbose #315 > > +#. $'$" <Compile Include=\\\"{!fs_path}\\\" />"' 00:00:10 verbose #316 > > +#. $'$"</ItemGroup>"' 00:00:10 verbose #317 > > 00:00:10 verbose #318 > > +#. $'$"<ItemGroup>"' 00:00:10 verbose #319 > > +#. $'$" {!packages_code}"' 00:00:10 verbose #320 > > +#. $'$"</ItemGroup>"' 00:00:10 verbose #321 > > 00:00:10 verbose #322 > > +#. $'$"</Project>"' 00:00:10 verbose #323 > > 00:00:10 verbose #324 > > fsproj_code |> file_system.write_all_text_exists fsproj_path 00:00:10 verbose #325 > > 00:00:10 verbose #326 > > fsproj_path 00:00:10 verbose #327 > 00:00:09 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/43ba3e3d80f58c3af875a0730ae88bc23de5f96670b8fba9f8761e15a774a8d3/main.spi 00:00:10 verbose #328 > > 00:00:10 verbose #329 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #330 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #331 > > │ ### build_project │ 00:00:10 verbose #332 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #333 > > 00:00:10 verbose #334 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #335 > > inl build_project runtime' output_dir path = 00:00:10 verbose #336 > > inl full_path = path |> file_system.get_full_path 00:00:10 verbose #337 > > inl file_dir = full_path |> file_system.get_directory_name 00:00:10 verbose #338 > > inl extension = full_path |> file_system.get_extension 00:00:10 verbose #339 > > 00:00:10 verbose #340 > > trace Debug 00:00:10 verbose #341 > > fun () => "build_project" 00:00:10 verbose #342 > > fun () => { full_path } 00:00:10 verbose #343 > > 00:00:10 verbose #344 > > match extension with 00:00:10 verbose #345 > > | "fsproj" => () 00:00:10 verbose #346 > > | _ => failwith $'$"spiral_builder.build_project / Invalid project file 00:00:10 verbose #347 > > extension: {!extension}"' 00:00:10 verbose #348 > > 00:00:10 verbose #349 > > inl runtimes = 00:00:10 verbose #350 > > runtime' 00:00:10 verbose #351 > > |> optionm.map listm.singleton 00:00:10 verbose #352 > > |> optionm'.default_value [[ "linux-x64"; "win-x64" ]] 00:00:10 verbose #353 > > 00:00:10 verbose #354 > > inl output_dir = output_dir |> optionm'.default_value "dist" 00:00:10 verbose #355 > > 00:00:10 verbose #356 > > runtimes 00:00:10 verbose #357 > > |> listm.map fun runtime' => 00:00:10 verbose #358 > > runtime.execution_options fun x => { x with 00:00:10 verbose #359 > > command = $'$@@"dotnet publish \"\"{!path}\"\" --configuration 00:00:10 verbose #360 > > Release --output \"\"{!output_dir}\"\" --runtime {!runtime'}"' 00:00:10 verbose #361 > > working_directory = file_dir |> Some |> optionm'.box 00:00:10 verbose #362 > > } 00:00:10 verbose #363 > > |> runtime.execute_with_options 00:00:10 verbose #364 > > |> fst 00:00:10 verbose #365 > > |> listm'.sum 00:00:10 verbose #366 > 00:00:09 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f56e05d92a32aab9b783fb862f77470e5e84d5bca81324e191236333c2cc7b5c/main.spi 00:00:10 verbose #367 > > 00:00:10 verbose #368 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #369 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #370 > > │ ### build_code │ 00:00:10 verbose #371 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #372 > > 00:00:10 verbose #373 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #374 > > inl build_code { workspace_root runtime packages modules output_dir name code } 00:00:10 verbose #375 > > = 00:00:10 verbose #376 > > inl package_dir = get_package_dir { workspace_root name target = None; hash 00:00:10 verbose #377 > > = None } 00:00:10 verbose #378 > > inl fsproj_path = persist_code_project { workspace_root package_dir packages 00:00:10 verbose #379 > > modules name code } 00:00:10 verbose #380 > > inl exit_code = fsproj_path |> build_project runtime output_dir 00:00:10 verbose #381 > > if exit_code <>. 0 then 00:00:10 verbose #382 > > inl fsproj_text = fsproj_path |> file_system.read_all_text 00:00:10 verbose #383 > > trace Critical 00:00:10 verbose #384 > > fun () => "build_code" 00:00:10 verbose #385 > > fun () => { code = code |> sm'.ellipsis_end 400; fsproj_text } 00:00:10 verbose #386 > > exit_code 00:00:10 verbose #387 > 00:00:10 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cdd06da115acb32980a7e7da3117d097b60221e234a2a6ab1ad3502c72633b59/main.spi 00:00:10 verbose #388 > > 00:00:10 verbose #389 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #390 > > //// test 00:00:10 verbose #391 > > ///! rust -d encoding_rs encoding_rs_io regex 00:00:10 verbose #392 > > 00:00:10 verbose #393 > > build_code 00:00:10 verbose #394 > > { 00:00:10 verbose #395 > > workspace_root = file_system.get_workspace_root () 00:00:10 verbose #396 > > runtime = None 00:00:10 verbose #397 > > packages = [[]] 00:00:10 verbose #398 > > modules = [[]] 00:00:10 verbose #399 > > output_dir = None 00:00:10 verbose #400 > > name = "test1" 00:00:10 verbose #401 > > code = "1 + 1 |> ignore" 00:00:10 verbose #402 > > } 00:00:10 verbose #403 > > |> _assert_eq 0 00:00:10 verbose #404 > 00:00:10 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/48fb70a81b254aeba2960f9f960d421dc213d5ae3e93207e32fe3f41d10084f3/main.spi 00:00:45 verbose #405 > > 00:00:45 verbose #406 > > ╭─[ 34.97s - return value ]────────────────────────────────────────────────────╮ 00:00:45 verbose #407 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:00:45 verbose #408 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1 } │ 00:00:45 verbose #409 > > │ 00:00:00 debug #2 build_project / { full_path = │ 00:00:45 verbose #410 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fsproj │ 00:00:45 verbose #411 > > │ } │ 00:00:45 verbose #412 > > │ 00:00:00 debug #3 runtime.execute_with_options / { file_name = │ 00:00:45 verbose #413 > > │ dotnet; arguments = ["publish", │ 00:00:45 verbose #414 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fspro │ 00:00:45 verbose #415 > > │ j", "--configuration", "Release", "--output", "dist", "--runtime", │ 00:00:45 verbose #416 > > │ "win-x64"]; options = { command = dotnet publish │ 00:00:45 verbose #417 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fspro │ 00:00:45 verbose #418 > > │ j" --configuration Release --output "dist" --runtime win-x64; │ 00:00:45 verbose #419 > > │ cancellation_token = None; environment_variables = Array(MutCell([])); │ 00:00:45 verbose #420 > > │ on_line = None; stdin = None; trace = true; working_directory = │ 00:00:45 verbose #421 > > │ Some("/home/runner/work/polyglot/polyglot/target/spiral_builder/test1") } } │ 00:00:45 verbose #422 > > │ 00:00:00 verbose #4 > MSBuild version │ 00:00:45 verbose #423 > > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ 00:00:45 verbose #424 > > │ 00:00:00 verbose #5 > Determining projects to restore... │ 00:00:45 verbose #425 > > │ 00:00:01 verbose #6 > Restored │ 00:00:45 verbose #426 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fsproj │ 00:00:45 verbose #427 > > │ (in 288 ms). │ 00:00:45 verbose #428 > > │ 00:00:01 verbose #7 > │ 00:00:45 verbose #429 > > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ 00:00:45 verbose #430 > > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ 00:00:45 verbose #431 > > │ NETSDK1057: You are using a preview version of .NET. See: │ 00:00:45 verbose #432 > > │ https://aka.ms/dotnet-support-policy [/home/runner/work...bles = │ 00:00:45 verbose #433 > > │ Array(MutCell([])); on_line = None; stdin = None; trace = true; │ 00:00:45 verbose #434 > > │ working_directory = │ 00:00:45 verbose #435 > > │ Some("/home/runner/work/polyglot/polyglot/target/spiral_builder/test1") } } │ 00:00:45 verbose #436 > > │ 00:00:03 verbose #13 > MSBuild version │ 00:00:45 verbose #437 > > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ 00:00:45 verbose #438 > > │ 00:00:03 verbose #14 > Determining projects to restore... │ 00:00:45 verbose #439 > > │ 00:00:04 verbose #15 > Restored │ 00:00:45 verbose #440 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fsproj │ 00:00:45 verbose #441 > > │ (in 290 ms). │ 00:00:45 verbose #442 > > │ 00:00:04 verbose #16 > │ 00:00:45 verbose #443 > > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ 00:00:45 verbose #444 > > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ 00:00:45 verbose #445 > > │ NETSDK1057: You are using a preview version of .NET. See: │ 00:00:45 verbose #446 > > │ https://aka.ms/dotnet-support-policy [ │ 00:00:45 verbose #447 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fsproj │ 00:00:45 verbose #448 > > │ ] │ 00:00:45 verbose #449 > > │ 00:00:05 verbose #17 > │ 00:00:45 verbose #450 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fs(1,1 │ 00:00:45 verbose #451 > > │ 6): warning FS0988: Main module of program is empty: nothing will happen │ 00:00:45 verbose #452 > > │ when it is run [ │ 00:00:45 verbose #453 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/test1.fsproj │ 00:00:45 verbose #454 > > │ ] │ 00:00:45 verbose #455 > > │ 00:00:05 verbose #18 > test1 -> │ 00:00:45 verbose #456 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/bin/Release/ │ 00:00:45 verbose #457 > > │ net9.0/linux-x64/test1.dll │ 00:00:45 verbose #458 > > │ 00:00:06 verbose #19 > test1 -> │ 00:00:45 verbose #459 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test1/dist │ 00:00:45 verbose #460 > > │ 00:00:06 verbose #20 runtime.execute_with_options / result / { │ 00:00:45 verbose #461 > > │ exit_code = 0; std_trace_length = 953 } │ 00:00:45 verbose #462 > > │ assert_eq / actual: 0 / expected: 0 │ 00:00:45 verbose #463 > > │ │ 00:00:45 verbose #464 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:45 verbose #465 > > 00:00:45 verbose #466 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:45 verbose #467 > > //// test 00:00:45 verbose #468 > > ///! rust -d encoding_rs encoding_rs_io regex 00:00:45 verbose #469 > > 00:00:45 verbose #470 > > build_code 00:00:45 verbose #471 > > { 00:00:45 verbose #472 > > workspace_root = file_system.get_workspace_root () 00:00:45 verbose #473 > > runtime = None 00:00:45 verbose #474 > > packages = [[]] 00:00:45 verbose #475 > > modules = [[]] 00:00:45 verbose #476 > > output_dir = None 00:00:45 verbose #477 > > name = "test2" 00:00:45 verbose #478 > > code = "1 + a |> ignore" 00:00:45 verbose #479 > > } 00:00:45 verbose #480 > > |> _assert_eq 2 00:00:45 verbose #481 > 00:00:45 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61f793a54454d1cc7f21551c95dc54616380b08962991a5a91c342906dc4ec3c/main.spi 00:01:06 verbose #482 > > 00:01:06 verbose #483 > > ╭─[ 20.30s - return value ]────────────────────────────────────────────────────╮ 00:01:06 verbose #484 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:01:06 verbose #485 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test2 } │ 00:01:06 verbose #486 > > │ 00:00:00 debug #2 build_project / { full_path = │ 00:01:06 verbose #487 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test2/test2.fsproj │ 00:01:06 verbose #488 > > │ } │ 00:01:06 verbose #489 > > │ 00:00:00 debug #3 runtime.execute_with_options / { file_name = │ 00:01:06 verbose #490 > > │ dotnet; arguments = ["publish", │ 00:01:06 verbose #491 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/test2/test2.fspro │ 00:01:06 verbose #492 > > │ j", "--configuration", "Release", "--output", "dist", "--runtime", │ 00:01:06 verbose #493 > > │ "win-x64"]; options = { command = dotnet publish │ 00:01:06 verbose #494 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/test2/test2.fspro │ 00:01:06 verbose #495 > > │ j" --configuration Release --output "dist" --runtime win-x64; │ 00:01:06 verbose #496 > > │ cancellation_token = None; environment_variables = Array(MutCell([])); │ 00:01:06 verbose #497 > > │ on_line = None; stdin = None; trace = true; working_directory = │ 00:01:06 verbose #498 > > │ Some("/home/runner/work/polyglot/polyglot/target/spiral_builder/test2") } } │ 00:01:06 verbose #499 > > │ 00:00:00 verbose #4 > MSBuild version │ 00:01:06 verbose #500 > > │ 17.10.0-preview-24101-01+07fd5d51f for .NET │ 00:01:06 verbose #501 > > │ 00:00:00 verbose #5 > Determining projects to restore... │ 00:01:06 verbose #502 > > │ 00:00:01 verbose #6 > Restored │ 00:01:06 verbose #503 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test2/test2.fsproj │ 00:01:06 verbose #504 > > │ (in 293 ms). │ 00:01:06 verbose #505 > > │ 00:00:01 verbose #7 > │ 00:01:06 verbose #506 > > │ /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targe │ 00:01:06 verbose #507 > > │ ts/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message │ 00:01:06 verbose #508 > > │ NETSDK1057: You are using a preview version of .NET. See: │ 00:01:06 verbose #509 > > │ https://aka.ms/dotnet-support-policy [/home/runner/work...is not defined. [ │ 00:01:06 verbose #510 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/test2/test2.fsproj │ 00:01:06 verbose #511 > > │ ] │ 00:01:06 verbose #512 > > │ 00:00:04 verbose #16 runtime.execute_with_options / result / { │ 00:01:06 verbose #513 > > │ exit_code = 1; std_trace_length = 732 } │ 00:01:06 verbose #514 > > │ 00:00:04 critical #17 build_code / { code = 1 + a |> ignore; │ 00:01:06 verbose #515 > > │ fsproj_text = <Project Sdk="Microsoft.NET.Sdk"> │ 00:01:06 verbose #516 > > │ <PropertyGroup> │ 00:01:06 verbose #517 > > │ <TargetFramework>net9.0</TargetFramework> │ 00:01:06 verbose #518 > > │ <LangVersion>preview</LangVersion> │ 00:01:06 verbose #519 > > │ <RollForward>Major</RollForward> │ 00:01:06 verbose #520 > > │ <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch> │ 00:01:06 verbose #521 > > │ <PublishAot>false</PublishAot> │ 00:01:06 verbose #522 > > │ <PublishTrimmed>false</PublishTrimmed> │ 00:01:06 verbose #523 > > │ <PublishSingleFile>true</PublishSingleFile> │ 00:01:06 verbose #524 > > │ <SelfContained>true</SelfContained> │ 00:01:06 verbose #525 > > │ <Version>0.0.1-alpha.1</Version> │ 00:01:06 verbose #526 > > │ <OutputType>Exe</OutputType> │ 00:01:06 verbose #527 > > │ </PropertyGroup> │ 00:01:06 verbose #528 > > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('FreeBSD'))"> │ 00:01:06 verbose #529 > > │ <DefineConstants>_FREEBSD</DefineConstants> │ 00:01:06 verbose #530 > > │ </PropertyGroup> │ 00:01:06 verbose #531 > > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Linux'))"> │ 00:01:06 verbose #532 > > │ <DefineConstants>_LINUX</DefineConstants> │ 00:01:06 verbose #533 > > │ </PropertyGroup> │ 00:01:06 verbose #534 > > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('OSX'))"> │ 00:01:06 verbose #535 > > │ <DefineConstants>_OSX</DefineConstants> │ 00:01:06 verbose #536 > > │ </PropertyGroup> │ 00:01:06 verbose #537 > > │ <PropertyGroup Condition="$([MSBuild]::IsOSPlatform('Windows'))"> │ 00:01:06 verbose #538 > > │ <DefineConstants>_WINDOWS</DefineConstants> │ 00:01:06 verbose #539 > > │ </PropertyGroup> │ 00:01:06 verbose #540 > > │ <ItemGroup> │ 00:01:06 verbose #541 > > │ │ 00:01:06 verbose #542 > > │ <Compile │ 00:01:06 verbose #543 > > │ Include="/home/runner/work/polyglot/polyglot/target/spiral_builder/test2/tes │ 00:01:06 verbose #544 > > │ t2.fs" /> │ 00:01:06 verbose #545 > > │ </ItemGroup> │ 00:01:06 verbose #546 > > │ <ItemGroup> │ 00:01:06 verbose #547 > > │ │ 00:01:06 verbose #548 > > │ </ItemGroup> │ 00:01:06 verbose #549 > > │ </Project> } │ 00:01:06 verbose #550 > > │ assert_eq / actual: 2 / expected: 2 │ 00:01:06 verbose #551 > > │ │ 00:01:06 verbose #552 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #553 > > 00:01:06 verbose #554 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #555 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #556 > > │ ### read_file │ 00:01:06 verbose #557 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #558 > > 00:01:06 verbose #559 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #560 > > inl read_file path = 00:01:06 verbose #561 > > inl code = 00:01:06 verbose #562 > > path 00:01:06 verbose #563 > > |> file_system.read_all_text 00:01:06 verbose #564 > > |> sm'.replace_regex $'@@"(?P<a> *)(?P<b>let\\s+main\\s+.*?\\s*=)"' 00:01:06 verbose #565 > > "$a[[<EntryPoint>]]\n$a$b" 00:01:06 verbose #566 > > 00:01:06 verbose #567 > > inl code_trim = code |> sm'.trim_end [[]] 00:01:06 verbose #568 > > if code_trim |> sm'.ends_with "\\n()" 00:01:06 verbose #569 > > then code_trim |> sm'.slice 0i64 ((code_trim |> sm'.length) - 3) 00:01:06 verbose #570 > > else code 00:01:06 verbose #571 > 00:01:05 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8bddc58cca4ddfa8ecc13ad23dab8fcaa9ff539278345840593d9e090e41ba9a/main.spi 00:01:06 verbose #572 > > 00:01:06 verbose #573 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #574 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #575 > > │ ### persist_file │ 00:01:06 verbose #576 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #577 > > 00:01:06 verbose #578 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #579 > > inl persist_file { workspace_root package_dir packages modules path } = 00:01:06 verbose #580 > > inl full_path = path |> file_system.get_full_path 00:01:06 verbose #581 > > inl name = full_path |> file_system.get_file_name_without_extension 00:01:06 verbose #582 > > inl code = full_path |> read_file 00:01:06 verbose #583 > > persist_code_project { workspace_root package_dir packages modules name code 00:01:06 verbose #584 > > } 00:01:06 verbose #585 > 00:01:05 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/41273da088aeb8a0db20fce4b546262160b1d8c03a37fbf55a7fa17ef8f923d6/main.spi 00:01:06 verbose #586 > > 00:01:06 verbose #587 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #588 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #589 > > │ ### build_file │ 00:01:06 verbose #590 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #591 > > 00:01:06 verbose #592 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #593 > > inl build_file { workspace_root runtime packages modules path } = 00:01:06 verbose #594 > > inl full_path = path |> file_system.get_full_path 00:01:06 verbose #595 > > inl dir = full_path |> file_system.get_directory_name 00:01:06 verbose #596 > > build_code 00:01:06 verbose #597 > > { 00:01:06 verbose #598 > > workspace_root 00:01:06 verbose #599 > > runtime 00:01:06 verbose #600 > > packages 00:01:06 verbose #601 > > modules 00:01:06 verbose #602 > > output_dir = dir </> "dist" |> Some 00:01:06 verbose #603 > > name = full_path |> file_system.get_file_name_without_extension 00:01:06 verbose #604 > > code = full_path |> read_file 00:01:06 verbose #605 > > } 00:01:06 verbose #606 > 00:01:06 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/57ba57c29f3660752faad27aa12727efa571f593604680b0db99c5d5333d7b97/main.spi 00:01:06 verbose #607 > > 00:01:06 verbose #608 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #609 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #610 > > │ ## rust │ 00:01:06 verbose #611 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #612 > > 00:01:06 verbose #613 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #614 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #615 > > │ ### get_workspace_cargo_toml_content │ 00:01:06 verbose #616 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #617 > > 00:01:06 verbose #618 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #619 > > inl get_workspace_cargo_toml_content { workspace_root } : string = 00:01:06 verbose #620 > > inl workspace_root = workspace_root |> file_system.normalize_path 00:01:06 verbose #621 > > $'$"[[workspace]]"' 00:01:06 verbose #622 > > +#. $'$"resolver = \\\"2\\\""' 00:01:06 verbose #623 > > +#. $'$"members = [[\\\"packages/Rust/*\\\"]]"' 00:01:06 verbose #624 > > +#. $'$""' 00:01:06 verbose #625 > > +#. $'$"[[workspace.dependencies.fable_library_rust]]"' 00:01:06 verbose #626 > > +#. $'$"path = 00:01:06 verbose #627 > > \\\"{!workspace_root}/lib/rust/fable/fable_modules/fable-library-rust\\\""' 00:01:06 verbose #628 > > +#. $'$"default-features = false"' 00:01:06 verbose #629 > > +#. $'$"features = [[\\\"static_do_bindings\\\", \\\"datetime\\\", 00:01:06 verbose #630 > > \\\"guid\\\", \\\"threaded\\\"]]"' 00:01:06 verbose #631 > > +#. $'$""' 00:01:06 verbose #632 > > +#. $'$"[[workspace.dependencies]]"' 00:01:06 verbose #633 > > +#. $'$"inline_colorization = \\\"~0.1\\\""' 00:01:06 verbose #634 > 00:01:06 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c61a12a778bacce9bec7b671fddfc4e54cd428145c6153ac5b70b514c8139cc5/main.spi 00:01:06 verbose #635 > > 00:01:06 verbose #636 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #637 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #638 > > │ ### get_cargo_toml_content │ 00:01:06 verbose #639 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #640 > > 00:01:06 verbose #641 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #642 > > inl get_cargo_toml_content { hash_hex deps } : string = 00:01:06 verbose #643 > > $'$"[[package]]"' 00:01:06 verbose #644 > > +#. $'$"name = \\\"spiral_builder_{!hash_hex}\\\""' 00:01:06 verbose #645 > > +#. $'$"version = \\\"0.0.1\\\""' 00:01:06 verbose #646 > > +#. $'$"edition = \\\"2021\\\""' 00:01:06 verbose #647 > > +#. $'$""' 00:01:06 verbose #648 > > +#. $'$"[[dependencies]]"' 00:01:06 verbose #649 > > +#. $'$"fable_library_rust = {{ workspace = true }}"' 00:01:06 verbose #650 > > +#. $'$"inline_colorization = {{ workspace = true }}"' 00:01:06 verbose #651 > > +#. $'$"{!deps}"' 00:01:06 verbose #652 > > +#. $'$""' 00:01:06 verbose #653 > > +#. $'$"[[[[bin]]]]"' 00:01:06 verbose #654 > > +#. $'$"name = \\\"spiral_builder_{!hash_hex}\\\""' 00:01:06 verbose #655 > > +#. $'$"path = \\\"spiral_builder.rs\\\" "' 00:01:07 verbose #656 > 00:01:06 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9808c7d1ad1b9c0ae48bb1f6032ec0338d7cc0b1101e9e5d9bc858b075ad37ed/main.spi 00:01:07 verbose #657 > > 00:01:07 verbose #658 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:07 verbose #659 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:07 verbose #660 > > │ ### get_empty_cargo_toml_content │ 00:01:07 verbose #661 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #662 > > 00:01:07 verbose #663 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:07 verbose #664 > > inl get_empty_cargo_toml_content () = 00:01:07 verbose #665 > > inl guid = date_time.now () |> date_time.new_guid_from_date_time |> 00:01:07 verbose #666 > > sm'.obj_to_string 00:01:07 verbose #667 > > $'$"[[package]]"' 00:01:07 verbose #668 > > +#. $'$"name = \\\"spiral_builder_{!guid}\\\""' 00:01:07 verbose #669 > > +#. $'$"version = \\\"0.0.1\\\""' 00:01:07 verbose #670 > > +#. $'$"edition = \\\"2021\\\""' 00:01:07 verbose #671 > > +#. $'$""' 00:01:07 verbose #672 > > +#. $'$"[[[[bin]]]]"' 00:01:07 verbose #673 > > +#. $'$"name = \\\"spiral_builder_{!guid}\\\""' 00:01:07 verbose #674 > > +#. $'$"path = \\\"spiral_builder.rs\\\""' 00:01:07 verbose #675 > 00:01:06 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c542d761eb9dad5ad2186b27fbf35b7115e4adc46927b9ee6cd0a9a807092f51/main.spi 00:01:07 verbose #676 > > 00:01:07 verbose #677 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:07 verbose #678 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:07 verbose #679 > > │ ### process_rust │ 00:01:07 verbose #680 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #681 > > 00:01:07 verbose #682 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:07 verbose #683 > > inl process_rust { fs_path deps trace_level } = 00:01:07 verbose #684 > > inl is_trace = trace_level = Verbose 00:01:07 verbose #685 > > inl _trace (fn : () -> string) = 00:01:07 verbose #686 > > if is_trace 00:01:07 verbose #687 > > then trace Info (fun () => $'$"spiral_builder.process_rust / {!fn ()}"') 00:01:07 verbose #688 > > id 00:01:07 verbose #689 > > else fn () |> console.write_line 00:01:07 verbose #690 > > 00:01:07 verbose #691 > > inl extension = "rs" 00:01:07 verbose #692 > > inl code = fs_path |> file_system.read_all_text 00:01:07 verbose #693 > > 00:01:07 verbose #694 > > inl hash_hex = (extension, code) |> sm'.format_debug |> crypto.hash_text 00:01:07 verbose #695 > > 00:01:07 verbose #696 > > inl workspace_name = "spiral_builder" 00:01:07 verbose #697 > > 00:01:07 verbose #698 > > inl workspace_root_external = file_system.get_workspace_root_external () 00:01:07 verbose #699 > > inl workspace_root = workspace_root_external |> resultm.box |> 00:01:07 verbose #700 > > resultm.unwrap_or_else id 00:01:07 verbose #701 > > 00:01:07 verbose #702 > > inl package_dir = 00:01:07 verbose #703 > > get_package_dir { workspace_root name = workspace_name; target = Some 00:01:07 verbose #704 > > Rust; hash = Some hash_hex } 00:01:07 verbose #705 > > 00:01:07 verbose #706 > > inl fsproj_path = 00:01:07 verbose #707 > > persist_code_project 00:01:07 verbose #708 > > { 00:01:07 verbose #709 > > workspace_root 00:01:07 verbose #710 > > package_dir 00:01:07 verbose #711 > > packages = [[ "Fable.Core" ]] 00:01:07 verbose #712 > > modules = [[]] 00:01:07 verbose #713 > > name = workspace_name 00:01:07 verbose #714 > > code 00:01:07 verbose #715 > > } 00:01:07 verbose #716 > > 00:01:07 verbose #717 > > inl workspace_dir = package_dir </> "../../.." 00:01:07 verbose #718 > > inl workspace_cargo_toml_path = workspace_dir </> "Cargo.toml" 00:01:07 verbose #719 > > 00:01:07 verbose #720 > > if workspace_cargo_toml_path |> file_system.file_exists |> not 00:01:07 verbose #721 > > then get_empty_cargo_toml_content () |> file_system.write_all_text 00:01:07 verbose #722 > > workspace_cargo_toml_path 00:01:07 verbose #723 > > 00:01:07 verbose #724 > > inl cargo_toml_path = package_dir </> "Cargo.toml" 00:01:07 verbose #725 > > 00:01:07 verbose #726 > > if cargo_toml_path |> file_system.file_exists |> not 00:01:07 verbose #727 > > then get_empty_cargo_toml_content () |> file_system.write_all_text 00:01:07 verbose #728 > > cargo_toml_path 00:01:07 verbose #729 > > 00:01:07 verbose #730 > > inl lib_link_target_path = workspace_root </> 00:01:07 verbose #731 > > "lib/rust/fable/fable_modules/fable-library-rust" 00:01:07 verbose #732 > > inl lib_link_path = package_dir </> "fable_modules/fable-library-rust" 00:01:07 verbose #733 > > 00:01:07 verbose #734 > > lib_link_path |> file_system.link_directory lib_link_target_path 00:01:07 verbose #735 > > 00:01:07 verbose #736 > > inl exit_code, dotnet_fable_result = 00:01:07 verbose #737 > > execute_dotnet_fable { workspace_root_external fsproj_path extension 00:01:07 verbose #738 > > package_dir } 00:01:07 verbose #739 > > 00:01:07 verbose #740 > > if exit_code <>. 0 then 00:01:07 verbose #741 > > trace Critical 00:01:07 verbose #742 > > fun () => "spiral_builder.process_rust / dotnet fable error" 00:01:07 verbose #743 > > fun () => { exit_code dotnet_fable_result } 00:01:07 verbose #744 > > { extension = Some extension; code = None; output = Some 00:01:07 verbose #745 > > dotnet_fable_result } 00:01:07 verbose #746 > > else 00:01:07 verbose #747 > > inl deps = 00:01:07 verbose #748 > > deps 00:01:07 verbose #749 > > |> am'.vec_map fun dep => 00:01:07 verbose #750 > > inl dep = dep |> sm'.from_std_string 00:01:07 verbose #751 > > if dep |> sm'.contains "=" 00:01:07 verbose #752 > > then dep 00:01:07 verbose #753 > > elif dep |> sm'.ends_with "]]" 00:01:07 verbose #754 > > then dep |> sm'.replace "[[" $'$"={{version=\'*\',features=[["' 00:01:07 verbose #755 > > |> fun x => $'$"{!x}}}"' 00:01:07 verbose #756 > > else $'$"{!dep}=\'*\'"' 00:01:07 verbose #757 > > |> am'.from_vec 00:01:07 verbose #758 > > |> fun x => x : _ i32 _ 00:01:07 verbose #759 > > |> seq.of_array' 00:01:07 verbose #760 > > |> sm'.concat "\n" 00:01:07 verbose #761 > > 00:01:07 verbose #762 > > inl cargo_toml_content = get_cargo_toml_content { hash_hex deps } 00:01:07 verbose #763 > > inl workspace_cargo_toml_content = get_workspace_cargo_toml_content { 00:01:07 verbose #764 > > workspace_root } 00:01:07 verbose #765 > > 00:01:07 verbose #766 > > cargo_toml_content |> file_system.write_all_text_exists cargo_toml_path 00:01:07 verbose #767 > > 00:01:07 verbose #768 > > workspace_cargo_toml_content |> file_system.write_all_text_exists 00:01:07 verbose #769 > > workspace_cargo_toml_path 00:01:07 verbose #770 > > 00:01:07 verbose #771 > > inl range_rs_path = lib_link_path </> "src/Range.rs" 00:01:07 verbose #772 > > if range_rs_path |> file_system.file_exists then 00:01:07 verbose #773 > > inl text = range_rs_path |> file_system.read_all_text 00:01:07 verbose #774 > > text 00:01:07 verbose #775 > > |> sm'.replace "use crate::String_::fromCharCode;" "use 00:01:07 verbose #776 > > crate::String_::fromChar;" 00:01:07 verbose #777 > > |> sm'.replace "fromCharCode(c)" "std::char::from_u32(c).unwrap()" 00:01:07 verbose #778 > > |> file_system.write_all_text_exists range_rs_path 00:01:07 verbose #779 > > 00:01:07 verbose #780 > > inl exit_code, cargo_fmt_result = 00:01:07 verbose #781 > > fun () => 00:01:07 verbose #782 > > inl exit_code, result = 00:01:07 verbose #783 > > runtime.execution_options fun x => { x with 00:01:07 verbose #784 > > command = $'$"cargo fmt --manifest-path 00:01:07 verbose #785 > > \\\"{!cargo_toml_path}\\\" --"' 00:01:07 verbose #786 > > working_directory = workspace_root_external |> 00:01:07 verbose #787 > > resultm.box |> resultm.ok' 00:01:07 verbose #788 > > } 00:01:07 verbose #789 > > |> runtime.execute_with_options 00:01:07 verbose #790 > > 00:01:07 verbose #791 > > inl return () = 00:01:07 verbose #792 > > if exit_code = 0 00:01:07 verbose #793 > > then Ok (exit_code, result) 00:01:07 verbose #794 > > else Error (exit_code, result) 00:01:07 verbose #795 > > 00:01:07 verbose #796 > > if result |> sm'.contains "failed to load manifest for workspace 00:01:07 verbose #797 > > member" |> not 00:01:07 verbose #798 > > then return () 00:01:07 verbose #799 > > else 00:01:07 verbose #800 > > inl missing_toml_path = 00:01:07 verbose #801 > > "failed to read `(?<a>.*?Cargo.toml)`" 00:01:07 verbose #802 > > |> sm'.new_regex 00:01:07 verbose #803 > > |> resultm.unwrap' 00:01:07 verbose #804 > > |> sm'.regex_captures result 00:01:07 verbose #805 > > |> am'.from_vec 00:01:07 verbose #806 > > |> fun x => x : _ i32 _ 00:01:07 verbose #807 > > |> am'.try_item 0 00:01:07 verbose #808 > > |> optionm.map (mapm.get "a" >> optionm'.unbox) 00:01:07 verbose #809 > > |> optionm'.flatten 00:01:07 verbose #810 > > 00:01:07 verbose #811 > > match missing_toml_path with 00:01:07 verbose #812 > > | None => Error (exit_code, result) 00:01:07 verbose #813 > > | Some missing_toml_path => 00:01:07 verbose #814 > > if missing_toml_path |> file_system.file_exists |> not 00:01:07 verbose #815 > > then 00:01:07 verbose #816 > > missing_toml_path 00:01:07 verbose #817 > > |> file_system.get_directory_name 00:01:07 verbose #818 > > |> file_system.create_dir 00:01:07 verbose #819 > > |> ignore 00:01:07 verbose #820 > > 00:01:07 verbose #821 > > get_empty_cargo_toml_content () 00:01:07 verbose #822 > > |> file_system.write_all_text missing_toml_path 00:01:07 verbose #823 > > return () 00:01:07 verbose #824 > > |> retry_fn' 3u8 00:01:07 verbose #825 > > 00:01:07 verbose #826 > > if exit_code <>. 0 then 00:01:07 verbose #827 > > trace Critical 00:01:07 verbose #828 > > fun () => "spiral_builder.process_rust / cargo fmt error" 00:01:07 verbose #829 > > fun () => { exit_code cargo_fmt_result } 00:01:07 verbose #830 > > 00:01:07 verbose #831 > > inl new_code_path = package_dir </> $'$"{!workspace_name}.{!extension}"' 00:01:07 verbose #832 > > inl new_code = new_code_path |> file_system.read_all_text 00:01:07 verbose #833 > > 00:01:07 verbose #834 > > inl main_code_header = 00:01:07 verbose #835 > > "pub fn main() -> Result<(), String> " +. !\($'"\\\"{\\\".into()"') 00:01:07 verbose #836 > > inl main_code = $'$"{!main_code_header} Ok(()) }}"' : string 00:01:07 verbose #837 > > 00:01:07 verbose #838 > > inl cached = new_code |> sm'.contains main_code_header 00:01:07 verbose #839 > > 00:01:07 verbose #840 > > inl new_code = 00:01:07 verbose #841 > > if cached 00:01:07 verbose #842 > > then new_code 00:01:07 verbose #843 > > else 00:01:07 verbose #844 > > new_code 00:01:07 verbose #845 > > |> sm'.replace 00:01:07 verbose #846 > > ("),)" +. !\($'"\\\";\\\".into()"')) 00:01:07 verbose #847 > > "));" 00:01:07 verbose #848 > > |> sm'.replace 00:01:07 verbose #849 > > ("},)" +. !\($'"\\\";\\\".into()"')) 00:01:07 verbose #850 > > "});" 00:01:07 verbose #851 > > |> sm'.replace_regex 00:01:07 verbose #852 > > "\\s\\sdefaultOf\\(\\);" 00:01:07 verbose #853 > > " defaultOf::<()>();" 00:01:07 verbose #854 > > |> sm'.replace 00:01:07 verbose #855 > > "::Slice'_" 00:01:07 verbose #856 > > "::Slice__" 00:01:07 verbose #857 > > |> sm'.replace 00:01:07 verbose #858 > > ("defaultOf()" +. !\($'"\\\",\\\".into()"')) 00:01:07 verbose #859 > > "defaultOf::<std::sync::Arc<dyn IDisposable>>()," 00:01:07 verbose #860 > > |> sm'.replace 00:01:07 verbose #861 > > ("_self" +. !\($'"\\\"_.\\\".into()"')) 00:01:07 verbose #862 > > "self." 00:01:07 verbose #863 > > |> sm'.replace 00:01:07 verbose #864 > > ("get_or_insert_wit" +. !\($'"\\\"h\\\".into()"')) 00:01:07 verbose #865 > > "get_or_init" 00:01:07 verbose #866 > > |> sm'.replace 00:01:07 verbose #867 > > ("use 00:01:07 verbose #868 > > fable_library_rust::System::Collections::Concurrent::ConcurrentStack_1" +. 00:01:07 verbose #869 > > !\($'"\\\";\\\".into()"')) 00:01:07 verbose #870 > > "type ConcurrentStack_1<T> = T;" 00:01:07 verbose #871 > > |> sm'.replace 00:01:07 verbose #872 > > ("use 00:01:07 verbose #873 > > fable_library_rust::System::Threading::CancellationToken" +. 00:01:07 verbose #874 > > !\($'"\\\";\\\".into()"')) 00:01:07 verbose #875 > > "type CancellationToken = ();" 00:01:07 verbose #876 > > |> sm'.replace 00:01:07 verbose #877 > > ("use fable_library_rust::System::TimeZoneInfo" +. 00:01:07 verbose #878 > > !\($'"\\\";\\\".into()"')) 00:01:07 verbose #879 > > "type TimeZoneInfo = i64;" 00:01:07 verbose #880 > > |> sm'.replace 00:01:07 verbose #881 > > ("use 00:01:07 verbose #882 > > fable_library_rust::System::Threading::Tasks::TaskCanceledException" +. 00:01:07 verbose #883 > > !\($'"\\\";\\\".into()"')) 00:01:07 verbose #884 > > "type TaskCanceledException = ();" 00:01:07 verbose #885 > > 00:01:07 verbose #886 > > if not cached 00:01:07 verbose #887 > > then 00:01:07 verbose #888 > > $'$"{!new_code}\\n\\n{!main_code}\\n"' 00:01:07 verbose #889 > > |> file_system.write_all_text_exists new_code_path 00:01:07 verbose #890 > > 00:01:07 verbose #891 > > inl command = $'$"cargo +nightly run --manifest-path 00:01:07 verbose #892 > > \\\"{!cargo_toml_path}\\\""' 00:01:07 verbose #893 > > inl environment_variables = 00:01:07 verbose #894 > > inl fast = false 00:01:07 verbose #895 > > ;[[ 00:01:07 verbose #896 > > "TRACE_LEVEL", "Verbose" 00:01:07 verbose #897 > > "RUSTC_WRAPPER", "sccache" 00:01:07 verbose #898 > > "RUSTFLAGS", 00:01:07 verbose #899 > > if fast 00:01:07 verbose #900 > > then "-C prefer-dynamic -C strip=symbols -C link-arg=-s -C 00:01:07 verbose #901 > > debuginfo=0" 00:01:07 verbose #902 > > else "-C prefer-dynamic" 00:01:07 verbose #903 > > ]] 00:01:07 verbose #904 > > inl exit_code, cargo_run_result = 00:01:07 verbose #905 > > runtime.execution_options fun x => { x with 00:01:07 verbose #906 > > command 00:01:07 verbose #907 > > environment_variables 00:01:07 verbose #908 > > working_directory = workspace_root_external |> resultm.box |> 00:01:07 verbose #909 > > resultm.ok' 00:01:07 verbose #910 > > } 00:01:07 verbose #911 > > |> runtime.execute_with_options 00:01:07 verbose #912 > > 00:01:07 verbose #913 > > inl cleanup = 00:01:07 verbose #914 > > [[ ".d"; ".exe"; ".pdb"; "" ]] 00:01:07 verbose #915 > > |> listm.map fun ext => workspace_dir </> 00:01:07 verbose #916 > > $'$"target/debug/spiral_builder_{!hash_hex}{!ext}"' 00:01:07 verbose #917 > > |> listm.map fun path => path, path |> file_system.file_exists 00:01:07 verbose #918 > > 00:01:07 verbose #919 > > trace Verbose 00:01:07 verbose #920 > > fun () => "spiral_builder.process_rust" 00:01:07 verbose #921 > > fun () => { new_code_path cleanup } 00:01:07 verbose #922 > > 00:01:07 verbose #923 > > cleanup 00:01:07 verbose #924 > > |> listm'.filter snd 00:01:07 verbose #925 > > |> listm.iter (fst >> file_system.file_delete) 00:01:07 verbose #926 > > 00:01:07 verbose #927 > > inl external_command = 00:01:07 verbose #928 > > inl vars = 00:01:07 verbose #929 > > a environment_variables 00:01:07 verbose #930 > > |> am.map fun k, v => $'$"$env:{!k}=\'\'{!v}\'\'"' : string 00:01:07 verbose #931 > > |> fun x => x : _ i32 _ 00:01:07 verbose #932 > > |> seq.of_array 00:01:07 verbose #933 > > |> sm'.concat ";" 00:01:07 verbose #934 > > $'$"pwsh -c \'{!vars}; {!command}\'"' : string 00:01:07 verbose #935 > > if exit_code = 0 then 00:01:07 verbose #936 > > inl output = 00:01:07 verbose #937 > > try 00:01:07 verbose #938 > > fun () => 00:01:07 verbose #939 > > cargo_run_result 00:01:07 verbose #940 > > |> sm'.split "\n" 00:01:07 verbose #941 > > |> fun x => a x : _ i32 _ 00:01:07 verbose #942 > > |> am'.skip_while fun line => 00:01:07 verbose #943 > > (line |> sm'.contains "profile [[optimized]] target" 00:01:07 verbose #944 > > |> not) 00:01:07 verbose #945 > > && (line |> sm'.contains "profile 00:01:07 verbose #946 > > [[unoptimized]] target" |> not) 00:01:07 verbose #947 > > && (line |> sm'.contains "profile [[unoptimized 00:01:07 verbose #948 > > + debuginfo]] target" |> not) 00:01:07 verbose #949 > > |> am'.skip 2 00:01:07 verbose #950 > > |> seq.of_array 00:01:07 verbose #951 > > |> sm'.concat "\n" 00:01:07 verbose #952 > > fun ex => 00:01:07 verbose #953 > > trace Critical 00:01:07 verbose #954 > > fun () => "spiral_builder.process_rust / Exception" 00:01:07 verbose #955 > > fun () => { ex cargo_run_result new_code_path 00:01:07 verbose #956 > > external_command } 00:01:07 verbose #957 > > None 00:01:07 verbose #958 > > |> optionm'.box 00:01:07 verbose #959 > > |> optionm'.unwrap 00:01:07 verbose #960 > > 00:01:07 verbose #961 > > { extension = Some extension; code = Some new_code; output = Some 00:01:07 verbose #962 > > output } 00:01:07 verbose #963 > > else 00:01:07 verbose #964 > > trace Critical 00:01:07 verbose #965 > > fun () => "spiral_builder.process_rust / error" 00:01:07 verbose #966 > > fun () => { exit_code cargo_run_result new_code_path 00:01:07 verbose #967 > > external_command } 00:01:07 verbose #968 > > { extension = Some extension; code = None; output = None } 00:01:07 verbose #969 > 00:01:06 debug #23 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/402039660837e1f916f40114edf8de1c96bfb1e3d89e7064659443444e258c29/main.spi 00:01:07 verbose #970 > > 00:01:07 verbose #971 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:07 verbose #972 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:07 verbose #973 > > │ ## dib │ 00:01:07 verbose #974 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #975 > > 00:01:07 verbose #976 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:07 verbose #977 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:07 verbose #978 > > │ ### process_dib │ 00:01:07 verbose #979 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #980 > > 00:01:07 verbose #981 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:07 verbose #982 > > inl process_dib { path retries working_directory } = 00:01:07 verbose #983 > > inl exit_code, repl_result = 00:01:07 verbose #984 > > let rec loop retry = 00:01:07 verbose #985 > > inl exit_code, repl_result = 00:01:07 verbose #986 > > runtime.execution_options fun x => { x with 00:01:07 verbose #987 > > command = $'$"dotnet repl --exit-after-run --run 00:01:07 verbose #988 > > \\\"{!path}\\\" --output-path \\\"{!path}.ipynb\\\""' 00:01:07 verbose #989 > > environment_variables = ;[[ 00:01:07 verbose #990 > > "TRACE_LEVEL", "Verbose" 00:01:07 verbose #991 > > "AUTOMATION", "True" 00:01:07 verbose #992 > > ]] 00:01:07 verbose #993 > > trace = false 00:01:07 verbose #994 > > working_directory 00:01:07 verbose #995 > > } 00:01:07 verbose #996 > > |> runtime.execute_with_options 00:01:07 verbose #997 > > 00:01:07 verbose #998 > > if exit_code = 0 || retry >= retries 00:01:07 verbose #999 > > then exit_code, repl_result 00:01:07 verbose #1000 > > else 00:01:07 verbose #1001 > > trace Debug 00:01:07 verbose #1002 > > fun () => $'"spiral_builder.run / repl error"' 00:01:07 verbose #1003 > > fun () => { exit_code repl_result retry = 00:01:07 verbose #1004 > > $'$"{!retry}/{!retries}"' : string } 00:01:07 verbose #1005 > > loop (retry + 1) 00:01:07 verbose #1006 > > loop 1 00:01:07 verbose #1007 > > 00:01:07 verbose #1008 > > inl exit_code, result = 00:01:07 verbose #1009 > > if exit_code <>. 0 00:01:07 verbose #1010 > > then exit_code, repl_result 00:01:07 verbose #1011 > > else 00:01:07 verbose #1012 > > inl exit_code, jupyter_result = 00:01:07 verbose #1013 > > runtime.execution_options fun x => { x with 00:01:07 verbose #1014 > > command = $'$"jupyter nbconvert \\\"{!path}.ipynb\\\" --to 00:01:07 verbose #1015 > > html --HTMLExporter.theme=dark"' 00:01:07 verbose #1016 > > } 00:01:07 verbose #1017 > > |> runtime.execute_with_options 00:01:07 verbose #1018 > > 00:01:07 verbose #1019 > > trace Debug 00:01:07 verbose #1020 > > fun () => $'"spiral_builder.run / dib / jupyter nbconvert"' 00:01:07 verbose #1021 > > fun () => { exit_code jupyter_result_length = jupyter_result |> 00:01:07 verbose #1022 > > sm'.length : i32 } 00:01:07 verbose #1023 > > 00:01:07 verbose #1024 > > if exit_code <>. 0 00:01:07 verbose #1025 > > then exit_code, $'$"repl_result: {!repl_result}\n\njupyter_result: 00:01:07 verbose #1026 > > {!jupyter_result}"' 00:01:07 verbose #1027 > > else 00:01:07 verbose #1028 > > inl exit_code, pwsh_replace_html_result = 00:01:07 verbose #1029 > > inl path = path |> sm'.replace "'" "''" 00:01:07 verbose #1030 > > runtime.execution_options fun x => { x with 00:01:07 verbose #1031 > > command = $'$"pwsh -c \\\"$counter = 1; $path = 00:01:07 verbose #1032 > > \'{!path}.html\'; (Get-Content $path -Raw) -replace 00:01:07 verbose #1033 > > \'(id=\\\\\\"cell-id=)[[a-fA-F0-9]]{{8}}\', {{ $_.Groups[[1]].Value + $counter++ 00:01:07 verbose #1034 > > }} | Set-Content $path\\\""' 00:01:07 verbose #1035 > > } 00:01:07 verbose #1036 > > |> runtime.execute_with_options 00:01:07 verbose #1037 > > 00:01:07 verbose #1038 > > trace Debug 00:01:07 verbose #1039 > > fun () => $'"spiral_builder.run / dib / html cell ids"' 00:01:07 verbose #1040 > > fun () => { exit_code pwsh_replace_html_result_length = 00:01:07 verbose #1041 > > pwsh_replace_html_result |> sm'.length : i32 } 00:01:07 verbose #1042 > > 00:01:07 verbose #1043 > > $'$"{!path}.html"' 00:01:07 verbose #1044 > > |> file_system.read_all_text 00:01:07 verbose #1045 > > |> sm'.replace "\r\n" "\n" 00:01:07 verbose #1046 > > |> file_system.write_all_text $'$"{!path}.html"' 00:01:07 verbose #1047 > > 00:01:07 verbose #1048 > > $'$"{!path}.ipynb"' 00:01:07 verbose #1049 > > |> file_system.read_all_text 00:01:07 verbose #1050 > > |> sm'.replace "\r\n" "\n" 00:01:07 verbose #1051 > > |> sm'.replace "\\r\\n" "\\n" 00:01:07 verbose #1052 > > |> file_system.write_all_text $'$"{!path}.ipynb"' 00:01:07 verbose #1053 > > 00:01:07 verbose #1054 > > exit_code, $'$"repl_result: {!repl_result}\n\njupyter_result: 00:01:07 verbose #1055 > > {!jupyter_result}\n\npwsh_replace_html_result: {!pwsh_replace_html_result}"' 00:01:07 verbose #1056 > > 00:01:07 verbose #1057 > > trace Debug 00:01:07 verbose #1058 > > fun () => $'"spiral_builder.run / dib"' 00:01:07 verbose #1059 > > fun () => { exit_code result_length = result |> sm'.length : i32 } 00:01:07 verbose #1060 > > 00:01:07 verbose #1061 > > if exit_code <>. 0 00:01:07 verbose #1062 > > then failwith $'$"spiral_builder.run / dib / exit_code: {!exit_code} 00:01:07 verbose #1063 > > result: {!result}"' 00:01:07 verbose #1064 > > ;[[ 00:01:07 verbose #1065 > > "stdio", 00:01:07 verbose #1066 > > result 00:01:07 verbose #1067 > > ]] 00:01:07 verbose #1068 > 00:01:07 debug #24 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2164693988531221e16105002365173c5393fe9ff55d84e27b355ffa955e299c/main.spi 00:01:07 verbose #1069 > > 00:01:07 verbose #1070 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:07 verbose #1071 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:07 verbose #1072 > > │ ## typescript │ 00:01:07 verbose #1073 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #1074 > > 00:01:07 verbose #1075 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:07 verbose #1076 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:07 verbose #1077 > > │ ### process_typescript │ 00:01:07 verbose #1078 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #1079 > > 00:01:07 verbose #1080 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:07 verbose #1081 > > inl process_typescript { fs_path deps trace_level } = 00:01:07 verbose #1082 > > inl extension = "ts" 00:01:07 verbose #1083 > > inl is_trace = trace_level = Verbose 00:01:07 verbose #1084 > > inl _trace (fn : () -> string) = 00:01:07 verbose #1085 > > if is_trace 00:01:07 verbose #1086 > > then trace Info (fun () => $'$"spiral_builder.process_typescript / {!fn 00:01:07 verbose #1087 > > ()}"') id 00:01:07 verbose #1088 > > else fn () |> console.write_line 00:01:07 verbose #1089 > > 00:01:07 verbose #1090 > > inl code = fs_path |> file_system.read_all_text 00:01:07 verbose #1091 > > 00:01:07 verbose #1092 > > inl hash_hex = (extension, code) |> sm'.format_debug |> crypto.hash_text 00:01:07 verbose #1093 > > 00:01:07 verbose #1094 > > inl workspace_name = "spiral_builder" 00:01:07 verbose #1095 > > 00:01:07 verbose #1096 > > inl workspace_root_external = file_system.get_workspace_root_external () 00:01:07 verbose #1097 > > inl workspace_root = workspace_root_external |> resultm.box |> 00:01:07 verbose #1098 > > resultm.unwrap_or_else id 00:01:07 verbose #1099 > > 00:01:07 verbose #1100 > > inl package_dir = 00:01:07 verbose #1101 > > get_package_dir 00:01:07 verbose #1102 > > { workspace_root name = workspace_name; target = Some TypeScript; 00:01:07 verbose #1103 > > hash = Some hash_hex } 00:01:07 verbose #1104 > > 00:01:07 verbose #1105 > > inl fsproj_path = 00:01:07 verbose #1106 > > persist_code_project 00:01:07 verbose #1107 > > { 00:01:07 verbose #1108 > > workspace_root 00:01:07 verbose #1109 > > package_dir 00:01:07 verbose #1110 > > packages = [[ "Fable.Core" ]] 00:01:07 verbose #1111 > > modules = [[]] 00:01:07 verbose #1112 > > name = workspace_name 00:01:07 verbose #1113 > > code 00:01:07 verbose #1114 > > } 00:01:07 verbose #1115 > > 00:01:07 verbose #1116 > > inl lib_path = workspace_root </> "lib/typescript/fable/fable_modules" 00:01:07 verbose #1117 > > 00:01:07 verbose #1118 > > inl versions = 00:01:07 verbose #1119 > > lib_path 00:01:07 verbose #1120 > > |> file_system.new_walk_dir 00:01:07 verbose #1121 > > |> file_system.walk_dir_filter fun entry => async.future_init_send (2, 00:01:07 verbose #1122 > > 1) 1 fun () => 00:01:07 verbose #1123 > > entry 00:01:07 verbose #1124 > > |> file_system.dir_entry_file_type 00:01:07 verbose #1125 > > |> async.await_send 00:01:07 verbose #1126 > > |> resultm.map_error' sm'.format' 00:01:07 verbose #1127 > > |> resultm.unbox 00:01:07 verbose #1128 > > |> function 00:01:07 verbose #1129 > > | Ok file_type when file_type |> file_system.file_type_is_dir |> 00:01:07 verbose #1130 > > not => file_system.Ignore 00:01:07 verbose #1131 > > | _ => file_system.Continue 00:01:07 verbose #1132 > > |> file_system.stream_filter_map fun entry => 00:01:07 verbose #1133 > > inl entry = entry |> resultm.map_error' sm'.format' |> resultm.unbox 00:01:07 verbose #1134 > > match entry with 00:01:07 verbose #1135 > > | Ok entry => 00:01:07 verbose #1136 > > inl path = 00:01:07 verbose #1137 > > entry 00:01:07 verbose #1138 > > |> file_system.dir_entry_path 00:01:07 verbose #1139 > > |> file_system.path_buf_display 00:01:07 verbose #1140 > > |> sm'.format' 00:01:07 verbose #1141 > > |> sm'.from_std_string 00:01:07 verbose #1142 > > inl version = 00:01:07 verbose #1143 > > $'$"fable-library-{!extension}\\.(?<a>[[\\d.]]+)$"' 00:01:07 verbose #1144 > > |> sm'.new_regex 00:01:07 verbose #1145 > > |> resultm.unwrap' 00:01:07 verbose #1146 > > |> sm'.regex_captures path 00:01:07 verbose #1147 > > |> am'.from_vec 00:01:07 verbose #1148 > > |> fun x => x : _ i32 _ 00:01:07 verbose #1149 > > |> am'.try_item 0 00:01:07 verbose #1150 > > |> optionm.map (mapm.get "a" >> optionm'.unbox) 00:01:07 verbose #1151 > > |> optionm'.flatten 00:01:07 verbose #1152 > > match version with 00:01:07 verbose #1153 > > | None => None 00:01:07 verbose #1154 > > | Some version => Some (path, version) 00:01:07 verbose #1155 > > | Error error => 00:01:07 verbose #1156 > > trace Critical 00:01:07 verbose #1157 > > fun () => $'"spiral_builder.process_typescript 00:01:07 verbose #1158 > > stream_filter_map"' 00:01:07 verbose #1159 > > fun () => { error } 00:01:07 verbose #1160 > > None 00:01:07 verbose #1161 > > |> optionm'.box 00:01:07 verbose #1162 > > |> async.into_par_iter 00:01:07 verbose #1163 > > |> async.par_map fun file => 00:01:07 verbose #1164 > > file 00:01:07 verbose #1165 > > |> async.par_collect 00:01:07 verbose #1166 > > 00:01:07 verbose #1167 > > inl version = 00:01:07 verbose #1168 > > versions 00:01:07 verbose #1169 > > |> am'.from_vec 00:01:07 verbose #1170 > > |> fun x => x : _ i32 _ 00:01:07 verbose #1171 > > |> am'.try_item 0 00:01:07 verbose #1172 > > 00:01:07 verbose #1173 > > trace Debug 00:01:07 verbose #1174 > > fun () => $'"spiral_builder.process_typescript"' 00:01:07 verbose #1175 > > fun () => { version = version |> sm'.format_pretty' } 00:01:07 verbose #1176 > > 00:01:07 verbose #1177 > > match version with 00:01:07 verbose #1178 > > | None => () 00:01:07 verbose #1179 > > | Some (_path, version) => 00:01:07 verbose #1180 > > inl lib_link_target_path = lib_path </> 00:01:07 verbose #1181 > > $'$"fable-library-{!extension}.{!version}"' 00:01:07 verbose #1182 > > inl lib_link_path = package_dir </> 00:01:07 verbose #1183 > > $'$"fable_modules/fable-library-{!extension}.{!version}"' 00:01:07 verbose #1184 > > 00:01:07 verbose #1185 > > lib_link_path |> file_system.link_directory lib_link_target_path 00:01:07 verbose #1186 > > 00:01:07 verbose #1187 > > inl exit_code, dotnet_fable_result = 00:01:07 verbose #1188 > > execute_dotnet_fable { workspace_root_external fsproj_path extension 00:01:07 verbose #1189 > > package_dir } 00:01:07 verbose #1190 > > 00:01:07 verbose #1191 > > if exit_code <>. 0 then 00:01:07 verbose #1192 > > trace Critical 00:01:07 verbose #1193 > > fun () => $'$"spiral_builder.process_typescript"' 00:01:07 verbose #1194 > > fun () => { exit_code dotnet_fable_result } 00:01:07 verbose #1195 > > { extension = Some extension; code = None; output = Some 00:01:07 verbose #1196 > > dotnet_fable_result } 00:01:07 verbose #1197 > > else 00:01:07 verbose #1198 > > inl deps = 00:01:07 verbose #1199 > > deps 00:01:07 verbose #1200 > > |> am'.vec_map fun dep => 00:01:07 verbose #1201 > > inl dep = dep |> sm'.from_std_string 00:01:07 verbose #1202 > > if dep |> sm'.contains "=" 00:01:07 verbose #1203 > > then dep 00:01:07 verbose #1204 > > else $'$"\\"{!dep}\\":\\"*\\""' 00:01:07 verbose #1205 > > |> am'.from_vec 00:01:07 verbose #1206 > > |> fun x => x : _ i32 _ 00:01:07 verbose #1207 > > |> seq.of_array' 00:01:07 verbose #1208 > > |> sm'.concat ",\n" 00:01:07 verbose #1209 > > 00:01:07 verbose #1210 > > inl package_json_content = 00:01:07 verbose #1211 > > $'$"{{"' 00:01:07 verbose #1212 > > +. $'$" \\\"name\\\": \\\"spiral_builder_{!hash_hex}\\\","' 00:01:07 verbose #1213 > > +. $'$" \\\"dependencies\\\": {{"' 00:01:07 verbose #1214 > > +. deps 00:01:07 verbose #1215 > > +. $'$" }},"' 00:01:07 verbose #1216 > > +. $'$" \\\"devDependencies\\\": {{"' 00:01:07 verbose #1217 > > +. $'$" }},"' 00:01:07 verbose #1218 > > +. $'$"}}"' 00:01:07 verbose #1219 > > 00:01:07 verbose #1220 > > inl workspace_package_json_content = 00:01:07 verbose #1221 > > "" 00:01:07 verbose #1222 > > 00:01:07 verbose #1223 > > inl package_json_path = package_dir </> "package.json" 00:01:07 verbose #1224 > > 00:01:07 verbose #1225 > > inl workspace_dir = package_dir </> "../.." 00:01:07 verbose #1226 > > inl workspace_package_json_path = workspace_dir </> "package.json" 00:01:07 verbose #1227 > > 00:01:07 verbose #1228 > > package_json_content |> file_system.write_all_text_exists 00:01:07 verbose #1229 > > package_json_path 00:01:07 verbose #1230 > > 00:01:07 verbose #1231 > > workspace_package_json_content |> file_system.write_all_text_exists 00:01:07 verbose #1232 > > workspace_package_json_path 00:01:07 verbose #1233 > > 00:01:07 verbose #1234 > > inl new_code_path = package_dir </> $'$"{!workspace_name}.{!extension}"' 00:01:07 verbose #1235 > > trace Debug 00:01:07 verbose #1236 > > fun () => $'"spiral_builder.process_typescript"' 00:01:07 verbose #1237 > > fun () => { new_code_path } 00:01:07 verbose #1238 > > inl new_code = new_code_path |> file_system.read_all_text 00:01:07 verbose #1239 > > 00:01:07 verbose #1240 > > inl main_code_header = 00:01:07 verbose #1241 > > "// spiral_builder.process_typescript" 00:01:07 verbose #1242 > > inl main_code = "// spiral_builder.process_typescript" 00:01:07 verbose #1243 > > 00:01:07 verbose #1244 > > inl cached = new_code |> sm'.contains main_code_header 00:01:07 verbose #1245 > > 00:01:07 verbose #1246 > > inl new_code = 00:01:07 verbose #1247 > > if cached 00:01:07 verbose #1248 > > then new_code 00:01:07 verbose #1249 > > else 00:01:07 verbose #1250 > > new_code 00:01:07 verbose #1251 > > |> sm'.replace 00:01:07 verbose #1252 > > $'$"\\\"./fable_modules/fable-library-ts.{!version}/"' 00:01:07 verbose #1253 > > 00:01:07 verbose #1254 > > $'$"\\\"{!workspace_root}/lib/typescript/fable/fable_modules/fable-library-ts.{! 00:01:07 verbose #1255 > > version}/"' 00:01:07 verbose #1256 > > |> sm'.replace_regex 00:01:07 verbose #1257 > > "\\s\\sdefaultOf\\(\\);" 00:01:07 verbose #1258 > > " defaultOf::<()>();" 00:01:07 verbose #1259 > > 00:01:07 verbose #1260 > > if not cached then 00:01:07 verbose #1261 > > $'$"{!new_code}\\n\\n{!main_code}\\n"' 00:01:07 verbose #1262 > > |> file_system.write_all_text_exists new_code_path 00:01:07 verbose #1263 > > 00:01:07 verbose #1264 > > inl command = $'$"bun run \\\"{!new_code_path}\\\""' 00:01:07 verbose #1265 > > inl environment_variables = 00:01:07 verbose #1266 > > match "~/.bun/bin" |> env.append_path with 00:01:07 verbose #1267 > > | Some path => [[ "PATH", path ]] 00:01:07 verbose #1268 > > | None => [[]] 00:01:07 verbose #1269 > > ++ [[ 00:01:07 verbose #1270 > > "TRACE_LEVEL", "Verbose" 00:01:07 verbose #1271 > > ]] 00:01:07 verbose #1272 > > |> listm'.box 00:01:07 verbose #1273 > > |> listm'.to_array' 00:01:07 verbose #1274 > > inl exit_code, run_result = 00:01:07 verbose #1275 > > runtime.execution_options fun x => { x with 00:01:07 verbose #1276 > > command 00:01:07 verbose #1277 > > environment_variables 00:01:07 verbose #1278 > > working_directory = workspace_root_external |> resultm.box |> 00:01:07 verbose #1279 > > resultm.ok' 00:01:07 verbose #1280 > > } 00:01:07 verbose #1281 > > |> runtime.execute_with_options 00:01:07 verbose #1282 > > 00:01:07 verbose #1283 > > inl external_command = 00:01:07 verbose #1284 > > inl vars = 00:01:07 verbose #1285 > > a environment_variables 00:01:07 verbose #1286 > > |> am.map fun k, v => $'$"$env:{!k}=\'\'{!v}\'\'"' : string 00:01:07 verbose #1287 > > |> fun x => x : _ i32 _ 00:01:07 verbose #1288 > > |> seq.of_array 00:01:07 verbose #1289 > > |> sm'.concat ";" 00:01:07 verbose #1290 > > $'$"pwsh -c \'{!vars}; {!command}\'"' : string 00:01:07 verbose #1291 > > if exit_code = 0 then 00:01:07 verbose #1292 > > inl output = 00:01:07 verbose #1293 > > try 00:01:07 verbose #1294 > > fun () => 00:01:07 verbose #1295 > > run_result 00:01:07 verbose #1296 > > |> sm'.split "\n" 00:01:07 verbose #1297 > > |> fun x => a x : _ i32 _ 00:01:07 verbose #1298 > > |> seq.of_array 00:01:07 verbose #1299 > > |> sm'.concat "\n" 00:01:07 verbose #1300 > > fun ex => 00:01:07 verbose #1301 > > trace Critical 00:01:07 verbose #1302 > > fun () => "spiral_builder.process_typescript 00:01:07 verbose #1303 > > Exception" 00:01:07 verbose #1304 > > fun () => { ex new_code_path external_command 00:01:07 verbose #1305 > > run_result } 00:01:07 verbose #1306 > > None 00:01:07 verbose #1307 > > |> optionm'.box 00:01:07 verbose #1308 > > |> optionm'.unwrap 00:01:07 verbose #1309 > > 00:01:07 verbose #1310 > > { extension = Some extension; code = Some new_code; output = Some 00:01:07 verbose #1311 > > output } 00:01:07 verbose #1312 > > else 00:01:07 verbose #1313 > > trace Critical 00:01:07 verbose #1314 > > fun () => "spiral_builder.process_typescript / error" 00:01:07 verbose #1315 > > fun () => { exit_code run_result new_code_path external_command 00:01:07 verbose #1316 > > } 00:01:07 verbose #1317 > > { extension = Some extension; code = None; output = None } 00:01:07 verbose #1318 > 00:01:07 debug #25 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aa0bfd1aea7df22f6eb68529e122a5c01d8de0753961b3f1ce5dbe2b6a7e2dfd/main.spi 00:01:08 verbose #1319 > > 00:01:08 verbose #1320 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:08 verbose #1321 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:08 verbose #1322 > > │ ## python │ 00:01:08 verbose #1323 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:08 verbose #1324 > > 00:01:08 verbose #1325 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:08 verbose #1326 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:08 verbose #1327 > > │ ### process_python │ 00:01:08 verbose #1328 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:08 verbose #1329 > > 00:01:08 verbose #1330 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:08 verbose #1331 > > inl process_python { fs_path deps trace_level } = 00:01:08 verbose #1332 > > inl extension = "py" 00:01:08 verbose #1333 > > inl is_trace = trace_level = Verbose 00:01:08 verbose #1334 > > inl _trace (fn : () -> string) = 00:01:08 verbose #1335 > > if is_trace 00:01:08 verbose #1336 > > then trace Info (fun () => $'$"spiral_builder.process_python / {!fn 00:01:08 verbose #1337 > > ()}"') id 00:01:08 verbose #1338 > > else fn () |> console.write_line 00:01:08 verbose #1339 > > 00:01:08 verbose #1340 > > inl code = fs_path |> file_system.read_all_text 00:01:08 verbose #1341 > > 00:01:08 verbose #1342 > > inl hash_hex = (extension, code) |> sm'.format_debug |> crypto.hash_text 00:01:08 verbose #1343 > > 00:01:08 verbose #1344 > > inl workspace_name = "spiral_builder" 00:01:08 verbose #1345 > > 00:01:08 verbose #1346 > > inl workspace_root_external = file_system.get_workspace_root_external () 00:01:08 verbose #1347 > > inl workspace_root = workspace_root_external |> resultm.box |> 00:01:08 verbose #1348 > > resultm.unwrap_or_else id 00:01:08 verbose #1349 > > 00:01:08 verbose #1350 > > inl package_dir = 00:01:08 verbose #1351 > > get_package_dir { workspace_root name = workspace_name; target = Some 00:01:08 verbose #1352 > > Python; hash = Some hash_hex } 00:01:08 verbose #1353 > > 00:01:08 verbose #1354 > > inl fsproj_path = 00:01:08 verbose #1355 > > persist_code_project 00:01:08 verbose #1356 > > { 00:01:08 verbose #1357 > > workspace_root 00:01:08 verbose #1358 > > package_dir 00:01:08 verbose #1359 > > packages = [[ "Fable.Core" ]] 00:01:08 verbose #1360 > > modules = [[]] 00:01:08 verbose #1361 > > name = workspace_name 00:01:08 verbose #1362 > > code 00:01:08 verbose #1363 > > } 00:01:08 verbose #1364 > > 00:01:08 verbose #1365 > > inl lib_path = workspace_root </> "lib/python/fable/fable_modules" 00:01:08 verbose #1366 > > 00:01:08 verbose #1367 > > inl lib_link_target_path = lib_path </> $'$"fable_library"' 00:01:08 verbose #1368 > > inl lib_link_path = package_dir </> $'$"fable_modules/fable_library"' 00:01:08 verbose #1369 > > 00:01:08 verbose #1370 > > lib_link_path |> file_system.link_directory lib_link_target_path 00:01:08 verbose #1371 > > 00:01:08 verbose #1372 > > inl exit_code, dotnet_fable_result = 00:01:08 verbose #1373 > > execute_dotnet_fable { workspace_root_external fsproj_path extension 00:01:08 verbose #1374 > > package_dir } 00:01:08 verbose #1375 > > 00:01:08 verbose #1376 > > if exit_code <>. 0 then 00:01:08 verbose #1377 > > trace Critical 00:01:08 verbose #1378 > > fun () => $'$"spiral_builder.process_python"' 00:01:08 verbose #1379 > > fun () => { exit_code dotnet_fable_result } 00:01:08 verbose #1380 > > { extension = Some extension; code = None; output = Some 00:01:08 verbose #1381 > > dotnet_fable_result } 00:01:08 verbose #1382 > > else 00:01:08 verbose #1383 > > inl deps = 00:01:08 verbose #1384 > > deps 00:01:08 verbose #1385 > > |> am'.vec_map fun dep => 00:01:08 verbose #1386 > > inl dep = dep |> sm'.from_std_string 00:01:08 verbose #1387 > > if dep |> sm'.contains "=" 00:01:08 verbose #1388 > > then dep 00:01:08 verbose #1389 > > else $'$"\\"{!dep}\\":\\"*\\""' 00:01:08 verbose #1390 > > |> am'.from_vec 00:01:08 verbose #1391 > > |> fun x => x : _ i32 _ 00:01:08 verbose #1392 > > |> seq.of_array' 00:01:08 verbose #1393 > > |> sm'.concat ",\n" 00:01:08 verbose #1394 > > 00:01:08 verbose #1395 > > inl package_json_content = 00:01:08 verbose #1396 > > $'$"{{"' 00:01:08 verbose #1397 > > +. $'$" \\\"name\\\": \\\"spiral_builder_{!hash_hex}\\\","' 00:01:08 verbose #1398 > > +. $'$" \\\"dependencies\\\": {{"' 00:01:08 verbose #1399 > > +. deps 00:01:08 verbose #1400 > > +. $'$" }},"' 00:01:08 verbose #1401 > > +. $'$" \\\"devDependencies\\\": {{"' 00:01:08 verbose #1402 > > +. $'$" }},"' 00:01:08 verbose #1403 > > +. $'$"}}"' 00:01:08 verbose #1404 > > 00:01:08 verbose #1405 > > inl workspace_package_json_content = 00:01:08 verbose #1406 > > "" 00:01:08 verbose #1407 > > 00:01:08 verbose #1408 > > inl package_json_path = package_dir </> "package.json" 00:01:08 verbose #1409 > > 00:01:08 verbose #1410 > > inl workspace_dir = package_dir </> "../.." 00:01:08 verbose #1411 > > inl workspace_package_json_path = workspace_dir </> "package.json" 00:01:08 verbose #1412 > > 00:01:08 verbose #1413 > > package_json_content |> file_system.write_all_text_exists 00:01:08 verbose #1414 > > package_json_path 00:01:08 verbose #1415 > > 00:01:08 verbose #1416 > > workspace_package_json_content |> file_system.write_all_text_exists 00:01:08 verbose #1417 > > workspace_package_json_path 00:01:08 verbose #1418 > > 00:01:08 verbose #1419 > > inl new_code_path = package_dir </> $'$"{!workspace_name}.{!extension}"' 00:01:08 verbose #1420 > > trace Debug 00:01:08 verbose #1421 > > fun () => $'"spiral_builder.process_python"' 00:01:08 verbose #1422 > > fun () => { new_code_path } 00:01:08 verbose #1423 > > inl new_code = new_code_path |> file_system.read_all_text 00:01:08 verbose #1424 > > 00:01:08 verbose #1425 > > inl main_code_header = 00:01:08 verbose #1426 > > "# spiral_builder.process_python" 00:01:08 verbose #1427 > > inl main_code = "# spiral_builder.process_python" 00:01:08 verbose #1428 > > 00:01:08 verbose #1429 > > inl cached = new_code |> sm'.contains main_code_header 00:01:08 verbose #1430 > > 00:01:08 verbose #1431 > > inl new_code = 00:01:08 verbose #1432 > > if cached 00:01:08 verbose #1433 > > then new_code 00:01:08 verbose #1434 > > else 00:01:08 verbose #1435 > > new_code 00:01:08 verbose #1436 > > |> sm'.replace 00:01:08 verbose #1437 > > ("),)" +. !\($'"\\\";\\\".into()"')) 00:01:08 verbose #1438 > > "));" 00:01:08 verbose #1439 > > |> sm'.replace_regex 00:01:08 verbose #1440 > > "\\s\\sdefaultOf\\(\\);" 00:01:08 verbose #1441 > > " defaultOf::<()>();" 00:01:08 verbose #1442 > > 00:01:08 verbose #1443 > > if not cached 00:01:08 verbose #1444 > > then 00:01:08 verbose #1445 > > $'$"{!new_code}\\n\\n{!main_code}\\n"' 00:01:08 verbose #1446 > > |> file_system.write_all_text_exists new_code_path 00:01:08 verbose #1447 > > 00:01:08 verbose #1448 > > inl command = $'$"python \\\"{!new_code_path}\\\""' 00:01:08 verbose #1449 > > inl environment_variables = 00:01:08 verbose #1450 > > ;[[ 00:01:08 verbose #1451 > > "TRACE_LEVEL", "Verbose" 00:01:08 verbose #1452 > > ]] 00:01:08 verbose #1453 > > inl exit_code, run_result = 00:01:08 verbose #1454 > > runtime.execution_options fun x => { x with 00:01:08 verbose #1455 > > command 00:01:08 verbose #1456 > > environment_variables 00:01:08 verbose #1457 > > working_directory = workspace_root_external |> resultm.box |> 00:01:08 verbose #1458 > > resultm.ok' 00:01:08 verbose #1459 > > } 00:01:08 verbose #1460 > > |> runtime.execute_with_options 00:01:08 verbose #1461 > > 00:01:08 verbose #1462 > > inl external_command = 00:01:08 verbose #1463 > > inl vars = 00:01:08 verbose #1464 > > a environment_variables 00:01:08 verbose #1465 > > |> am.map fun k, v => $'$"$env:{!k}=\'\'{!v}\'\'"' : string 00:01:08 verbose #1466 > > |> fun x => x : _ i32 _ 00:01:08 verbose #1467 > > |> seq.of_array 00:01:08 verbose #1468 > > |> sm'.concat ";" 00:01:08 verbose #1469 > > $'$"pwsh -c \'{!vars}; {!command}\'"' : string 00:01:08 verbose #1470 > > if exit_code = 0 then 00:01:08 verbose #1471 > > inl output = 00:01:08 verbose #1472 > > try 00:01:08 verbose #1473 > > fun () => 00:01:08 verbose #1474 > > run_result 00:01:08 verbose #1475 > > |> sm'.split "\n" 00:01:08 verbose #1476 > > |> fun x => a x : _ i32 _ 00:01:08 verbose #1477 > > |> seq.of_array 00:01:08 verbose #1478 > > |> sm'.concat "\n" 00:01:08 verbose #1479 > > fun ex => 00:01:08 verbose #1480 > > trace Critical 00:01:08 verbose #1481 > > fun () => "spiral_builder.process_python 00:01:08 verbose #1482 > > Exception" 00:01:08 verbose #1483 > > fun () => { ex run_result new_code_path 00:01:08 verbose #1484 > > external_command } 00:01:08 verbose #1485 > > None 00:01:08 verbose #1486 > > |> optionm'.box 00:01:08 verbose #1487 > > |> optionm'.unwrap 00:01:08 verbose #1488 > > 00:01:08 verbose #1489 > > { extension = Some extension; code = Some new_code; output = Some 00:01:08 verbose #1490 > > output } 00:01:08 verbose #1491 > > else 00:01:08 verbose #1492 > > trace Critical 00:01:08 verbose #1493 > > fun () => "spiral_builder.process_python / error" 00:01:08 verbose #1494 > > fun () => { exit_code run_result new_code_path external_command 00:01:08 verbose #1495 > > } 00:01:08 verbose #1496 > > { extension = Some extension; code = None; output = None } 00:01:08 verbose #1497 > 00:01:07 debug #26 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4c608154fbbd376178972778e5a7fa56670df016aed5c21e1de14eee5be4aed1/main.spi 00:01:08 verbose #1498 > > 00:01:08 verbose #1499 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:08 verbose #1500 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:08 verbose #1501 > > │ ## cuda │ 00:01:08 verbose #1502 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:08 verbose #1503 > > 00:01:08 verbose #1504 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:08 verbose #1505 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:08 verbose #1506 > > │ ### process_cuda │ 00:01:08 verbose #1507 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:08 verbose #1508 > > 00:01:08 verbose #1509 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:08 verbose #1510 > > inl process_cuda { py_path env deps } = 00:01:08 verbose #1511 > > inl extension = "py" 00:01:08 verbose #1512 > > 00:01:08 verbose #1513 > > inl new_code_path = py_path 00:01:08 verbose #1514 > > inl new_code = new_code_path |> file_system.read_all_text 00:01:08 verbose #1515 > > 00:01:08 verbose #1516 > > inl workspace_root_external = file_system.get_workspace_root_external () 00:01:08 verbose #1517 > > inl workspace_root = workspace_root_external |> resultm.box |> 00:01:08 verbose #1518 > > resultm.unwrap_or_else id 00:01:08 verbose #1519 > > 00:01:08 verbose #1520 > > inl package_dir = new_code_path |> file_system.get_directory_name 00:01:08 verbose #1521 > > 00:01:08 verbose #1522 > > inl manifest_path = 00:01:08 verbose #1523 > > match env with 00:01:08 verbose #1524 > > | Pip => package_dir </> "requirements.txt" 00:01:08 verbose #1525 > > | Poetry => package_dir </> "pyproject.toml" 00:01:08 verbose #1526 > > 00:01:08 verbose #1527 > > inl deps = 00:01:08 verbose #1528 > > deps 00:01:08 verbose #1529 > > |> am'.vec_map fun dep => 00:01:08 verbose #1530 > > inl dep = dep |> sm'.from_std_string 00:01:08 verbose #1531 > > if dep |> sm'.contains "=" 00:01:08 verbose #1532 > > then dep 00:01:08 verbose #1533 > > elif dep |> sm'.ends_with "]]" 00:01:08 verbose #1534 > > then dep |> sm'.replace "[[" $'$"={{version=\'*\',features=[["' |> 00:01:08 verbose #1535 > > fun x => $'$"{!x}}}"' 00:01:08 verbose #1536 > > else $'$"{!dep}=\'*\'"' 00:01:08 verbose #1537 > > |> am'.from_vec 00:01:08 verbose #1538 > > |> fun x => x : _ i32 _ 00:01:08 verbose #1539 > > |> seq.of_array' 00:01:08 verbose #1540 > > |> sm'.concat "\n" 00:01:08 verbose #1541 > > 00:01:08 verbose #1542 > > inl exit_code, run_result = 00:01:08 verbose #1543 > > if deps = "" 00:01:08 verbose #1544 > > then 0, "" 00:01:08 verbose #1545 > > else 00:01:08 verbose #1546 > > inl manifest = 00:01:08 verbose #1547 > > match env with 00:01:08 verbose #1548 > > | Pip => 00:01:08 verbose #1549 > > deps 00:01:08 verbose #1550 > > | Poetry => 00:01:08 verbose #1551 > > $'$"[[tool.poetry]]"' 00:01:08 verbose #1552 > > +#. $'$"name = \\\"test\\\""' 00:01:08 verbose #1553 > > +#. $'$"version = \\\"0.0.1\\\""' 00:01:08 verbose #1554 > > +#. $'$"description = \\\"\\\""' 00:01:08 verbose #1555 > > +#. $'$"authors = [[]]"' 00:01:08 verbose #1556 > > +#. $'$""' 00:01:08 verbose #1557 > > +#. $'$"[[tool.poetry.dependencies]]"' 00:01:08 verbose #1558 > > +#. $'$"python=\\\"~3.12\\\""' 00:01:08 verbose #1559 > > +#. $'$"{!deps}"' 00:01:08 verbose #1560 > > +#. $'$""' 00:01:08 verbose #1561 > > +#. $'$"[[build-system]]"' 00:01:08 verbose #1562 > > +#. $'$"requires = [[\\\"poetry-core\\\"]]"' 00:01:08 verbose #1563 > > +#. $'$"build-backend = \\\"poetry.core.masonry.api\\\""' 00:01:08 verbose #1564 > > 00:01:08 verbose #1565 > > manifest |> file_system.write_all_text_exists manifest_path 00:01:08 verbose #1566 > > 00:01:08 verbose #1567 > > runtime.execution_options fun x => { x with 00:01:08 verbose #1568 > > command = 00:01:08 verbose #1569 > > match env with 00:01:08 verbose #1570 > > | Pip => $'$"pip install -r requirements.txt"' 00:01:08 verbose #1571 > > | Poetry => $'$"poetry install"' 00:01:08 verbose #1572 > > working_directory = package_dir |> optionm'.some' 00:01:08 verbose #1573 > > } 00:01:08 verbose #1574 > > |> runtime.execute_with_options 00:01:08 verbose #1575 > > 00:01:08 verbose #1576 > > if exit_code <>. 0 then 00:01:08 verbose #1577 > > trace Critical 00:01:08 verbose #1578 > > fun () => "spiral_builder.process_cuda / env install error" 00:01:08 verbose #1579 > > fun () => { env exit_code run_result new_code_path } 00:01:08 verbose #1580 > > { extension = Some extension; code = None; output = None } 00:01:08 verbose #1581 > > else 00:01:08 verbose #1582 > > inl command = 00:01:08 verbose #1583 > > match env with 00:01:08 verbose #1584 > > | Pip => $'$"python \\\"{!new_code_path}\\\""' 00:01:08 verbose #1585 > > | Poetry => $'$"poetry run python \\\"{!new_code_path}\\\""' 00:01:08 verbose #1586 > > inl environment_variables = 00:01:08 verbose #1587 > > ;[[ 00:01:08 verbose #1588 > > "TRACE_LEVEL", "Verbose" 00:01:08 verbose #1589 > > ]] 00:01:08 verbose #1590 > > inl exit_code, run_result = 00:01:08 verbose #1591 > > runtime.execution_options fun x => { x with 00:01:08 verbose #1592 > > command 00:01:08 verbose #1593 > > environment_variables 00:01:08 verbose #1594 > > working_directory = package_dir |> optionm'.some' 00:01:08 verbose #1595 > > } 00:01:08 verbose #1596 > > |> runtime.execute_with_options 00:01:08 verbose #1597 > > 00:01:08 verbose #1598 > > inl external_command = 00:01:08 verbose #1599 > > inl vars = 00:01:08 verbose #1600 > > a environment_variables 00:01:08 verbose #1601 > > |> am.map fun k, v => $'$"$env:{!k}=\'\'{!v}\'\'"' : string 00:01:08 verbose #1602 > > |> fun x => x : _ i32 _ 00:01:08 verbose #1603 > > |> seq.of_array 00:01:08 verbose #1604 > > |> sm'.concat ";" 00:01:08 verbose #1605 > > $'$"pwsh -c \'{!vars}; {!command}\'"' : string 00:01:08 verbose #1606 > > if exit_code = 0 00:01:08 verbose #1607 > > || (run_result |> sm'.contains 00:01:08 verbose #1608 > > "cupy_backends.cuda.api.runtime.CUDARuntimeError: cudaErrorInsufficientDriver") 00:01:08 verbose #1609 > > then 00:01:08 verbose #1610 > > inl output = 00:01:08 verbose #1611 > > try 00:01:08 verbose #1612 > > fun () => 00:01:08 verbose #1613 > > run_result 00:01:08 verbose #1614 > > |> sm'.split "\n" 00:01:08 verbose #1615 > > |> fun x => a x : _ i32 _ 00:01:08 verbose #1616 > > |> seq.of_array 00:01:08 verbose #1617 > > |> sm'.concat "\n" 00:01:08 verbose #1618 > > fun ex => 00:01:08 verbose #1619 > > trace Critical 00:01:08 verbose #1620 > > fun () => "spiral_builder.process_cuda / Exception" 00:01:08 verbose #1621 > > fun () => { ex run_result new_code_path 00:01:08 verbose #1622 > > external_command } 00:01:08 verbose #1623 > > None 00:01:08 verbose #1624 > > |> optionm'.box 00:01:08 verbose #1625 > > |> optionm'.unwrap 00:01:08 verbose #1626 > > 00:01:08 verbose #1627 > > { extension = Some extension; code = Some new_code; output = Some 00:01:08 verbose #1628 > > output } 00:01:08 verbose #1629 > > else 00:01:08 verbose #1630 > > trace Critical 00:01:08 verbose #1631 > > fun () => "spiral_builder.process_cuda / error" 00:01:08 verbose #1632 > > fun () => { exit_code run_result new_code_path external_command 00:01:08 verbose #1633 > > } 00:01:08 verbose #1634 > > { extension = Some extension; code = None; output = None } 00:01:08 verbose #1635 > 00:01:08 debug #27 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2476dd50f912ec4aebced9d66b7699d647db430acf86b335a2d642296ad1fb0a/main.spi 00:01:09 verbose #1636 > > 00:01:09 verbose #1637 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:09 verbose #1638 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:09 verbose #1639 > > │ ## fsharp │ 00:01:09 verbose #1640 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:09 verbose #1641 > > 00:01:09 verbose #1642 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:09 verbose #1643 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:09 verbose #1644 > > │ ### process_fsharp │ 00:01:09 verbose #1645 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:09 verbose #1646 > > 00:01:09 verbose #1647 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:09 verbose #1648 > > inl process_fsharp { spi_path } = 00:01:09 verbose #1649 > > inl extension = "fsx" 00:01:09 verbose #1650 > > 00:01:09 verbose #1651 > > inl new_code_path = spi_path 00:01:09 verbose #1652 > > inl new_code = new_code_path |> file_system.read_all_text 00:01:09 verbose #1653 > > 00:01:09 verbose #1654 > > inl workspace_root_external = file_system.get_workspace_root_external () 00:01:09 verbose #1655 > > inl workspace_root = workspace_root_external |> resultm.box |> 00:01:09 verbose #1656 > > resultm.unwrap_or_else id 00:01:09 verbose #1657 > > 00:01:09 verbose #1658 > > inl supervisor_path = workspace_root </> 00:01:09 verbose #1659 > > $"apps/spiral/dist/Supervisor!(platform.get_executable_suffix ())" 00:01:09 verbose #1660 > > inl code_dir = new_code_path |> file_system.get_directory_name 00:01:09 verbose #1661 > > inl file_name = new_code_path |> file_system.get_file_name_without_extension 00:01:09 verbose #1662 > > inl output_path = code_dir </> $'$"{!file_name}.{!extension}"' 00:01:09 verbose #1663 > > inl command = $'$"{!supervisor_path} --build-file \\\"{!new_code_path}\\\" 00:01:09 verbose #1664 > > \\\"{!output_path}\\\""' 00:01:09 verbose #1665 > > inl environment_variables = 00:01:09 verbose #1666 > > ;[[ 00:01:09 verbose #1667 > > "TRACE_LEVEL", "Verbose" 00:01:09 verbose #1668 > > ]] 00:01:09 verbose #1669 > > inl exit_code, run_result = 00:01:09 verbose #1670 > > runtime.execution_options fun x => { x with 00:01:09 verbose #1671 > > command 00:01:09 verbose #1672 > > environment_variables 00:01:09 verbose #1673 > > working_directory = workspace_root_external |> resultm.box |> 00:01:09 verbose #1674 > > resultm.ok' 00:01:09 verbose #1675 > > } 00:01:09 verbose #1676 > > |> runtime.execute_with_options 00:01:09 verbose #1677 > > 00:01:09 verbose #1678 > > inl external_command = 00:01:09 verbose #1679 > > inl vars = 00:01:09 verbose #1680 > > a environment_variables 00:01:09 verbose #1681 > > |> am.map fun k, v => $'$"$env:{!k}=\'\'{!v}\'\'"' : string 00:01:09 verbose #1682 > > |> fun x => x : _ i32 _ 00:01:09 verbose #1683 > > |> seq.of_array 00:01:09 verbose #1684 > > |> sm'.concat ";" 00:01:09 verbose #1685 > > $'$"pwsh -c \'{!vars}; {!command}\'"' : string 00:01:09 verbose #1686 > > if exit_code = 0 then 00:01:09 verbose #1687 > > inl output = 00:01:09 verbose #1688 > > try 00:01:09 verbose #1689 > > fun () => 00:01:09 verbose #1690 > > run_result 00:01:09 verbose #1691 > > |> sm'.split "\n" 00:01:09 verbose #1692 > > |> fun x => a x : _ i32 _ 00:01:09 verbose #1693 > > |> seq.of_array 00:01:09 verbose #1694 > > |> sm'.concat "\n" 00:01:09 verbose #1695 > > fun ex => 00:01:09 verbose #1696 > > trace Critical 00:01:09 verbose #1697 > > fun () => "spiral_builder.process_fsharp / Exception" 00:01:09 verbose #1698 > > fun () => { ex run_result new_code_path external_command 00:01:09 verbose #1699 > > } 00:01:09 verbose #1700 > > None 00:01:09 verbose #1701 > > |> optionm'.box 00:01:09 verbose #1702 > > |> optionm'.unwrap 00:01:09 verbose #1703 > > 00:01:09 verbose #1704 > > { extension = Some extension; code = Some new_code; output = Some output 00:01:09 verbose #1705 > > } 00:01:09 verbose #1706 > > else 00:01:09 verbose #1707 > > trace Critical 00:01:09 verbose #1708 > > fun () => "spiral_builder.process_fsharp / error" 00:01:09 verbose #1709 > > fun () => { exit_code run_result new_code_path external_command } 00:01:09 verbose #1710 > > { extension = Some extension; code = None; output = None } 00:01:09 verbose #1711 > 00:01:08 debug #28 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a94bc201babba8e4fbafebdbfe3fb86d759bce1f4e240f0f2909d46dbf6609f5/main.spi 00:01:09 verbose #1712 > > 00:01:09 verbose #1713 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:09 verbose #1714 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:09 verbose #1715 > > │ ## run │ 00:01:09 verbose #1716 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:09 verbose #1717 > > 00:01:09 verbose #1718 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:09 verbose #1719 > > let rec run trace_level (matches : runtime.arg_matches) : async.future_pin 00:01:09 verbose #1720 > > (resultm.result' string string) = 00:01:09 verbose #1721 > > fun () => 00:01:09 verbose #1722 > > match matches |> runtime.matches_subcommand |> optionm'.unbox with 00:01:09 verbose #1723 > > | Some (subcommand, arg_matches) 00:01:09 verbose #1724 > > when (subcommand |> sm'.from_std_string) = (get_args () .cuda |> 00:01:09 verbose #1725 > > fst) => 00:01:09 verbose #1726 > > 00:01:09 verbose #1727 > > inl py_path = 00:01:09 verbose #1728 > > arg_matches 00:01:09 verbose #1729 > > |> runtime.matches_get_one ((get_args () .cuda |> snd).py_path 00:01:09 verbose #1730 > > |> fst) 00:01:09 verbose #1731 > > |> optionm'.unbox 00:01:09 verbose #1732 > > |> optionm.value 00:01:09 verbose #1733 > > |> sm'.from_std_string 00:01:09 verbose #1734 > > 00:01:09 verbose #1735 > > inl env = 00:01:09 verbose #1736 > > arg_matches 00:01:09 verbose #1737 > > |> runtime.matches_get_one ((get_args () .cuda |> snd).env |> 00:01:09 verbose #1738 > > fst) 00:01:09 verbose #1739 > > |> optionm'.unbox 00:01:09 verbose #1740 > > |> optionm.map ( 00:01:09 verbose #1741 > > sm'.from_std_string 00:01:09 verbose #1742 > > >> reflection.union_try_pick 00:01:09 verbose #1743 > > ) 00:01:09 verbose #1744 > > |> optionm'.flatten 00:01:09 verbose #1745 > > |> optionm'.default_value Pip 00:01:09 verbose #1746 > > 00:01:09 verbose #1747 > > inl deps : am'.vec sm'.std_string = 00:01:09 verbose #1748 > > arg_matches 00:01:09 verbose #1749 > > |> runtime.matches_get_many ((get_args () .cuda |> snd).deps |> 00:01:09 verbose #1750 > > fst) 00:01:09 verbose #1751 > > |> optionm'.unbox 00:01:09 verbose #1752 > > |> optionm'.default_value (;[[]] |> am'.to_vec) 00:01:09 verbose #1753 > > 00:01:09 verbose #1754 > > inl command_result = 00:01:09 verbose #1755 > > process_cuda { py_path env deps } 00:01:09 verbose #1756 > > |> fun { extension code output } => 00:01:09 verbose #1757 > > ;[[ 00:01:09 verbose #1758 > > "extension", extension |> optionm'.default_value "" 00:01:09 verbose #1759 > > "code", code |> optionm'.default_value "" 00:01:09 verbose #1760 > > "output", output |> optionm'.default_value "" 00:01:09 verbose #1761 > > ]] 00:01:09 verbose #1762 > > 00:01:09 verbose #1763 > > ;[[ 00:01:09 verbose #1764 > > "command_result", 00:01:09 verbose #1765 > > command_result 00:01:09 verbose #1766 > > |> am'.to_vec 00:01:09 verbose #1767 > > |> am'.vec_map' fun k, v => 00:01:09 verbose #1768 > > new_pair (sm'.to_std_string k) (sm'.to_std_string v) 00:01:09 verbose #1769 > > |> mapm.b_tree_map_from_vec_pairs 00:01:09 verbose #1770 > > |> sm'.serialize 00:01:09 verbose #1771 > > |> resultm.unwrap' 00:01:09 verbose #1772 > > |> sm'.from_std_string 00:01:09 verbose #1773 > > ]] 00:01:09 verbose #1774 > > 00:01:09 verbose #1775 > > | Some (subcommand, arg_matches) 00:01:09 verbose #1776 > > when (subcommand |> sm'.from_std_string) = (get_args () .fable 00:01:09 verbose #1777 > > |> fst) => 00:01:09 verbose #1778 > > 00:01:09 verbose #1779 > > inl fs_path = 00:01:09 verbose #1780 > > arg_matches 00:01:09 verbose #1781 > > |> runtime.matches_get_one ((get_args () .fable |> snd).fs_path 00:01:09 verbose #1782 > > |> fst) 00:01:09 verbose #1783 > > |> optionm'.unbox 00:01:09 verbose #1784 > > |> optionm.value 00:01:09 verbose #1785 > > |> sm'.from_std_string 00:01:09 verbose #1786 > > 00:01:09 verbose #1787 > > inl command = 00:01:09 verbose #1788 > > arg_matches 00:01:09 verbose #1789 > > |> runtime.matches_get_one ((get_args () .fable |> snd).command 00:01:09 verbose #1790 > > |> fst) 00:01:09 verbose #1791 > > |> optionm'.unbox 00:01:09 verbose #1792 > > |> optionm.map sm'.from_std_string 00:01:09 verbose #1793 > > 00:01:09 verbose #1794 > > inl command_result = 00:01:09 verbose #1795 > > match command with 00:01:09 verbose #1796 > > | Some command => 00:01:09 verbose #1797 > > get_command () 00:01:09 verbose #1798 > > |> runtime.command_get_matches_from ( 00:01:09 verbose #1799 > > $'$"_ {!command} --fs-path \\\"{!fs_path}\\\""' |> 00:01:09 verbose #1800 > > runtime.split_args |> resultm.get 00:01:09 verbose #1801 > > ) 00:01:09 verbose #1802 > > |> run trace_level 00:01:09 verbose #1803 > > |> async.await 00:01:09 verbose #1804 > > |> resultm.unwrap' 00:01:09 verbose #1805 > > | None => "{}" 00:01:09 verbose #1806 > > 00:01:09 verbose #1807 > > ;[[ 00:01:09 verbose #1808 > > "command_result", 00:01:09 verbose #1809 > > command_result 00:01:09 verbose #1810 > > ]] 00:01:09 verbose #1811 > > 00:01:09 verbose #1812 > > | Some (subcommand, arg_matches) 00:01:09 verbose #1813 > > when (subcommand |> sm'.from_std_string) = (get_args () .dib |> fst) 00:01:09 verbose #1814 > > => 00:01:09 verbose #1815 > > 00:01:09 verbose #1816 > > inl path = 00:01:09 verbose #1817 > > arg_matches 00:01:09 verbose #1818 > > |> runtime.matches_get_one ((get_args () .dib |> snd).path |> 00:01:09 verbose #1819 > > fst) 00:01:09 verbose #1820 > > |> optionm'.map'' ( 00:01:09 verbose #1821 > > sm'.from_std_string 00:01:09 verbose #1822 > > >> file_system.absolute_path 00:01:09 verbose #1823 > > ) 00:01:09 verbose #1824 > > |> optionm'.unwrap 00:01:09 verbose #1825 > > 00:01:09 verbose #1826 > > inl retries = 00:01:09 verbose #1827 > > arg_matches 00:01:09 verbose #1828 > > |> runtime.matches_get_one ((get_args () .dib |> snd).retries |> 00:01:09 verbose #1829 > > fst) 00:01:09 verbose #1830 > > |> optionm'.default_value' 1u8 00:01:09 verbose #1831 > > 00:01:09 verbose #1832 > > inl working_directory : optionm'.option' string = 00:01:09 verbose #1833 > > arg_matches 00:01:09 verbose #1834 > > |> runtime.matches_get_one ((get_args () .dib |> 00:01:09 verbose #1835 > > snd).working_directory |> fst) 00:01:09 verbose #1836 > > 00:01:09 verbose #1837 > > process_dib { path retries working_directory } 00:01:09 verbose #1838 > > 00:01:09 verbose #1839 > > | matches => 00:01:09 verbose #1840 > > match matches with 00:01:09 verbose #1841 > > | Some (subcommand, arg_matches) 00:01:09 verbose #1842 > > when (subcommand |> sm'.from_std_string) = (get_args () 00:01:09 verbose #1843 > > .rust |> fst) => 00:01:09 verbose #1844 > > 00:01:09 verbose #1845 > > inl fs_path = 00:01:09 verbose #1846 > > arg_matches 00:01:09 verbose #1847 > > |> runtime.matches_get_one ((get_args () .rust |> 00:01:09 verbose #1848 > > snd).fs_path |> fst) 00:01:09 verbose #1849 > > |> optionm'.unbox 00:01:09 verbose #1850 > > |> optionm.value 00:01:09 verbose #1851 > > |> sm'.from_std_string 00:01:09 verbose #1852 > > 00:01:09 verbose #1853 > > inl deps : am'.vec sm'.std_string = 00:01:09 verbose #1854 > > arg_matches 00:01:09 verbose #1855 > > |> runtime.matches_get_many ((get_args () .rust |> snd).deps 00:01:09 verbose #1856 > > |> fst) 00:01:09 verbose #1857 > > |> optionm'.unbox 00:01:09 verbose #1858 > > |> optionm'.default_value (;[[]] |> am'.to_vec) 00:01:09 verbose #1859 > > 00:01:09 verbose #1860 > > process_rust { fs_path deps trace_level } 00:01:09 verbose #1861 > > 00:01:09 verbose #1862 > > | Some (subcommand, arg_matches) 00:01:09 verbose #1863 > > when (subcommand |> sm'.from_std_string) = (get_args () 00:01:09 verbose #1864 > > .typescript |> fst) => 00:01:09 verbose #1865 > > 00:01:09 verbose #1866 > > inl fs_path = 00:01:09 verbose #1867 > > arg_matches 00:01:09 verbose #1868 > > |> runtime.matches_get_one ((get_args () .typescript |> 00:01:09 verbose #1869 > > snd).fs_path |> fst) 00:01:09 verbose #1870 > > |> optionm'.unbox 00:01:09 verbose #1871 > > |> optionm.value 00:01:09 verbose #1872 > > |> sm'.from_std_string 00:01:09 verbose #1873 > > 00:01:09 verbose #1874 > > inl deps : am'.vec sm'.std_string = 00:01:09 verbose #1875 > > arg_matches 00:01:09 verbose #1876 > > |> runtime.matches_get_many ((get_args () .typescript |> 00:01:09 verbose #1877 > > snd).deps |> fst) 00:01:09 verbose #1878 > > |> optionm'.unbox 00:01:09 verbose #1879 > > |> optionm'.default_value (;[[]] |> am'.to_vec) 00:01:09 verbose #1880 > > 00:01:09 verbose #1881 > > process_typescript { fs_path deps trace_level } 00:01:09 verbose #1882 > > 00:01:09 verbose #1883 > > | Some (subcommand, arg_matches) 00:01:09 verbose #1884 > > when (subcommand |> sm'.from_std_string) = (get_args () 00:01:09 verbose #1885 > > .python |> fst) => 00:01:09 verbose #1886 > > inl fs_path = 00:01:09 verbose #1887 > > arg_matches 00:01:09 verbose #1888 > > |> runtime.matches_get_one ((get_args () .python |> 00:01:09 verbose #1889 > > snd).fs_path |> fst) 00:01:09 verbose #1890 > > |> optionm'.unbox 00:01:09 verbose #1891 > > |> optionm.value 00:01:09 verbose #1892 > > |> sm'.from_std_string 00:01:09 verbose #1893 > > 00:01:09 verbose #1894 > > inl deps : am'.vec sm'.std_string = 00:01:09 verbose #1895 > > arg_matches 00:01:09 verbose #1896 > > |> runtime.matches_get_many ((get_args () .python |> 00:01:09 verbose #1897 > > snd).deps |> fst) 00:01:09 verbose #1898 > > |> optionm'.unbox 00:01:09 verbose #1899 > > |> optionm'.default_value (;[[]] |> am'.to_vec) 00:01:09 verbose #1900 > > 00:01:09 verbose #1901 > > process_python { fs_path deps trace_level } 00:01:09 verbose #1902 > > 00:01:09 verbose #1903 > > | Some (subcommand, arg_matches) => 00:01:09 verbose #1904 > > trace Debug 00:01:09 verbose #1905 > > fun () => $'"spiral_builder.run / invalid subcommand"' 00:01:09 verbose #1906 > > fun () => { subcommand arg_matches } 00:01:09 verbose #1907 > > 00:01:09 verbose #1908 > > { extension = None; code = None; output = None } 00:01:09 verbose #1909 > > | _ => 00:01:09 verbose #1910 > > { extension = None; code = None; output = None } 00:01:09 verbose #1911 > > |> fun { extension code output } => 00:01:09 verbose #1912 > > ;[[ 00:01:09 verbose #1913 > > "extension", extension |> optionm'.default_value "" 00:01:09 verbose #1914 > > "code", code |> optionm'.default_value "" 00:01:09 verbose #1915 > > "output", output |> optionm'.default_value "" 00:01:09 verbose #1916 > > ]] 00:01:09 verbose #1917 > > |> am'.to_vec 00:01:09 verbose #1918 > > |> am'.vec_map' fun k, v => 00:01:09 verbose #1919 > > new_pair (sm'.to_std_string k) (sm'.to_std_string v) 00:01:09 verbose #1920 > > |> mapm.b_tree_map_from_vec_pairs 00:01:09 verbose #1921 > > |> sm'.serialize 00:01:09 verbose #1922 > > |> resultm.map_error' (sm'.format' >> sm'.from_std_string) 00:01:09 verbose #1923 > > |> resultm.map' sm'.from_std_string 00:01:09 verbose #1924 > > |> async.future_init (3, 2) 1 00:01:09 verbose #1925 > 00:01:08 debug #29 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/89a2327e303e441afadd500dde240e6b175618316ca788d854657b268d1010c6/main.spi 00:01:09 verbose #1926 > > 00:01:09 verbose #1927 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:09 verbose #1928 > > //// test 00:01:09 verbose #1929 > > ///! rust -d async-walkdir chrono clap encoding_rs encoding_rs_io futures rand 00:01:09 verbose #1930 > > rayon regex serde_json sha2 tokio[['rt-multi-thread']] tokio-stream 00:01:09 verbose #1931 > > 00:01:09 verbose #1932 > > inl file_name = "main.fs" 00:01:09 verbose #1933 > > inl code = "3 - 6 |> System.Console.WriteLine\n" 00:01:09 verbose #1934 > > 00:01:09 verbose #1935 > > inl temp_dir, disposable = 00:01:09 verbose #1936 > > (file_name, code) 00:01:09 verbose #1937 > > |> sm'.format_debug 00:01:09 verbose #1938 > > |> crypto.hash_text 00:01:09 verbose #1939 > > |> file_system.create_temp_dir' 00:01:09 verbose #1940 > > inl fs_path = temp_dir </> file_name 00:01:09 verbose #1941 > > 00:01:09 verbose #1942 > > code |> file_system.write_all_text fs_path 00:01:09 verbose #1943 > > 00:01:09 verbose #1944 > > get_command () 00:01:09 verbose #1945 > > |> runtime.command_get_matches_from ($'$"_ fable -f \\\"{!fs_path}\\\" -c 00:01:09 verbose #1946 > > \\\"rust -d regex=\'*\'\\\""' |> runtime.split_args |> resultm.get) 00:01:09 verbose #1947 > > |> run Verbose 00:01:09 verbose #1948 > > |> async.block_on 00:01:09 verbose #1949 > > |> resultm.unwrap' 00:01:09 verbose #1950 > > |> sm'.deserialize 00:01:09 verbose #1951 > > |> resultm.unwrap' 00:01:09 verbose #1952 > > |> mapm.get ("command_result" |> sm'.to_std_string) 00:01:09 verbose #1953 > > |> optionm'.unwrap 00:01:09 verbose #1954 > > |> sm'.from_std_string 00:01:09 verbose #1955 > > |> sm'.deserialize 00:01:09 verbose #1956 > > |> resultm.unwrap' 00:01:09 verbose #1957 > > |> fun result => 00:01:09 verbose #1958 > > result 00:01:09 verbose #1959 > > |> mapm.get ("extension" |> sm'.to_std_string) 00:01:09 verbose #1960 > > |> optionm'.unwrap 00:01:09 verbose #1961 > > |> sm'.from_std_string 00:01:09 verbose #1962 > > |> _assert_eq "rs" 00:01:09 verbose #1963 > > result 00:01:09 verbose #1964 > > |> mapm.get ("output" |> sm'.to_std_string) 00:01:09 verbose #1965 > > |> optionm'.unwrap 00:01:09 verbose #1966 > > |> sm'.from_std_string 00:01:09 verbose #1967 > > |> _assert_eq "-3" 00:01:09 verbose #1968 > > 00:01:09 verbose #1969 > > disposable |> use |> ignore 00:01:09 verbose #1970 > 00:01:09 debug #30 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f75899cc09eb1d34ae1d79cb80e5722510392230da8c5d03edce872cf3174726/main.spi 00:01:52 verbose #1971 > > 00:01:52 verbose #1972 > > ╭─[ 43.31s - return value ]────────────────────────────────────────────────────╮ 00:01:52 verbose #1973 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:01:52 verbose #1974 > > │ /tmp/!create_temp_path_/spiral_builder_3ffb14aceb53dbd743df70f4cd5d53f107445 │ 00:01:52 verbose #1975 > > │ d64c275dd0c54e3bc1ec81d0549/c6422374-71e4-07d4-0ba4-c3084b24fbba } │ 00:01:52 verbose #1976 > > │ 00:00:00 verbose #2 file_system.create_dir / { dir = │ 00:01:52 verbose #1977 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:01:52 verbose #1978 > > │ kages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5db52892 │ 00:01:52 verbose #1979 > > │ } │ 00:01:52 verbose #1980 > > │ 00:00:00 verbose #3 file_system.create_dir / { dir = │ 00:01:52 verbose #1981 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:01:52 verbose #1982 > > │ kages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5db52892/ │ 00:01:52 verbose #1983 > > │ fable_modules } │ 00:01:52 verbose #1984 > > │ 00:00:00 debug #4 runtime.execute_with_options / { file_name = │ 00:01:52 verbose #1985 > > │ dotnet; arguments = ["fable", │ 00:01:52 verbose #1986 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:01:52 verbose #1987 > > │ ckages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5db52892 │ 00:01:52 verbose #1988 > > │ /spiral_builder.fsproj", "--optimize", "--lang", "rs", "--extension", ".rs", │ 00:01:52 verbose #1989 > > │ "--outDir", │ 00:01:52 verbose #1990 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:01:52 verbose #1991 > > │ ckages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5db52892 │ 00:01:52 verbose #1992 > > │ ", "--define", "_LINUX"]; options = { command = dotnet fable │ 00:01:52 verbose #1993 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:01:52 verbose #1994 > > │ ckages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5db52892 │ 00:01:52 verbose #1995 > > │ /spiral_builder.fsproj" --optimize --lang rs --extension .rs --outDir │ 00:01:52 verbose #1996 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spira...s / │ 00:01:52 verbose #1997 > > │ result / { exit_code = 0; std_trace_length = 1078 } │ 00:01:52 verbose #1998 > > │ 00:00:06 verbose #36 spiral_builder.process_rust / { new_code_path = │ 00:01:52 verbose #1999 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:01:52 verbose #2000 > > │ kages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5db52892/ │ 00:01:52 verbose #2001 > > │ spiral_builder.rs; cleanup = │ 00:01:52 verbose #2002 > > │ UH4_1("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_buil │ 00:01:52 verbose #2003 > > │ der/packages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5d │ 00:01:52 verbose #2004 > > │ b52892/../../../target/debug/spiral_builder_bbba338a47ca28119f39303b7763a976 │ 00:01:52 verbose #2005 > > │ cf95da9c277df176e65d83bd5db52892.d", true, │ 00:01:52 verbose #2006 > > │ UH4_1("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_buil │ 00:01:52 verbose #2007 > > │ der/packages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5d │ 00:01:52 verbose #2008 > > │ b52892/../../../target/debug/spiral_builder_bbba338a47ca28119f39303b7763a976 │ 00:01:52 verbose #2009 > > │ cf95da9c277df176e65d83bd5db52892.exe", false, │ 00:01:52 verbose #2010 > > │ UH4_1("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_buil │ 00:01:52 verbose #2011 > > │ der/packages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5d │ 00:01:52 verbose #2012 > > │ b52892/../../../target/debug/spiral_builder_bbba338a47ca28119f39303b7763a976 │ 00:01:52 verbose #2013 > > │ cf95da9c277df176e65d83bd5db52892.pdb", false, │ 00:01:52 verbose #2014 > > │ UH4_1("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_buil │ 00:01:52 verbose #2015 > > │ der/packages/Rust/bbba338a47ca28119f39303b7763a976cf95da9c277df176e65d83bd5d │ 00:01:52 verbose #2016 > > │ b52892/../../../target/debug/spiral_builder_bbba338a47ca28119f39303b7763a976 │ 00:01:52 verbose #2017 > > │ cf95da9c277df176e65d83bd5db52892", true, UH4_0)))) } │ 00:01:52 verbose #2018 > > │ assert_eq / actual: "rs" / expected: "rs" │ 00:01:52 verbose #2019 > > │ assert_eq / actual: "-3" / expected: "-3" │ 00:01:52 verbose #2020 > > │ │ 00:01:52 verbose #2021 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:52 verbose #2022 > > 00:01:52 verbose #2023 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:52 verbose #2024 > > //// test 00:01:52 verbose #2025 > > ///! rust -d async-walkdir chrono clap encoding_rs encoding_rs_io futures rand 00:01:52 verbose #2026 > > rayon regex serde_json sha2 tokio[['rt-multi-thread']] tokio-stream 00:01:52 verbose #2027 > > 00:01:52 verbose #2028 > > inl code = "3 - 6 |> System.Console.WriteLine\n" 00:01:52 verbose #2029 > > inl file_name = "main.fs" 00:01:52 verbose #2030 > > 00:01:52 verbose #2031 > > inl temp_dir, disposable = 00:01:52 verbose #2032 > > (file_name, code) 00:01:52 verbose #2033 > > |> sm'.format_debug 00:01:52 verbose #2034 > > |> crypto.hash_text 00:01:52 verbose #2035 > > |> file_system.create_temp_dir' 00:01:52 verbose #2036 > > inl fs_path = temp_dir </> file_name 00:01:52 verbose #2037 > > 00:01:52 verbose #2038 > > code |> file_system.write_all_text fs_path 00:01:52 verbose #2039 > > 00:01:52 verbose #2040 > > get_command () 00:01:52 verbose #2041 > > |> runtime.command_get_matches_from ($'$"_ fable -f \\\"{!fs_path}\\\" -c 00:01:52 verbose #2042 > > \\\"typescript\\\""' |> runtime.split_args |> resultm.get) 00:01:52 verbose #2043 > > |> run Verbose 00:01:52 verbose #2044 > > |> async.block_on 00:01:52 verbose #2045 > > |> resultm.unwrap' 00:01:52 verbose #2046 > > |> sm'.deserialize 00:01:52 verbose #2047 > > |> resultm.unwrap' 00:01:52 verbose #2048 > > |> mapm.get ("command_result" |> sm'.to_std_string) 00:01:52 verbose #2049 > > |> optionm'.unwrap 00:01:52 verbose #2050 > > |> sm'.from_std_string 00:01:52 verbose #2051 > > |> sm'.deserialize 00:01:52 verbose #2052 > > |> resultm.unwrap' 00:01:52 verbose #2053 > > |> fun result => 00:01:52 verbose #2054 > > result 00:01:52 verbose #2055 > > |> mapm.get ("extension" |> sm'.to_std_string) 00:01:52 verbose #2056 > > |> optionm'.unwrap 00:01:52 verbose #2057 > > |> sm'.from_std_string 00:01:52 verbose #2058 > > |> _assert_eq "ts" 00:01:52 verbose #2059 > > result 00:01:52 verbose #2060 > > |> mapm.get ("output" |> sm'.to_std_string) 00:01:52 verbose #2061 > > |> optionm'.unwrap 00:01:52 verbose #2062 > > |> sm'.from_std_string 00:01:52 verbose #2063 > > |> _assert_eq "-3" 00:01:52 verbose #2064 > > 00:01:52 verbose #2065 > > disposable |> use |> ignore 00:01:52 verbose #2066 > 00:01:52 debug #31 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/593cbff1785be58a858e8c9803506f4da69895b7b5bffa0b74d1dd70f74aa733/main.spi 00:02:23 verbose #2067 > > 00:02:23 verbose #2068 > > ╭─[ 30.71s - return value ]────────────────────────────────────────────────────╮ 00:02:23 verbose #2069 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:02:23 verbose #2070 > > │ /tmp/!create_temp_path_/spiral_builder_628a8d36011f3751d8ae8ae546a1121f4ab1a │ 00:02:23 verbose #2071 > > │ 1e3d9dbb9e519eb3f394ae41269/c6422374-71e4-07d4-0ba4-c3084b24fbba } │ 00:02:23 verbose #2072 > > │ 00:00:00 verbose #2 file_system.create_dir / { dir = │ 00:02:23 verbose #2073 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:02:23 verbose #2074 > > │ kages/TypeScript/702335b0756baa7db0d02dbbeaf9fc04cf2c3b7dbb45866c578c5109aaa │ 00:02:23 verbose #2075 > > │ 8c4a8 } │ 00:02:23 verbose #2076 > > │ 00:00:00 debug #3 spiral_builder.process_typescript / { version = │ 00:02:23 verbose #2077 > > │ "US40_0(\n │ 00:02:23 verbose #2078 > > │ \"/home/runner/work/polyglot/polyglot/lib/typescript/fable/fable_modules/fab │ 00:02:23 verbose #2079 > > │ le-library-ts.4.19.3\",\n \"4.19.3\",\n)" } │ 00:02:23 verbose #2080 > > │ 00:00:00 verbose #4 file_system.create_dir / { dir = │ 00:02:23 verbose #2081 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:02:23 verbose #2082 > > │ kages/TypeScript/702335b0756baa7db0d02dbbeaf9fc04cf2c3b7dbb45866c578c5109aaa │ 00:02:23 verbose #2083 > > │ 8c4a8/fable_modules } │ 00:02:23 verbose #2084 > > │ 00:00:00 debug #5 runtime.execute_with_options / { file_name = │ 00:02:23 verbose #2085 > > │ dotnet; arguments = ["fable", │ 00:02:23 verbose #2086 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:23 verbose #2087 > > │ ckages/TypeScript/702335b0756baa7db0d02dbbeaf9fc04cf2c3b7dbb45866c578c5109aa │ 00:02:23 verbose #2088 > > │ a8c4a8/spiral_builder.fsproj", "--optimize", "--lang", "ts", "--extension", │ 00:02:23 verbose #2089 > > │ ".ts", "--outDir", │ 00:02:23 verbose #2090 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:23 verbose #2091 > > │ ckages/TypeScript/702335b0756baa7db0d02dbbeaf9fc04cf2c3b7dbb45866c578c5109aa │ 00:02:23 verbose #2092 > > │ a8c4a8", "--define", "_LINUX"]; options = { command = dotnet fable │ 00:02:23 verbose #2093 > > │ "/home/runner/work/polyglot/polyglot/target/spi...runtime.execute_with_optio │ 00:02:23 verbose #2094 > > │ ns / { file_name = bun; arguments = ["run", │ 00:02:23 verbose #2095 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:23 verbose #2096 > > │ ckages/TypeScript/702335b0756baa7db0d02dbbeaf9fc04cf2c3b7dbb45866c578c5109aa │ 00:02:23 verbose #2097 > > │ a8c4a8/spiral_builder.ts"]; options = { command = bun run │ 00:02:23 verbose #2098 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:23 verbose #2099 > > │ ckages/TypeScript/702335b0756baa7db0d02dbbeaf9fc04cf2c3b7dbb45866c578c5109aa │ 00:02:23 verbose #2100 > > │ a8c4a8/spiral_builder.ts"; cancellation_token = None; environment_variables │ 00:02:23 verbose #2101 > > │ = Array(MutCell([("PATH", │ 00:02:23 verbose #2102 > > │ "~/.bun/bin:/opt/microsoft/powershell/7:/home/runner/.local/bin:/opt/hostedt │ 00:02:23 verbose #2103 > > │ oolcache/Python/3.12.4/x64/bin:/opt/hostedtoolcache/Python/3.12.4/x64:/opt/h │ 00:02:23 verbose #2104 > > │ ostedtoolcache/node/21.7.3/x64/bin:/usr/share/dotnet:/home/runner/.cargo/bin │ 00:02:23 verbose #2105 > > │ :/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/ho │ 00:02:23 verbose #2106 > > │ me/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.do │ 00:02:23 verbose #2107 > > │ tnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr │ 00:02:23 verbose #2108 > > │ /games:/usr/local/games:/snap/bin:/home/runner/.cargo/bin:/home/runner/.bun/ │ 00:02:23 verbose #2109 > > │ bin:/home/runner/.cargo/bin:/home/runner/.bun/bin:/home/runner/.cargo/bin:/h │ 00:02:23 verbose #2110 > > │ ome/runner/.bun/bin"), ("TRACE_LEVEL", "Verbose")])); on_line = None; stdin │ 00:02:23 verbose #2111 > > │ = None; trace = true; working_directory = None } } │ 00:02:23 verbose #2112 > > │ 00:00:06 verbose #28 > -3 │ 00:02:23 verbose #2113 > > │ 00:00:06 verbose #29 runtime.execute_with_options / result / { │ 00:02:23 verbose #2114 > > │ exit_code = 0; std_trace_length = 2 } │ 00:02:23 verbose #2115 > > │ assert_eq / actual: "ts" / expected: "ts" │ 00:02:23 verbose #2116 > > │ assert_eq / actual: "-3" / expected: "-3" │ 00:02:23 verbose #2117 > > │ │ 00:02:23 verbose #2118 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:23 verbose #2119 > > 00:02:23 verbose #2120 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:23 verbose #2121 > > //// test 00:02:23 verbose #2122 > > ///! rust -d async-walkdir chrono clap encoding_rs encoding_rs_io futures rand 00:02:23 verbose #2123 > > rayon regex serde_json sha2 tokio[['rt-multi-thread']] tokio-stream 00:02:23 verbose #2124 > > 00:02:23 verbose #2125 > > inl file_name = "main.fs" 00:02:23 verbose #2126 > > inl code = "3 - 6 |> System.Console.WriteLine\n" 00:02:23 verbose #2127 > > 00:02:23 verbose #2128 > > inl temp_dir, disposable = 00:02:23 verbose #2129 > > (file_name, code) 00:02:23 verbose #2130 > > |> sm'.format_debug 00:02:23 verbose #2131 > > |> crypto.hash_text 00:02:23 verbose #2132 > > |> file_system.create_temp_dir' 00:02:23 verbose #2133 > > inl fs_path = temp_dir </> file_name 00:02:23 verbose #2134 > > 00:02:23 verbose #2135 > > code |> file_system.write_all_text fs_path 00:02:23 verbose #2136 > > 00:02:23 verbose #2137 > > get_command () 00:02:23 verbose #2138 > > |> runtime.command_get_matches_from ($'$"_ fable -f \\\"{!fs_path}\\\" -c 00:02:23 verbose #2139 > > \\\"python\\\""' |> runtime.split_args |> resultm.get) 00:02:23 verbose #2140 > > |> run Verbose 00:02:23 verbose #2141 > > |> async.block_on 00:02:23 verbose #2142 > > |> resultm.unwrap' 00:02:23 verbose #2143 > > |> sm'.deserialize 00:02:23 verbose #2144 > > |> resultm.unwrap' 00:02:23 verbose #2145 > > |> mapm.get ("command_result" |> sm'.to_std_string) 00:02:23 verbose #2146 > > |> optionm'.unwrap 00:02:23 verbose #2147 > > |> sm'.from_std_string 00:02:23 verbose #2148 > > |> sm'.deserialize 00:02:23 verbose #2149 > > |> resultm.unwrap' 00:02:23 verbose #2150 > > |> fun result => 00:02:23 verbose #2151 > > result 00:02:23 verbose #2152 > > |> mapm.get ("extension" |> sm'.to_std_string) 00:02:23 verbose #2153 > > |> optionm'.unwrap 00:02:23 verbose #2154 > > |> sm'.from_std_string 00:02:23 verbose #2155 > > |> _assert_eq "py" 00:02:23 verbose #2156 > > result 00:02:23 verbose #2157 > > |> mapm.get ("output" |> sm'.to_std_string) 00:02:23 verbose #2158 > > |> optionm'.unwrap 00:02:23 verbose #2159 > > |> sm'.from_std_string 00:02:23 verbose #2160 > > |> _assert_eq "-3" 00:02:23 verbose #2161 > > 00:02:23 verbose #2162 > > disposable |> use |> ignore 00:02:23 verbose #2163 > 00:02:23 debug #32 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b4007155cff14436115fa89d78ec985d566ed04c55c528e712cf0f7b04916fc/main.spi 00:02:54 verbose #2164 > > 00:02:54 verbose #2165 > > ╭─[ 31.12s - return value ]────────────────────────────────────────────────────╮ 00:02:54 verbose #2166 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:02:54 verbose #2167 > > │ /tmp/!create_temp_path_/spiral_builder_df234bac499b09b31f0b4fdd18928f5cede16 │ 00:02:54 verbose #2168 > > │ 10f24f54325c1ceb025a5d4a78b/c6422374-71e4-07d4-0ba4-c3084b24fbba } │ 00:02:54 verbose #2169 > > │ 00:00:00 verbose #2 file_system.create_dir / { dir = │ 00:02:54 verbose #2170 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:02:54 verbose #2171 > > │ kages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680c │ 00:02:54 verbose #2172 > > │ e } │ 00:02:54 verbose #2173 > > │ 00:00:00 verbose #3 file_system.create_dir / { dir = │ 00:02:54 verbose #2174 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:02:54 verbose #2175 > > │ kages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680c │ 00:02:54 verbose #2176 > > │ e/fable_modules } │ 00:02:54 verbose #2177 > > │ 00:00:00 debug #4 runtime.execute_with_options / { file_name = │ 00:02:54 verbose #2178 > > │ dotnet; arguments = ["fable", │ 00:02:54 verbose #2179 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:54 verbose #2180 > > │ ckages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680 │ 00:02:54 verbose #2181 > > │ ce/spiral_builder.fsproj", "--optimize", "--lang", "py", "--extension", │ 00:02:54 verbose #2182 > > │ ".py", "--outDir", │ 00:02:54 verbose #2183 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:54 verbose #2184 > > │ ckages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680 │ 00:02:54 verbose #2185 > > │ ce", "--define", "_LINUX"]; options = { command = dotnet fable │ 00:02:54 verbose #2186 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:54 verbose #2187 > > │ ckages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680 │ 00:02:54 verbose #2188 > > │ ce/spiral_builder.fsproj" --optimize --lang py --extension .py --outDir │ 00:02:54 verbose #2189 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_bui...d in 3769ms │ 00:02:54 verbose #2190 > > │ 00:00:04 verbose #18 > │ 00:02:54 verbose #2191 > > │ 00:00:04 verbose #19 > Started Fable compilation... │ 00:02:54 verbose #2192 > > │ 00:00:05 verbose #20 > │ 00:02:54 verbose #2193 > > │ 00:00:05 verbose #21 > Fable compilation finished in 968ms │ 00:02:54 verbose #2194 > > │ 00:00:05 verbose #22 > │ 00:02:54 verbose #2195 > > │ 00:00:05 verbose #23 runtime.execute_with_options / result / { │ 00:02:54 verbose #2196 > > │ exit_code = 0; std_trace_length = 1554 } │ 00:02:54 verbose #2197 > > │ 00:00:05 debug #24 spiral_builder.process_python / { new_code_path = │ 00:02:54 verbose #2198 > > │ /home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pac │ 00:02:54 verbose #2199 > > │ kages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680c │ 00:02:54 verbose #2200 > > │ e/spiral_builder.py } │ 00:02:54 verbose #2201 > > │ 00:00:05 debug #25 runtime.execute_with_options / { file_name = │ 00:02:54 verbose #2202 > > │ python; arguments = [ │ 00:02:54 verbose #2203 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:54 verbose #2204 > > │ ckages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680 │ 00:02:54 verbose #2205 > > │ ce/spiral_builder.py"]; options = { command = python │ 00:02:54 verbose #2206 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:54 verbose #2207 > > │ ckages/Python/cb8f3dd33197bb0bc95f09b3f3057a6844a0b70d75477350491883d14d8680 │ 00:02:54 verbose #2208 > > │ ce/spiral_builder.py"; cancellation_token = None; environment_variables = │ 00:02:54 verbose #2209 > > │ Array(MutCell([("TRACE_LEVEL", "Verbose")])); on_line = None; stdin = None; │ 00:02:54 verbose #2210 > > │ trace = true; working_directory = None } } │ 00:02:54 verbose #2211 > > │ 00:00:05 verbose #26 > -3 │ 00:02:54 verbose #2212 > > │ 00:00:05 verbose #27 runtime.execute_with_options / result / { │ 00:02:54 verbose #2213 > > │ exit_code = 0; std_trace_length = 2 } │ 00:02:54 verbose #2214 > > │ assert_eq / actual: "py" / expected: "py" │ 00:02:54 verbose #2215 > > │ assert_eq / actual: "-3" / expected: "-3" │ 00:02:54 verbose #2216 > > │ │ 00:02:54 verbose #2217 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:54 verbose #2218 > > 00:02:54 verbose #2219 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:54 verbose #2220 > > //// test 00:02:54 verbose #2221 > > ///! rust -d async-walkdir chrono clap encoding_rs encoding_rs_io rand rayon 00:02:54 verbose #2222 > > regex serde_json sha2 tokio[['rt-multi-thread']] tokio-stream 00:02:54 verbose #2223 > > 00:02:54 verbose #2224 > > inl file_name = "test.dib" 00:02:54 verbose #2225 > > inl code = 00:02:54 verbose #2226 > > 00:02:54 verbose #2227 > > "#!meta\n\n{\"kernelInfo\":{\"defaultKernelName\":\"fsharp\",\"items\":[[]]}}\n\ 00:02:54 verbose #2228 > > n#!fsharp\n\n3 - 6\n" 00:02:54 verbose #2229 > > 00:02:54 verbose #2230 > > inl temp_dir, disposable = 00:02:54 verbose #2231 > > (file_name, code) 00:02:54 verbose #2232 > > |> sm'.format_debug 00:02:54 verbose #2233 > > |> crypto.hash_text 00:02:54 verbose #2234 > > |> file_system.create_temp_dir' 00:02:54 verbose #2235 > > inl path = temp_dir </> file_name |> file_system.normalize_path 00:02:54 verbose #2236 > > 00:02:54 verbose #2237 > > code 00:02:54 verbose #2238 > > |> file_system.write_all_text path 00:02:54 verbose #2239 > > 00:02:54 verbose #2240 > > get_command () 00:02:54 verbose #2241 > > |> runtime.command_get_matches_from ($'$"_ dib -p {!path}"' |> 00:02:54 verbose #2242 > > runtime.split_args |> resultm.get) 00:02:54 verbose #2243 > > |> run Verbose 00:02:54 verbose #2244 > > |> async.block_on 00:02:54 verbose #2245 > > |> resultm.unwrap' 00:02:54 verbose #2246 > > |> __assert_string_contains false "<pre>-3 " 00:02:54 verbose #2247 > > 00:02:54 verbose #2248 > > $'$"{!path}.html"' 00:02:54 verbose #2249 > > |> file_system.read_all_text 00:02:54 verbose #2250 > > |> __assert_string_contains false "\"cell-id=1\"" 00:02:54 verbose #2251 > > 00:02:54 verbose #2252 > > disposable |> use |> ignore 00:02:54 verbose #2253 > 00:02:54 debug #33 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6fbf9054366ebee5f538defb5b0b525641d2cdf37a77b066c6a9c937540def2d/main.spi 00:03:25 verbose #2254 > > 00:03:25 verbose #2255 > > ╭─[ 30.57s - return value ]────────────────────────────────────────────────────╮ 00:03:25 verbose #2256 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:03:25 verbose #2257 > > │ /tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af714 │ 00:03:25 verbose #2258 > > │ 37a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623 } │ 00:03:25 verbose #2259 > > │ 00:00:00 debug #2 runtime.execute_with_options / { file_name = │ 00:03:25 verbose #2260 > > │ dotnet; arguments = ["repl", "--exit-after-run", "--run", │ 00:03:25 verbose #2261 > > │ "/tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af71 │ 00:03:25 verbose #2262 > > │ 437a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623/test.dib", │ 00:03:25 verbose #2263 > > │ "--output-path", │ 00:03:25 verbose #2264 > > │ "/tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af71 │ 00:03:25 verbose #2265 > > │ 437a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623/test.dib.i │ 00:03:25 verbose #2266 > > │ pynb"]; options = { command = dotnet repl --exit-after-run --run │ 00:03:25 verbose #2267 > > │ "/tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af71 │ 00:03:25 verbose #2268 > > │ 437a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623/test.dib" │ 00:03:25 verbose #2269 > > │ --output-path │ 00:03:25 verbose #2270 > > │ "/tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af71 │ 00:03:25 verbose #2271 > > │ 437a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623/test.dib.i │ 00:03:25 verbose #2272 > > │ pynb"; cancellation_token = None; environment_variables = Array(MutCell([ │ 00:03:25 verbose #2273 > > │ ("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin │ 00:03:25 verbose #2274 > > │ = None; trace = false; working_directory = None } } │ 00:03:25 verbose #2275 > > │ > │ 00:03:25 verbose #2276 > > │ > ── fsharp │ 00:03:25 verbose #2277 > > │ ────────────────────────────────────────────────────────────────────── │ 00:03:25 verbose #2278 > > │ > 3 - 6 │ 00:03:25 verbose #2279 > > │ > │ 00:03:25 verbose #2280 > > │ > ╭─[ 2.77s - return value │ 00:03:25 verbose #2281 > > │ ]─────────────────────────────────────────────────────╮ │ 00:03:25 verbose #2282 > > │ > │ <div class="dni-plaintext"><...99ed-bd86e1b74623/test.dib.html │ 00:03:25 verbose #2283 > > │ 00:00:05 verbose #11 runtime.execute_with_options / result / { │ 00:03:25 verbose #2284 > > │ exit_code = 0; std_trace_length = 1080 } │ 00:03:25 verbose #2285 > > │ 00:00:05 debug #12 spiral_builder.run / dib / jupyter nbconvert / { │ 00:03:25 verbose #2286 > > │ exit_code = 0; jupyter_result_length = 1080 } │ 00:03:25 verbose #2287 > > │ 00:00:05 debug #13 runtime.execute_with_options / { file_name = │ 00:03:25 verbose #2288 > > │ pwsh; arguments = ["-c", "$counter = 1; $path = │ 00:03:25 verbose #2289 > > │ '/tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af71 │ 00:03:25 verbose #2290 > > │ 437a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623/test.dib.h │ 00:03:25 verbose #2291 > > │ tml'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { │ 00:03:25 verbose #2292 > > │ $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command │ 00:03:25 verbose #2293 > > │ = pwsh -c "$counter = 1; $path = │ 00:03:25 verbose #2294 > > │ '/tmp/!create_temp_path_/spiral_builder_d3d1c765ac4720a9ac583ff518c21a78af71 │ 00:03:25 verbose #2295 > > │ 437a2b3bfc1f8255fa11c0f96d9a/af524e22-8e9a-5d18-99ed-bd86e1b74623/test.dib.h │ 00:03:25 verbose #2296 > > │ tml'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { │ 00:03:25 verbose #2297 > > │ $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = │ 00:03:25 verbose #2298 > > │ None; environment_variables = Array(MutCell([])); on_line = None; stdin = │ 00:03:25 verbose #2299 > > │ None; trace = true; working_directory = None } } │ 00:03:25 verbose #2300 > > │ 00:00:05 verbose #14 runtime.execute_with_options / result / { │ 00:03:25 verbose #2301 > > │ exit_code = 0; std_trace_length = 0 } │ 00:03:25 verbose #2302 > > │ 00:00:05 debug #15 spiral_builder.run / dib / html cell ids / { │ 00:03:25 verbose #2303 > > │ exit_code = 0; pwsh_replace_html_result_length = 0 } │ 00:03:25 verbose #2304 > > │ 00:00:05 debug #16 spiral_builder.run / dib / { exit_code = 0; │ 00:03:25 verbose #2305 > > │ result_length = 4961 } │ 00:03:25 verbose #2306 > > │ │ 00:03:25 verbose #2307 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:25 verbose #2308 > > 00:03:25 verbose #2309 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:25 verbose #2310 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:25 verbose #2311 > > │ ## tests │ 00:03:25 verbose #2312 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:25 verbose #2313 > > 00:03:25 verbose #2314 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:25 verbose #2315 > > inl tests () = 00:03:25 verbose #2316 > > testing.run_tests { 00:03:25 verbose #2317 > > verify_app = get_command >> runtime.command_debug_assert 00:03:25 verbose #2318 > > } 00:03:25 verbose #2319 > 00:03:24 debug #34 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/925bb4471f7337e5a011efcb7cd48472a5652761968cab2d87adf4fa6c4558b0/main.spi 00:03:25 verbose #2320 > > 00:03:25 verbose #2321 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:25 verbose #2322 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:25 verbose #2323 > > │ ## main │ 00:03:25 verbose #2324 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:25 verbose #2325 > > 00:03:25 verbose #2326 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:25 verbose #2327 > > ///! _ 00:03:25 verbose #2328 > > 00:03:25 verbose #2329 > > inl main (args : array_base string) = 00:03:25 verbose #2330 > > inl trace_state = get_trace_state_or_init None 00:03:25 verbose #2331 > > 00:03:25 verbose #2332 > > trace Debug 00:03:25 verbose #2333 > > fun () => $'$"spiral_builder.main"' 00:03:25 verbose #2334 > > fun () => { args } 00:03:25 verbose #2335 > > 00:03:25 verbose #2336 > > inl command = get_command () 00:03:25 verbose #2337 > > inl arg_matches = command |> runtime.command_get_matches 00:03:25 verbose #2338 > > 00:03:25 verbose #2339 > > inl trace_state_level = trace_state.level 00:03:25 verbose #2340 > > 00:03:25 verbose #2341 > > inl result = 00:03:25 verbose #2342 > > arg_matches 00:03:25 verbose #2343 > > |> run *trace_state_level 00:03:25 verbose #2344 > > |> async.block_on 00:03:25 verbose #2345 > > |> resultm.unwrap' 00:03:25 verbose #2346 > > 00:03:25 verbose #2347 > > if *trace_state_level = Info 00:03:25 verbose #2348 > > then result |> console.write_line 00:03:25 verbose #2349 > > 00:03:25 verbose #2350 > > 0i32 00:03:25 verbose #2351 > > 00:03:25 verbose #2352 > > inl main () = 00:03:25 verbose #2353 > > $'let tests () = !tests ()' : () 00:03:25 verbose #2354 > > $'let main args = !main args' : () 00:03:25 verbose #2355 > 00:03:25 debug #35 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5eda6ae02a41b6c800ed9c6bade6aaecafdf18b52600e3b4113873c684e861e9/main.spi 00:03:28 verbose #2356 > 00:03:27 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 113071 } 00:03:28 verbose #2357 > 00:03:27 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:29 verbose #2358 > 00:03:27 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.ipynb to html 00:03:29 verbose #2359 > 00:03:27 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:03:29 verbose #2360 > 00:03:27 verbose #7 ! validate(nb) 00:03:29 verbose #2361 > 00:03:28 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:03:29 verbose #2362 > 00:03:28 verbose #9 ! return _pygments_highlight( 00:03:30 verbose #2363 > 00:03:29 verbose #10 ! [NbConvertApp] Writing 577422 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.html 00:03:30 verbose #2364 > 00:03:29 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 930 } 00:03:30 verbose #2365 > 00:03:29 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 930 } 00:03:30 verbose #2366 > 00:03:29 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:31 verbose #2367 > 00:03:29 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:03:31 verbose #2368 > 00:03:29 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:03:31 verbose #2369 > 00:03:29 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 114060 } 00:03:31 debug #2370 runtime.execute_with_options_async / { exit_code = 0; output_length = 121599 } 00:03:31 debug #3 main / executeCommand / exitCode: 0 / command: ../../../workspace/target/release/spiral_builder dib --path spiral_builder.dib 00:03:31 verbose #29 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:03:31 verbose #30 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 writeDibCode / output: Spi / path: spiral_builder.dib 00:00:00 debug #2 parseDibCode / output: Spi / file: spiral_builder.dib 00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 verbose #29 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 debug #3 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:01 debug #4 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:01 debug #5 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:01 verbose #6 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # spiral_builder\nopen file_system_operators\nopen rust.rust_operators\n... : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.spi"}} / result: 00:00:01 verbose #7 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.spi"}} / result: 00:00:01 verbose #7 > 00:00:01 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/apps/spiral/builder/spiral_builder.spi 00:00:01 debug #8 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:01 debug #9 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:02 debug #10 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:02 debug #11 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:02 debug #12 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:02 debug #13 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:03 debug #14 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:03 debug #15 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:03 debug #16 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:03 debug #17 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:04 debug #18 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:04 debug #19 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:04 debug #20 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:04 debug #21 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:05 debug #22 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:05 debug #23 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:05 debug #24 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:05 debug #25 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:06 debug #26 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:06 debug #27 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:06 debug #28 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:06 debug #29 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:07 debug #30 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:07 debug #31 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:07 debug #32 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:07 debug #33 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:08 debug #34 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] #endif type Ref<'T> = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit... v50 v44 0 let v0 : (unit -> unit) = closure0() let tests () = v0 () let v1 : ((string []) -> int32) = closure1() let main args = v1 args () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: spiral_builder.spi 00:00:08 debug #35 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] #endif type Ref<'T> = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit... v50 v44 0 let v0 : (unit -> unit) = closure0() let tests () = v0 () let v1 : ((string []) -> int32) = closure1() let main args = v1 args () / errors: [] / typeErrorCount: 0 / retry: 0 / path: spiral_builder.spi 00:00:08 debug #36 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:08 verbose #30 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:00:08 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 persistCodeProject / packages: [Fable.Core] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: spiral_builder / hash: / code.Length: 1263682 targetDir: /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder Fable 4.19.3: F# to Rust compiler (status: alpha) Thanks to the contributor! @ThisFunctionalTom Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target/Builder/spiral_builder/spiral_builder.fsproj... target/Builder/spiral_builder> dotnet restore spiral_builder.fable-temp.csproj -p:FABLE_COMPILER=true -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true -p:_LINUX=true Determining projects to restore... Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b The last full restore is still up to date. Nothing left to do. Total time taken: 0 milliseconds Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b Restoring /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fable-temp.csproj Starting restore process. Total time taken: 0 milliseconds Restored /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fable-temp.csproj (in 291 ms). target/Builder/spiral_builder> dotnet restore /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fsproj Determining projects to restore... Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b The last full restore is still up to date. Nothing left to do. Total time taken: 0 milliseconds Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b Restoring /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fsproj Starting restore process. Total time taken: 0 milliseconds Restored /home/runner/work/polyglot/polyglot/target/Builder/spiral_builder/spiral_builder.fsproj (in 287 ms). Project and references (14 source files) parsed in 6040ms Started Fable compilation... Fable compilation finished in 11383ms ./lib/spiral/crypto.fsx(1398,0): (1398,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/async_.fsx(80,0): (80,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/sm.fsx(426,0): (426,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/common.fsx(1270,0): (1270,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/common.fsx(1277,0): (1277,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/threading.fsx(141,0): (141,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/date_time.fsx(1056,0): (1056,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/platform.fsx(108,0): (108,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/networking.fsx(4875,0): (4875,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/networking.fsx(4884,0): (4884,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/trace.fsx(1140,0): (1140,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/trace.fsx(1143,0): (1143,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/runtime.fsx(5448,0): (5448,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/runtime.fsx(5459,0): (5459,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/file_system.fsx(11602,0): (11602,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/file_system.fsx(11641,0): (11641,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust) Compiling spiral_builder v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/builder) Finished `release` profile [optimized] target(s) in 12.29s Running unittests spiral_builder.rs (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/spiral_builder-4deef2b4e6bfe273) running 1 test test module_7e2cd9e0::Spiral_builder::verify_app ... ok successes: successes: module_7e2cd9e0::Spiral_builder::verify_app test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust) Compiling spiral_builder v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/builder) Finished `release` profile [optimized] target(s) in 22.48s
In [ ]:
{ pwsh ../lib/fsharp/build.ps1 -sequential 1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path Async.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Async.dib", "--retries", "3"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # Async (Polyglot) │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #15 > > 00:00:15 verbose #16 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #17 > > #if !INTERACTIVE 00:00:15 verbose #18 > > open Lib 00:00:15 verbose #19 > > #endif 00:00:15 verbose #20 > > 00:00:15 verbose #21 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #22 > > open Common 00:00:15 verbose #23 > > 00:00:15 verbose #24 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:15 verbose #25 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:15 verbose #26 > > │ ## choice │ 00:00:15 verbose #27 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #28 > > 00:00:15 verbose #29 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #30 > > let inline choice asyncs = async { 00:00:15 verbose #31 > > let e = Event<_> () 00:00:15 verbose #32 > > use cts = new System.Threading.CancellationTokenSource () 00:00:15 verbose #33 > > let fn = 00:00:15 verbose #34 > > asyncs 00:00:15 verbose #35 > > |> Seq.map (fun a -> async { 00:00:15 verbose #36 > > let! x = a 00:00:15 verbose #37 > > e.Trigger x 00:00:15 verbose #38 > > }) 00:00:15 verbose #39 > > |> Async.Parallel 00:00:15 verbose #40 > > |> Async.Ignore 00:00:15 verbose #41 > > Async.Start (fn, cts.Token) 00:00:15 verbose #42 > > let! result = Async.AwaitEvent e.Publish 00:00:15 verbose #43 > > cts.Cancel () 00:00:15 verbose #44 > > return result 00:00:15 verbose #45 > > } 00:00:15 verbose #46 > > 00:00:15 verbose #47 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:15 verbose #48 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:15 verbose #49 > > │ ## map │ 00:00:15 verbose #50 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #51 > > 00:00:15 verbose #52 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #53 > > let inline map fn a = async { 00:00:15 verbose #54 > > let! x = a 00:00:15 verbose #55 > > return fn x 00:00:15 verbose #56 > > } 00:00:15 verbose #57 > > 00:00:15 verbose #58 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:15 verbose #59 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:15 verbose #60 > > │ ## catch │ 00:00:15 verbose #61 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #62 > > 00:00:15 verbose #63 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #64 > > let inline catch a = 00:00:15 verbose #65 > > a 00:00:15 verbose #66 > > |> Async.Catch 00:00:15 verbose #67 > > |> map (function 00:00:15 verbose #68 > > | Choice1Of2 result -> Ok result 00:00:15 verbose #69 > > | Choice2Of2 ex -> Error ex 00:00:15 verbose #70 > > ) 00:00:15 verbose #71 > > 00:00:15 verbose #72 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:15 verbose #73 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:15 verbose #74 > > │ ## runWithTimeoutChoiceAsync │ 00:00:15 verbose #75 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #76 > > 00:00:15 verbose #77 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #78 > > let inline runWithTimeoutChoiceAsync (timeout : int) fn = 00:00:15 verbose #79 > > let _locals () = $"timeout: {timeout} / {_locals ()}" 00:00:15 verbose #80 > > 00:00:15 verbose #81 > > let timeoutTask = async { 00:00:15 verbose #82 > > do! Async.Sleep timeout 00:00:15 verbose #83 > > trace Debug (fun () -> "runWithTimeoutChoiceAsync") _locals 00:00:15 verbose #84 > > return None 00:00:15 verbose #85 > > } 00:00:15 verbose #86 > > 00:00:15 verbose #87 > > let task = async { 00:00:15 verbose #88 > > try 00:00:15 verbose #89 > > let! result = fn 00:00:15 verbose #90 > > return Some result 00:00:15 verbose #91 > > with 00:00:15 verbose #92 > > | :? System.AggregateException as ex when 00:00:15 verbose #93 > > ex.InnerExceptions 00:00:15 verbose #94 > > |> Seq.exists (function :? 00:00:15 verbose #95 > > System.Threading.Tasks.TaskCanceledException -> true | _ -> false) 00:00:15 verbose #96 > > -> 00:00:15 verbose #97 > > trace Warning 00:00:15 verbose #98 > > (fun () -> "runWithTimeoutChoiceAsync") 00:00:15 verbose #99 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals 00:00:15 verbose #100 > > ()}") 00:00:15 verbose #101 > > return None 00:00:15 verbose #102 > > | ex -> 00:00:15 verbose #103 > > trace Critical 00:00:15 verbose #104 > > (fun () -> "runWithTimeoutChoiceAsync") 00:00:15 verbose #105 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals 00:00:15 verbose #106 > > ()}") 00:00:15 verbose #107 > > return None 00:00:15 verbose #108 > > } 00:00:15 verbose #109 > > 00:00:15 verbose #110 > > [[ timeoutTask; task ]] 00:00:15 verbose #111 > > |> choice 00:00:15 verbose #112 > > 00:00:15 verbose #113 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #114 > > let inline runWithTimeoutChoice timeout fn = 00:00:15 verbose #115 > > fn 00:00:15 verbose #116 > > |> runWithTimeoutChoiceAsync timeout 00:00:15 verbose #117 > > |> Async.RunSynchronously 00:00:15 verbose #118 > > 00:00:15 verbose #119 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #120 > > //// test 00:00:15 verbose #121 > > 00:00:15 verbose #122 > > Async.Sleep 120 00:00:15 verbose #123 > > |> runWithTimeoutChoice 10 00:00:15 verbose #124 > > |> _assertEqual None 00:00:15 verbose #125 > > 00:00:15 verbose #126 > > ╭─[ 131.17ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:15 verbose #127 > > │ 00:00:00 debug #1 runWithTimeoutChoiceAsync / timeout: 10 │ 00:00:15 verbose #128 > > │ <null> │ 00:00:15 verbose #129 > > │ │ 00:00:15 verbose #130 > > │ │ 00:00:15 verbose #131 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #132 > > 00:00:15 verbose #133 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #134 > > //// test 00:00:15 verbose #135 > > 00:00:15 verbose #136 > > Async.Sleep 10 00:00:15 verbose #137 > > |> runWithTimeoutChoice 60 00:00:15 verbose #138 > > |> _assertEqual (Some ()) 00:00:16 verbose #139 > > 00:00:16 verbose #140 > > ╭─[ 100.72ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:16 verbose #141 > > │ Some () │ 00:00:16 verbose #142 > > │ │ 00:00:16 verbose #143 > > │ │ 00:00:16 verbose #144 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #145 > > 00:00:16 verbose #146 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #147 > > //// test 00:00:16 verbose #148 > > 00:00:16 verbose #149 > > async { 00:00:16 verbose #150 > > raise (exn "error") 00:00:16 verbose #151 > > } 00:00:16 verbose #152 > > |> runWithTimeoutChoice 60 00:00:16 verbose #153 > > |> _assertEqual None 00:00:16 verbose #154 > > 00:00:16 verbose #155 > > ╭─[ 89.08ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #156 > > │ 00:00:00 critical #2 runWithTimeoutChoiceAsync / ex: System.Exception: │ 00:00:16 verbose #157 > > │ error / timeout: 60 │ 00:00:16 verbose #158 > > │ <null> │ 00:00:16 verbose #159 > > │ │ 00:00:16 verbose #160 > > │ │ 00:00:16 verbose #161 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #162 > > 00:00:16 verbose #163 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #164 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #165 > > │ ## runWithTimeoutAsync │ 00:00:16 verbose #166 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #167 > > 00:00:16 verbose #168 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #169 > > let inline runWithTimeoutAsync (timeout : int) fn = async { 00:00:16 verbose #170 > > let _locals () = $"timeout: {timeout} / {_locals ()}" 00:00:16 verbose #171 > > let! child = Async.StartChild (fn, timeout) 00:00:16 verbose #172 > > return! 00:00:16 verbose #173 > > child 00:00:16 verbose #174 > > |> catch 00:00:16 verbose #175 > > |> map (function 00:00:16 verbose #176 > > | Ok result -> Some result 00:00:16 verbose #177 > > | Error (:? System.TimeoutException as ex) -> 00:00:16 verbose #178 > > trace Debug (fun () -> $"runWithTimeoutAsync") _locals 00:00:16 verbose #179 > > None 00:00:16 verbose #180 > > | Error ex -> 00:00:16 verbose #181 > > trace Critical (fun () -> $"runWithTimeoutAsync** / ex: %A{ex}") 00:00:16 verbose #182 > > _locals 00:00:16 verbose #183 > > None 00:00:16 verbose #184 > > ) 00:00:16 verbose #185 > > } 00:00:16 verbose #186 > > 00:00:16 verbose #187 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #188 > > let inline runWithTimeout timeout fn = 00:00:16 verbose #189 > > fn 00:00:16 verbose #190 > > |> runWithTimeoutAsync timeout 00:00:16 verbose #191 > > |> Async.RunSynchronously 00:00:16 verbose #192 > > 00:00:16 verbose #193 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #194 > > //// test 00:00:16 verbose #195 > > 00:00:16 verbose #196 > > Async.Sleep 60 00:00:16 verbose #197 > > |> runWithTimeout 10 00:00:16 verbose #198 > > |> _assertEqual None 00:00:16 verbose #199 > > 00:00:16 verbose #200 > > ╭─[ 75.36ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #201 > > │ 00:00:01 debug #3 runWithTimeoutAsync / timeout: 10 │ 00:00:16 verbose #202 > > │ <null> │ 00:00:16 verbose #203 > > │ │ 00:00:16 verbose #204 > > │ │ 00:00:16 verbose #205 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #206 > > 00:00:16 verbose #207 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #208 > > //// test 00:00:16 verbose #209 > > 00:00:16 verbose #210 > > Async.Sleep 10 00:00:16 verbose #211 > > |> runWithTimeout 60 00:00:16 verbose #212 > > |> _assertEqual (Some ()) 00:00:16 verbose #213 > > 00:00:16 verbose #214 > > ╭─[ 60.72ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #215 > > │ Some () │ 00:00:16 verbose #216 > > │ │ 00:00:16 verbose #217 > > │ │ 00:00:16 verbose #218 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #219 > > 00:00:16 verbose #220 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #221 > > //// test 00:00:16 verbose #222 > > 00:00:16 verbose #223 > > async { 00:00:16 verbose #224 > > raise (exn "error") 00:00:16 verbose #225 > > } 00:00:16 verbose #226 > > |> runWithTimeout 60 00:00:16 verbose #227 > > |> _assertEqual None 00:00:16 verbose #228 > > 00:00:16 verbose #229 > > ╭─[ 82.40ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #230 > > │ 00:00:01 critical #4 runWithTimeoutAsync** / ex: System.Exception: │ 00:00:16 verbose #231 > > │ error │ 00:00:16 verbose #232 > > │ at FSI_0036.it@4-119.Invoke(Unit unitVar) │ 00:00:16 verbose #233 > > │ at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[ │ 00:00:16 verbose #234 > > │ T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in │ 00:00:16 verbose #235 > > │ D:\a\_work\1\s\src\FSharp.Core\async.fs:line 510 │ 00:00:16 verbose #236 > > │ at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) │ 00:00:16 verbose #237 > > │ in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 112 │ 00:00:16 verbose #238 > > │ --- End of stack trace from previous location --- │ 00:00:16 verbose #239 > > │ at Microsoft.FSharp.Control.AsyncResult`1.Commit() in │ 00:00:16 verbose #240 > > │ D:\a\_work\1\s\src\FSharp.Core\async.fs:line 454 │ 00:00:16 verbose #241 > > │ at │ 00:00:16 verbose #242 > > │ <StartupCode$FSharp-Core>.$Async.AwaitAndBindChildResult@1962-4.Invoke(Unit │ 00:00:16 verbose #243 > > │ unitVar) in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 1964 │ 00:00:16 verbose #244 > > │ at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[ │ 00:00:16 verbose #245 > > │ T,TResult](AsyncActivation`1 ctxt, TResult result1, FSharpFunc`2 part2) in │ 00:00:16 verbose #246 > > │ D:\a\_work\1\s\src\FSharp.Core\async.fs:line 510 │ 00:00:16 verbose #247 > > │ at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction) │ 00:00:16 verbose #248 > > │ in D:\a\_work\1\s\src\FSharp.Core\async.fs:line 112 / timeout: 60 │ 00:00:16 verbose #249 > > │ <null> │ 00:00:16 verbose #250 > > │ │ 00:00:16 verbose #251 > > │ │ 00:00:16 verbose #252 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #253 > > 00:00:16 verbose #254 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #255 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #256 > > │ ## runWithTimeoutStrict │ 00:00:16 verbose #257 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #258 > > 00:00:16 verbose #259 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #260 > > let inline runWithTimeoutStrict (timeout : int) fn = 00:00:16 verbose #261 > > let _locals () = $"timeout: {timeout} / {_locals ()}" 00:00:16 verbose #262 > > 00:00:16 verbose #263 > > let timeoutTask = async { 00:00:16 verbose #264 > > do! Async.Sleep timeout 00:00:16 verbose #265 > > return None, _locals 00:00:16 verbose #266 > > } 00:00:16 verbose #267 > > 00:00:16 verbose #268 > > let task = async { 00:00:16 verbose #269 > > try 00:00:16 verbose #270 > > return Async.RunSynchronously (fn, timeout) |> Some, _locals 00:00:16 verbose #271 > > with 00:00:16 verbose #272 > > | :? System.TimeoutException as ex -> 00:00:16 verbose #273 > > let _locals () = $"ex: {ex |> SpiralSm.format_exception} / {_locals 00:00:16 verbose #274 > > ()}" 00:00:16 verbose #275 > > return None, _locals 00:00:16 verbose #276 > > | ex -> 00:00:16 verbose #277 > > trace Critical 00:00:16 verbose #278 > > (fun () -> "runWithTimeoutStrict / async error") 00:00:16 verbose #279 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals 00:00:16 verbose #280 > > ()}") 00:00:16 verbose #281 > > return raise ex 00:00:16 verbose #282 > > } 00:00:16 verbose #283 > > 00:00:16 verbose #284 > > try 00:00:16 verbose #285 > > [[| timeoutTask; task |]] 00:00:16 verbose #286 > > |> Array.map Async.StartAsTask 00:00:16 verbose #287 > > |> System.Threading.Tasks.Task.WhenAny 00:00:16 verbose #288 > > |> fun task -> 00:00:16 verbose #289 > > match task.Result.Result with 00:00:16 verbose #290 > > | None, _locals -> 00:00:16 verbose #291 > > trace Debug (fun () -> "runWithTimeoutStrict") _locals 00:00:16 verbose #292 > > None 00:00:16 verbose #293 > > | result, _ -> result 00:00:16 verbose #294 > > with 00:00:16 verbose #295 > > | :? System.AggregateException as ex when 00:00:16 verbose #296 > > ex.InnerExceptions 00:00:16 verbose #297 > > |> Seq.exists (function :? System.Threading.Tasks.TaskCanceledException 00:00:16 verbose #298 > > -> true | _ -> false) 00:00:16 verbose #299 > > -> 00:00:16 verbose #300 > > trace Warning 00:00:16 verbose #301 > > (fun () -> "runWithTimeoutStrict") 00:00:16 verbose #302 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals ()}") 00:00:16 verbose #303 > > None 00:00:16 verbose #304 > > | ex -> 00:00:16 verbose #305 > > trace Critical 00:00:16 verbose #306 > > (fun () -> "runWithTimeoutStrict / task error") 00:00:16 verbose #307 > > (fun () -> $"ex: {ex |> SpiralSm.format_exception} / {_locals ()}") 00:00:16 verbose #308 > > None 00:00:16 verbose #309 > > 00:00:16 verbose #310 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #311 > > //// test 00:00:16 verbose #312 > > 00:00:16 verbose #313 > > Async.Sleep 60 00:00:16 verbose #314 > > |> runWithTimeoutStrict 10 00:00:16 verbose #315 > > |> _assertEqual None 00:00:16 verbose #316 > > 00:00:16 verbose #317 > > ╭─[ 82.85ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #318 > > │ 00:00:01 debug #5 runWithTimeoutStrict / timeout: 10 │ 00:00:16 verbose #319 > > │ <null> │ 00:00:16 verbose #320 > > │ │ 00:00:16 verbose #321 > > │ │ 00:00:16 verbose #322 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #323 > > 00:00:16 verbose #324 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #325 > > //// test 00:00:16 verbose #326 > > 00:00:16 verbose #327 > > Async.Sleep 10 00:00:16 verbose #328 > > |> runWithTimeoutStrict 60 00:00:16 verbose #329 > > |> _assertEqual (Some ()) 00:00:16 verbose #330 > > 00:00:16 verbose #331 > > ╭─[ 84.23ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #332 > > │ Some () │ 00:00:16 verbose #333 > > │ │ 00:00:16 verbose #334 > > │ │ 00:00:16 verbose #335 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #336 > > 00:00:16 verbose #337 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #338 > > //// test 00:00:16 verbose #339 > > 00:00:16 verbose #340 > > async { 00:00:16 verbose #341 > > raise (exn "error") 00:00:16 verbose #342 > > } 00:00:16 verbose #343 > > |> runWithTimeoutStrict 60 00:00:16 verbose #344 > > |> _assertEqual None 00:00:16 verbose #345 > > 00:00:16 verbose #346 > > ╭─[ 84.12ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #347 > > │ 00:00:01 critical #6 runWithTimeoutStrict / async error / ex: │ 00:00:16 verbose #348 > > │ System.Exception: error / timeout: 60 │ 00:00:16 verbose #349 > > │ 00:00:01 critical #7 runWithTimeoutStrict / task error / ex: │ 00:00:16 verbose #350 > > │ System.AggregateException: One or more errors occurred. (error) / timeout: │ 00:00:16 verbose #351 > > │ 60 │ 00:00:16 verbose #352 > > │ <null> │ 00:00:16 verbose #353 > > │ │ 00:00:16 verbose #354 > > │ │ 00:00:16 verbose #355 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #356 > > 00:00:16 verbose #357 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #358 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #359 > > │ ## awaitValueTask │ 00:00:16 verbose #360 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #361 > > 00:00:16 verbose #362 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #363 > > let inline awaitValueTaskUnit (task : System.Threading.Tasks.ValueTask) = 00:00:16 verbose #364 > > task.AsTask () |> Async.AwaitTask 00:00:16 verbose #365 > > 00:00:16 verbose #366 > > let inline awaitValueTask (task : System.Threading.Tasks.ValueTask<_>) = 00:00:16 verbose #367 > > task.AsTask () |> Async.AwaitTask 00:00:16 verbose #368 > > 00:00:16 verbose #369 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #370 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #371 > > │ ## init │ 00:00:16 verbose #372 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #373 > > 00:00:16 verbose #374 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #375 > > let inline init x = async { 00:00:16 verbose #376 > > return x 00:00:16 verbose #377 > > } 00:00:16 verbose #378 > > 00:00:16 verbose #379 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #380 > > //// test 00:00:16 verbose #381 > > 00:00:16 verbose #382 > > init 1 00:00:16 verbose #383 > > |> Async.RunSynchronously 00:00:16 verbose #384 > > |> _assertEqual 1 00:00:16 verbose #385 > > 00:00:16 verbose #386 > > ╭─[ 19.11ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:16 verbose #387 > > │ 1 │ 00:00:16 verbose #388 > > │ │ 00:00:16 verbose #389 > > │ │ 00:00:16 verbose #390 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #391 > > 00:00:16 verbose #392 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #393 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #394 > > │ ## withCancellationToken │ 00:00:16 verbose #395 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #396 > > 00:00:16 verbose #397 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #398 > > let inline withCancellationToken (ct : System.Threading.CancellationToken) fn = 00:00:16 verbose #399 > > Async.StartImmediateAsTask (fn, ct) 00:00:16 verbose #400 > > |> Async.AwaitTask 00:00:16 verbose #401 > > 00:00:16 verbose #402 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #403 > > //// test 00:00:16 verbose #404 > > 00:00:16 verbose #405 > > let cts = new System.Threading.CancellationTokenSource () 00:00:16 verbose #406 > > 00:00:16 verbose #407 > > async { 00:00:16 verbose #408 > > let run = async { 00:00:16 verbose #409 > > do! Async.Sleep 100 00:00:16 verbose #410 > > return 1 00:00:16 verbose #411 > > } 00:00:16 verbose #412 > > 00:00:16 verbose #413 > > let! child = 00:00:16 verbose #414 > > run 00:00:16 verbose #415 > > |> withCancellationToken cts.Token 00:00:16 verbose #416 > > |> catch 00:00:16 verbose #417 > > |> Async.StartChild 00:00:16 verbose #418 > > 00:00:16 verbose #419 > > do! Async.Sleep 50 00:00:16 verbose #420 > > cts.Cancel () 00:00:16 verbose #421 > > return! child 00:00:16 verbose #422 > > } 00:00:16 verbose #423 > > |> Async.RunSynchronously 00:00:16 verbose #424 > > |> Result.mapError _.Message 00:00:16 verbose #425 > > |> _assertEqual (Error ("A task was canceled.")) 00:00:17 verbose #426 > > 00:00:17 verbose #427 > > ╭─[ 177.31ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:17 verbose #428 > > │ Error "A task was canceled." │ 00:00:17 verbose #429 > > │ │ 00:00:17 verbose #430 > > │ │ 00:00:17 verbose #431 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #432 > > 00:00:17 verbose #433 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:17 verbose #434 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:17 verbose #435 > > │ ## retryAsync │ 00:00:17 verbose #436 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #437 > > 00:00:17 verbose #438 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:17 verbose #439 > > let inline retryAsync retries fn = 00:00:17 verbose #440 > > let rec loop retry lastError = async { 00:00:17 verbose #441 > > try 00:00:17 verbose #442 > > return! 00:00:17 verbose #443 > > if retry <= retries 00:00:17 verbose #444 > > then fn |> map Ok 00:00:17 verbose #445 > > else lastError |> Error |> init 00:00:17 verbose #446 > > with ex -> 00:00:17 verbose #447 > > trace Debug (fun () -> $"Async.retryAsync / retry: {retry}/{retries} 00:00:17 verbose #448 > > / ex: {ex |> SpiralSm.format_exception}") _locals 00:00:17 verbose #449 > > do! Async.Sleep 1 00:00:17 verbose #450 > > return! loop (retry + 1) (ex |> SpiralSm.format_exception) 00:00:17 verbose #451 > > } 00:00:17 verbose #452 > > loop 1 "Async.retryAsync / invalid retries / retries: {retries}" 00:00:17 verbose #453 > > 00:00:17 verbose #454 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:17 verbose #455 > > //// test 00:00:17 verbose #456 > > 00:00:17 verbose #457 > > let retry_fn_test = ref 0 00:00:17 verbose #458 > > async { 00:00:17 verbose #459 > > retry_fn_test.Value <- retry_fn_test.Value + 1 00:00:17 verbose #460 > > return retry_fn_test.Value 00:00:17 verbose #461 > > } 00:00:17 verbose #462 > > |> retryAsync 3 00:00:17 verbose #463 > > |> Async.RunSynchronously 00:00:17 verbose #464 > > |> _assertEqual (Ok 1) 00:00:17 verbose #465 > > 00:00:17 verbose #466 > > ╭─[ 65.03ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:17 verbose #467 > > │ Ok 1 │ 00:00:17 verbose #468 > > │ │ 00:00:17 verbose #469 > > │ │ 00:00:17 verbose #470 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #471 > > 00:00:17 verbose #472 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:17 verbose #473 > > //// test 00:00:17 verbose #474 > > 00:00:17 verbose #475 > > let retry_fn_test = ref 0 00:00:17 verbose #476 > > async { 00:00:17 verbose #477 > > return 00:00:17 verbose #478 > > if retry_fn_test.Value >= 2 00:00:17 verbose #479 > > then retry_fn_test.Value 00:00:17 verbose #480 > > else 00:00:17 verbose #481 > > retry_fn_test.Value <- retry_fn_test.Value + 1 00:00:17 verbose #482 > > failwith "test" 00:00:17 verbose #483 > > } 00:00:17 verbose #484 > > |> retryAsync 3 00:00:17 verbose #485 > > |> Async.RunSynchronously 00:00:17 verbose #486 > > |> _assertEqual (Ok 2) 00:00:17 verbose #487 > > 00:00:17 verbose #488 > > ╭─[ 73.17ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:17 verbose #489 > > │ 00:00:02 debug #8 Async.retryAsync / retry: 1/3 / ex: │ 00:00:17 verbose #490 > > │ System.Exception: test │ 00:00:17 verbose #491 > > │ 00:00:02 debug #9 Async.retryAsync / retry: 2/3 / ex: │ 00:00:17 verbose #492 > > │ System.Exception: test │ 00:00:17 verbose #493 > > │ Ok 2 │ 00:00:17 verbose #494 > > │ │ 00:00:17 verbose #495 > > │ │ 00:00:17 verbose #496 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #497 > > 00:00:17 verbose #498 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:17 verbose #499 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:17 verbose #500 > > │ ## fold │ 00:00:17 verbose #501 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #502 > > 00:00:17 verbose #503 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:17 verbose #504 > > let fold folder state array = 00:00:17 verbose #505 > > let rec loop acc i = 00:00:17 verbose #506 > > async { 00:00:17 verbose #507 > > if i < Array.length array then 00:00:17 verbose #508 > > let! newAcc = folder acc array.[[i]] 00:00:17 verbose #509 > > return! loop newAcc (i + 1) 00:00:17 verbose #510 > > else 00:00:17 verbose #511 > > return acc 00:00:17 verbose #512 > > } 00:00:17 verbose #513 > > loop state 0 00:00:17 verbose #514 > 00:00:16 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 24787 } 00:00:17 verbose #515 > 00:00:16 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:18 verbose #516 > 00:00:16 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.ipynb to html 00:00:18 verbose #517 > 00:00:16 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:18 verbose #518 > 00:00:16 verbose #7 ! validate(nb) 00:00:18 verbose #519 > 00:00:17 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:18 verbose #520 > 00:00:17 verbose #9 ! return _pygments_highlight( 00:00:18 verbose #521 > 00:00:17 verbose #10 ! [NbConvertApp] Writing 332768 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.html 00:00:18 verbose #522 > 00:00:17 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 894 } 00:00:18 verbose #523 > 00:00:17 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 894 } 00:00:18 verbose #524 > 00:00:17 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Async.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:19 verbose #525 > 00:00:17 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:19 verbose #526 > 00:00:17 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:19 verbose #527 > 00:00:17 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 25740 } 00:00:19 debug #528 runtime.execute_with_options_async / { exit_code = 0; output_length = 29522 } 00:00:19 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Async.dib --retries 3 00:00:19 debug #529 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path AsyncSeq.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:19 verbose #530 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "AsyncSeq.dib", "--retries", "3"])) } 00:00:19 verbose #531 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:20 verbose #532 > > 00:00:20 verbose #533 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #534 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #535 > > │ # AsyncSeq (Polyglot) │ 00:00:20 verbose #536 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:33 verbose #537 > > 00:00:33 verbose #538 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:33 verbose #539 > > #r 00:00:33 verbose #540 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan 00:00:33 verbose #541 > > dard2.1/FSharp.Control.AsyncSeq.dll" 00:00:33 verbose #542 > > #r 00:00:33 verbose #543 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 00:00:33 verbose #544 > > 0/System.Reactive.dll" 00:00:33 verbose #545 > > #r 00:00:33 verbose #546 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib 00:00:33 verbose #547 > > netstandard2.0/System.Reactive.Linq.dll" 00:00:33 verbose #548 > > 00:00:33 verbose #549 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:33 verbose #550 > > #if !INTERACTIVE 00:00:33 verbose #551 > > open Lib 00:00:33 verbose #552 > > #endif 00:00:33 verbose #553 > > 00:00:33 verbose #554 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:33 verbose #555 > > open Common 00:00:33 verbose #556 > > 00:00:33 verbose #557 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:33 verbose #558 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:33 verbose #559 > > │ ## subscribeEvent │ 00:00:33 verbose #560 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:33 verbose #561 > > 00:00:33 verbose #562 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:33 verbose #563 > > let inline subscribeEvent (event: IEvent<'H, 'A>) map = 00:00:33 verbose #564 > > let observable = System.Reactive.Linq.Observable.FromEventPattern<'H, 00:00:33 verbose #565 > > 'A>(event.AddHandler, event.RemoveHandler) 00:00:33 verbose #566 > > System.Reactive.Linq.Observable.Select (observable, fun event -> map 00:00:33 verbose #567 > > event.EventArgs) 00:00:33 verbose #568 > > |> FSharp.Control.AsyncSeq.ofObservableBuffered 00:00:33 verbose #569 > > 00:00:33 verbose #570 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:33 verbose #571 > > //// test 00:00:33 verbose #572 > > 00:00:33 verbose #573 > > type TestEvent () as self = 00:00:33 verbose #574 > > member val Calls = [[]] with get, set 00:00:33 verbose #575 > > member val Event = Event<ErrorEventHandler, ErrorEventArgs> () with get 00:00:33 verbose #576 > > 00:00:33 verbose #577 > > member _.AddCall text = 00:00:33 verbose #578 > > self.Calls <- self.Calls @ [[ text ]] 00:00:33 verbose #579 > > 00:00:33 verbose #580 > > member _.EventInterface = 00:00:33 verbose #581 > > { new IEvent<ErrorEventHandler, ErrorEventArgs> with 00:00:33 verbose #582 > > member _.AddHandler handler = 00:00:33 verbose #583 > > self.AddCall "AddHandler" 00:00:33 verbose #584 > > self.Event.Publish.AddHandler handler 00:00:33 verbose #585 > > 00:00:33 verbose #586 > > member _.RemoveHandler handler = 00:00:33 verbose #587 > > self.AddCall "RemoveHandler" 00:00:33 verbose #588 > > self.Event.Publish.RemoveHandler handler 00:00:33 verbose #589 > > 00:00:33 verbose #590 > > member _.Subscribe observer = 00:00:33 verbose #591 > > self.AddCall "IObservable.Subscribe" 00:00:33 verbose #592 > > let disposable = self.Event.Publish.Subscribe observer 00:00:33 verbose #593 > > new_disposable (fun () -> 00:00:33 verbose #594 > > self.AddCall "IObservable.Dispose" 00:00:33 verbose #595 > > disposable.Dispose () 00:00:33 verbose #596 > > ) 00:00:33 verbose #597 > > } 00:00:33 verbose #598 > > 00:00:33 verbose #599 > > member _.Subscribe () = 00:00:33 verbose #600 > > subscribeEvent 00:00:33 verbose #601 > > self.EventInterface 00:00:33 verbose #602 > > (fun args -> 00:00:33 verbose #603 > > let result = args.GetException () |> SpiralSm.format_exception 00:00:33 verbose #604 > > self.AddCall $"TestEvent.Subscribe({result})" 00:00:33 verbose #605 > > result 00:00:33 verbose #606 > > ) 00:00:33 verbose #607 > > 00:00:33 verbose #608 > > member _.Iter subscription = 00:00:33 verbose #609 > > subscription 00:00:33 verbose #610 > > |> FSharp.Control.AsyncSeq.iteriAsync (fun i error -> async { 00:00:33 verbose #611 > > self.AddCall $"TestEvent.Iter({i}: {error})" 00:00:33 verbose #612 > > }) 00:00:33 verbose #613 > > 00:00:33 verbose #614 > > member _.WaitCall text = async { 00:00:33 verbose #615 > > while self.Calls |> List.last <> text do 00:00:33 verbose #616 > > do! Async.SwitchToThreadPool () 00:00:33 verbose #617 > > } 00:00:33 verbose #618 > > 00:00:33 verbose #619 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:33 verbose #620 > > //// test 00:00:33 verbose #621 > > 00:00:33 verbose #622 > > let testEvent = TestEvent () 00:00:33 verbose #623 > > 00:00:33 verbose #624 > > async { 00:00:33 verbose #625 > > testEvent.AddCall "1" 00:00:33 verbose #626 > > let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild 00:00:33 verbose #627 > > do! testEvent.WaitCall "AddHandler" 00:00:33 verbose #628 > > testEvent.AddCall "2" 00:00:33 verbose #629 > > do! child 00:00:33 verbose #630 > > testEvent.AddCall "3" 00:00:33 verbose #631 > > } 00:00:33 verbose #632 > > |> Async.runWithTimeout 300 00:00:33 verbose #633 > > |> _assertEqual None 00:00:33 verbose #634 > > 00:00:33 verbose #635 > > testEvent.Calls 00:00:33 verbose #636 > > |> Seq.toList 00:00:33 verbose #637 > > |> _assertEqual [[ "1"; "AddHandler"; "2"; "RemoveHandler" ]] 00:00:34 verbose #638 > > 00:00:34 verbose #639 > > ╭─[ 433.39ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:34 verbose #640 > > │ 00:00:01 debug #1 runWithTimeoutAsync / timeout: 300 │ 00:00:34 verbose #641 > > │ <null> │ 00:00:34 verbose #642 > > │ │ 00:00:34 verbose #643 > > │ ["1"; "AddHandler"; "2"; "RemoveHandler"] │ 00:00:34 verbose #644 > > │ │ 00:00:34 verbose #645 > > │ │ 00:00:34 verbose #646 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:34 verbose #647 > > 00:00:34 verbose #648 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:34 verbose #649 > > //// test 00:00:34 verbose #650 > > 00:00:34 verbose #651 > > let testEvent = TestEvent () 00:00:34 verbose #652 > > 00:00:34 verbose #653 > > async { 00:00:34 verbose #654 > > testEvent.AddCall "1" 00:00:34 verbose #655 > > let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild 00:00:34 verbose #656 > > do! testEvent.WaitCall "AddHandler" 00:00:34 verbose #657 > > testEvent.AddCall "2" 00:00:34 verbose #658 > > use _ = testEvent.EventInterface.Subscribe (fun args -> 00:00:34 verbose #659 > > testEvent.AddCall $"testEvent.EventInterface.Subscribe({args})" 00:00:34 verbose #660 > > ) 00:00:34 verbose #661 > > testEvent.AddCall "3" 00:00:34 verbose #662 > > do! child 00:00:34 verbose #663 > > testEvent.AddCall "4" 00:00:34 verbose #664 > > } 00:00:34 verbose #665 > > |> Async.runWithTimeout 300 00:00:34 verbose #666 > > |> _assertEqual None 00:00:34 verbose #667 > > 00:00:34 verbose #668 > > testEvent.Calls 00:00:34 verbose #669 > > |> _assertEqual [[ "1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3"; 00:00:34 verbose #670 > > "RemoveHandler"; "IObservable.Dispose" ]] 00:00:34 verbose #671 > > 00:00:34 verbose #672 > > ╭─[ 372.16ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:34 verbose #673 > > │ 00:00:01 debug #2 runWithTimeoutAsync / timeout: 300 │ 00:00:34 verbose #674 > > │ <null> │ 00:00:34 verbose #675 > > │ │ 00:00:34 verbose #676 > > │ ["1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3"; "RemoveHandler"; │ 00:00:34 verbose #677 > > │ "IObservable.Dispose"] │ 00:00:34 verbose #678 > > │ │ 00:00:34 verbose #679 > > │ │ 00:00:34 verbose #680 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:34 verbose #681 > > 00:00:34 verbose #682 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:34 verbose #683 > > //// test 00:00:34 verbose #684 > > 00:00:34 verbose #685 > > let testEvent = TestEvent () 00:00:34 verbose #686 > > 00:00:34 verbose #687 > > async { 00:00:34 verbose #688 > > testEvent.AddCall "1" 00:00:34 verbose #689 > > let! child = testEvent.Subscribe () |> testEvent.Iter |> Async.StartChild 00:00:34 verbose #690 > > do! testEvent.WaitCall "AddHandler" 00:00:34 verbose #691 > > testEvent.AddCall "2" 00:00:34 verbose #692 > > use _ = testEvent.EventInterface.Subscribe (fun args -> 00:00:34 verbose #693 > > async { 00:00:34 verbose #694 > > do! testEvent.WaitCall "TestEvent.Iter(0: System.Exception: error)" 00:00:34 verbose #695 > > testEvent.AddCall 00:00:34 verbose #696 > > $"testEvent.EventInterface.Subscribe({args.GetException () |> 00:00:34 verbose #697 > > SpiralSm.format_exception})" 00:00:34 verbose #698 > > } 00:00:34 verbose #699 > > |> Async.RunSynchronously 00:00:34 verbose #700 > > ) 00:00:34 verbose #701 > > testEvent.AddCall "3" 00:00:34 verbose #702 > > testEvent.Event.Trigger (null, ErrorEventArgs (Exception "error")) 00:00:34 verbose #703 > > testEvent.AddCall "4" 00:00:34 verbose #704 > > do! child 00:00:34 verbose #705 > > testEvent.AddCall "5" 00:00:34 verbose #706 > > } 00:00:34 verbose #707 > > |> Async.runWithTimeout 300 00:00:34 verbose #708 > > |> _assertEqual None 00:00:34 verbose #709 > > 00:00:34 verbose #710 > > testEvent.Calls 00:00:34 verbose #711 > > |> _assertEqual [[ 00:00:34 verbose #712 > > "1" 00:00:34 verbose #713 > > "AddHandler" 00:00:34 verbose #714 > > "2" 00:00:34 verbose #715 > > "IObservable.Subscribe" 00:00:34 verbose #716 > > "3" 00:00:34 verbose #717 > > "TestEvent.Subscribe(System.Exception: error)" 00:00:34 verbose #718 > > "TestEvent.Iter(0: System.Exception: error)" 00:00:34 verbose #719 > > "testEvent.EventInterface.Subscribe(System.Exception: error)" 00:00:34 verbose #720 > > "4" 00:00:34 verbose #721 > > "RemoveHandler" 00:00:34 verbose #722 > > "IObservable.Dispose" 00:00:34 verbose #723 > > ]] 00:00:35 verbose #724 > > 00:00:35 verbose #725 > > ╭─[ 419.74ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:35 verbose #726 > > │ 00:00:02 debug #3 runWithTimeoutAsync / timeout: 300 │ 00:00:35 verbose #727 > > │ <null> │ 00:00:35 verbose #728 > > │ │ 00:00:35 verbose #729 > > │ ["1"; "AddHandler"; "2"; "IObservable.Subscribe"; "3"; │ 00:00:35 verbose #730 > > │ "TestEvent.Subscribe(System.Exception: error)"; │ 00:00:35 verbose #731 > > │ "TestEvent.Iter(0: System.Exception: error)"; │ 00:00:35 verbose #732 > > │ "testEvent.EventInterface.Subscribe(System.Exception: error)"; "4"; │ 00:00:35 verbose #733 > > │ "RemoveHandler"; "IObservable.Dispose"] │ 00:00:35 verbose #734 > > │ │ 00:00:35 verbose #735 > > │ │ 00:00:35 verbose #736 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #737 > > 00:00:35 verbose #738 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #739 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #740 > > │ ## subscribeToken │ 00:00:35 verbose #741 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #742 > > 00:00:35 verbose #743 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #744 > > let subscribeToken (token : System.Threading.CancellationToken) = 00:00:35 verbose #745 > > let tcs = new System.Threading.Tasks.TaskCompletionSource () 00:00:35 verbose #746 > > System.Action tcs.SetResult |> token.Register |> ignore 00:00:35 verbose #747 > > let start = System.DateTime.Now.Ticks 00:00:35 verbose #748 > > FSharp.Control.AsyncSeq.unfoldAsync 00:00:35 verbose #749 > > (fun () -> async { 00:00:35 verbose #750 > > do! tcs.Task |> Async.AwaitTask 00:00:35 verbose #751 > > return Some (System.DateTime.Now.Ticks - start, ()) 00:00:35 verbose #752 > > }) 00:00:35 verbose #753 > > () 00:00:35 verbose #754 > > 00:00:35 verbose #755 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #756 > > //// test 00:00:35 verbose #757 > > 00:00:35 verbose #758 > > let cts = new System.Threading.CancellationTokenSource () 00:00:35 verbose #759 > > 00:00:35 verbose #760 > > async { 00:00:35 verbose #761 > > let! child = 00:00:35 verbose #762 > > cts.Token 00:00:35 verbose #763 > > |> subscribeToken 00:00:35 verbose #764 > > |> FSharp.Control.AsyncSeq.tryFirst 00:00:35 verbose #765 > > |> Async.StartChild 00:00:35 verbose #766 > > 00:00:35 verbose #767 > > do! Async.Sleep 100 00:00:35 verbose #768 > > cts.Cancel () 00:00:35 verbose #769 > > return! child 00:00:35 verbose #770 > > } 00:00:35 verbose #771 > > |> Async.RunSynchronously 00:00:35 verbose #772 > > |> Option.get 00:00:35 verbose #773 > > |> fun x -> x > 900000 00:00:35 verbose #774 > > |> _assertEqual true 00:00:35 verbose #775 > > 00:00:35 verbose #776 > > ╭─[ 135.91ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:35 verbose #777 > > │ true │ 00:00:35 verbose #778 > > │ │ 00:00:35 verbose #779 > > │ │ 00:00:35 verbose #780 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #781 > 00:00:16 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 10886 } 00:00:35 verbose #782 > 00:00:16 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:36 verbose #783 > 00:00:16 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.ipynb to html 00:00:36 verbose #784 > 00:00:16 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:36 verbose #785 > 00:00:16 verbose #7 ! validate(nb) 00:00:36 verbose #786 > 00:00:17 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:36 verbose #787 > 00:00:17 verbose #9 ! return _pygments_highlight( 00:00:36 verbose #788 > 00:00:17 verbose #10 ! [NbConvertApp] Writing 303112 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.html 00:00:36 verbose #789 > 00:00:17 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 900 } 00:00:36 verbose #790 > 00:00:17 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 900 } 00:00:36 verbose #791 > 00:00:17 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/AsyncSeq.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:36 verbose #792 > 00:00:17 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:36 verbose #793 > 00:00:17 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:36 verbose #794 > 00:00:17 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 11845 } 00:00:36 debug #795 runtime.execute_with_options_async / { exit_code = 0; output_length = 15144 } 00:00:36 debug #4 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path AsyncSeq.dib --retries 3 00:00:36 debug #796 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path Common.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:36 verbose #797 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Common.dib", "--retries", "3"])) } 00:00:36 verbose #798 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:38 verbose #799 > > 00:00:38 verbose #800 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #801 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #802 > > │ # Common (Polyglot) │ 00:00:38 verbose #803 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:50 verbose #804 > > 00:00:50 verbose #805 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #806 > > #if !INTERACTIVE 00:00:50 verbose #807 > > open Lib 00:00:50 verbose #808 > > #endif 00:00:50 verbose #809 > > 00:00:50 verbose #810 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #811 > > let nl = System.Environment.NewLine 00:00:50 verbose #812 > > let q = @"""" 00:00:50 verbose #813 > > 00:00:50 verbose #814 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #815 > > let inline cons head tail = head :: tail 00:00:50 verbose #816 > > 00:00:50 verbose #817 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:50 verbose #818 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:50 verbose #819 > > │ ## memoize │ 00:00:50 verbose #820 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:50 verbose #821 > > 00:00:50 verbose #822 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #823 > > let inline memoize fn = 00:00:50 verbose #824 > > let result = lazy fn () 00:00:50 verbose #825 > > fun () -> result.Value 00:00:50 verbose #826 > > 00:00:50 verbose #827 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:50 verbose #828 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:50 verbose #829 > > │ ## TraceLevel │ 00:00:50 verbose #830 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:50 verbose #831 > > 00:00:50 verbose #832 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #833 > > type TraceLevel = 00:00:50 verbose #834 > > | Verbose 00:00:50 verbose #835 > > | Debug 00:00:50 verbose #836 > > | Info 00:00:50 verbose #837 > > | Warning 00:00:50 verbose #838 > > | Critical 00:00:50 verbose #839 > > 00:00:50 verbose #840 > > let inline _locals () = "" 00:00:50 verbose #841 > > 00:00:50 verbose #842 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:50 verbose #843 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:50 verbose #844 > > │ ## trace │ 00:00:50 verbose #845 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:50 verbose #846 > > 00:00:50 verbose #847 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #848 > > let to_trace_level = function 00:00:50 verbose #849 > > | Verbose -> SpiralTrace.TraceLevel.US0_0 00:00:50 verbose #850 > > | Debug -> SpiralTrace.TraceLevel.US0_1 00:00:50 verbose #851 > > | Info -> SpiralTrace.TraceLevel.US0_2 00:00:50 verbose #852 > > | Warning -> SpiralTrace.TraceLevel.US0_3 00:00:50 verbose #853 > > | Critical -> SpiralTrace.TraceLevel.US0_4 00:00:50 verbose #854 > > 00:00:50 verbose #855 > > let trace level fn locals = 00:00:50 verbose #856 > > let level = level |> to_trace_level 00:00:50 verbose #857 > > SpiralTrace.trace level fn locals 00:00:50 verbose #858 > > 00:00:50 verbose #859 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:50 verbose #860 > > //// test 00:00:50 verbose #861 > > 00:00:50 verbose #862 > > trace Debug (fun () -> "test") _locals 00:00:50 verbose #863 > > 00:00:50 verbose #864 > > ╭─[ 15.81ms - stdout ]─────────────────────────────────────────────────────────╮ 00:00:50 verbose #865 > > │ 00:00:00 debug #1 test │ 00:00:50 verbose #866 > > │ │ 00:00:50 verbose #867 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:50 verbose #868 > 00:00:13 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 3413 } 00:00:50 verbose #869 > 00:00:13 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:51 verbose #870 > 00:00:14 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.ipynb to html 00:00:51 verbose #871 > 00:00:14 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:51 verbose #872 > 00:00:14 verbose #7 ! validate(nb) 00:00:51 verbose #873 > 00:00:14 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:51 verbose #874 > 00:00:14 verbose #9 ! return _pygments_highlight( 00:00:51 verbose #875 > 00:00:14 verbose #10 ! [NbConvertApp] Writing 280733 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.html 00:00:52 verbose #876 > 00:00:15 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 896 } 00:00:52 verbose #877 > 00:00:15 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 896 } 00:00:52 verbose #878 > 00:00:15 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Common.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:52 verbose #879 > 00:00:15 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:52 verbose #880 > 00:00:15 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:52 verbose #881 > 00:00:15 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 4368 } 00:00:52 debug #882 runtime.execute_with_options_async / { exit_code = 0; output_length = 7287 } 00:00:52 debug #5 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Common.dib --retries 3 00:00:52 debug #883 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path CommonFSharp.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:52 verbose #884 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "CommonFSharp.dib", "--retries", "3"])) } 00:00:52 verbose #885 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:53 verbose #886 > > 00:00:53 verbose #887 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #888 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #889 > > │ # CommonFSharp (Polyglot) │ 00:00:53 verbose #890 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #891 > > 00:01:06 verbose #892 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #893 > > open Common 00:01:06 verbose #894 > > 00:01:06 verbose #895 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #896 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #897 > > │ ## getUnionCaseName │ 00:01:06 verbose #898 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #899 > > 00:01:06 verbose #900 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #901 > > let inline getUnionCaseName<'T> (x: 'T) = 00:01:06 verbose #902 > > match Reflection.FSharpValue.GetUnionFields(x, typeof<'T>) with 00:01:06 verbose #903 > > | case, _ -> case.Name 00:01:06 verbose #904 > > 00:01:06 verbose #905 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #906 > > //// test 00:01:06 verbose #907 > > 00:01:06 verbose #908 > > TraceLevel.Critical 00:01:06 verbose #909 > > |> getUnionCaseName 00:01:06 verbose #910 > > |> _assertEqual (nameof TraceLevel.Critical) 00:01:06 verbose #911 > > 00:01:06 verbose #912 > > ╭─[ 47.40ms - stdout ]─────────────────────────────────────────────────────────╮ 00:01:06 verbose #913 > > │ "Critical" │ 00:01:06 verbose #914 > > │ │ 00:01:06 verbose #915 > > │ │ 00:01:06 verbose #916 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #917 > 00:00:13 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 1845 } 00:01:06 verbose #918 > 00:00:13 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:06 verbose #919 > 00:00:14 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.ipynb to html 00:01:06 verbose #920 > 00:00:14 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:01:06 verbose #921 > 00:00:14 verbose #7 ! validate(nb) 00:01:07 verbose #922 > 00:00:14 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:01:07 verbose #923 > 00:00:14 verbose #9 ! return _pygments_highlight( 00:01:07 verbose #924 > 00:00:14 verbose #10 ! [NbConvertApp] Writing 275590 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.html 00:01:07 verbose #925 > 00:00:15 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 908 } 00:01:07 verbose #926 > 00:00:15 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 908 } 00:01:07 verbose #927 > 00:00:15 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/CommonFSharp.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:07 verbose #928 > 00:00:15 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:01:07 verbose #929 > 00:00:15 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:01:07 verbose #930 > 00:00:15 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 2812 } 00:01:07 debug #931 runtime.execute_with_options_async / { exit_code = 0; output_length = 5709 } 00:01:07 debug #6 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path CommonFSharp.dib --retries 3 00:01:07 debug #932 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path FileSystem.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:07 verbose #933 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "FileSystem.dib", "--retries", "3"])) } 00:01:07 verbose #934 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:01:09 verbose #935 > > 00:01:09 verbose #936 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:09 verbose #937 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:09 verbose #938 > > │ # FileSystem (Polyglot) │ 00:01:09 verbose #939 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:11 verbose #940 > > 00:01:11 verbose #941 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:11 verbose #942 > > #r 00:01:11 verbose #943 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan 00:01:11 verbose #944 > > dard2.1/FSharp.Control.AsyncSeq.dll" 00:01:11 verbose #945 > > #r 00:01:11 verbose #946 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 00:01:11 verbose #947 > > 0/System.Reactive.dll" 00:01:11 verbose #948 > > #r 00:01:11 verbose #949 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib 00:01:11 verbose #950 > > netstandard2.0/System.Reactive.Linq.dll" 00:01:11 verbose #951 > > #r 00:01:11 verbose #952 > > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" 00:01:21 verbose #953 > > 00:01:21 verbose #954 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:21 verbose #955 > > #if !INTERACTIVE 00:01:21 verbose #956 > > open Lib 00:01:21 verbose #957 > > #endif 00:01:21 verbose #958 > > 00:01:21 verbose #959 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:21 verbose #960 > > open Common 00:01:21 verbose #961 > > open SpiralFileSystem.Operators 00:01:21 verbose #962 > > 00:01:21 verbose #963 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:21 verbose #964 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:21 verbose #965 > > │ ## watchDirectory │ 00:01:21 verbose #966 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:21 verbose #967 > > 00:01:21 verbose #968 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:21 verbose #969 > > [[<RequireQualifiedAccess>]] 00:01:21 verbose #970 > > type FileSystemChangeType = 00:01:21 verbose #971 > > | Failure 00:01:21 verbose #972 > > | Changed 00:01:21 verbose #973 > > | Created 00:01:21 verbose #974 > > | Deleted 00:01:21 verbose #975 > > | Renamed 00:01:21 verbose #976 > > 00:01:21 verbose #977 > > [[<RequireQualifiedAccess>]] 00:01:21 verbose #978 > > type FileSystemChange = 00:01:21 verbose #979 > > | Failure of exn: exn 00:01:21 verbose #980 > > | Changed of path: string * content: string option 00:01:21 verbose #981 > > | Created of path: string * content: string option 00:01:21 verbose #982 > > | Deleted of path: string 00:01:21 verbose #983 > > | Renamed of oldPath: string * (string * string option) 00:01:21 verbose #984 > > 00:01:21 verbose #985 > > 00:01:21 verbose #986 > > let inline watchDirectoryWithFilter filter shouldReadContent path = 00:01:21 verbose #987 > > let fullPath = path |> System.IO.Path.GetFullPath 00:01:21 verbose #988 > > let _locals () = $"filter: {filter} / {_locals ()}" 00:01:21 verbose #989 > > 00:01:21 verbose #990 > > let watcher = 00:01:21 verbose #991 > > new System.IO.FileSystemWatcher ( 00:01:21 verbose #992 > > Path = fullPath, 00:01:21 verbose #993 > > NotifyFilter = filter, 00:01:21 verbose #994 > > EnableRaisingEvents = true, 00:01:21 verbose #995 > > IncludeSubdirectories = true 00:01:21 verbose #996 > > ) 00:01:21 verbose #997 > > 00:01:21 verbose #998 > > let inline getEventPath (path : string) = 00:01:21 verbose #999 > > path |> SpiralSm.trim |> SpiralSm.replace fullPath "" |> 00:01:21 verbose #1000 > > SpiralSm.trim_start [[| '/'; '\\' |]] 00:01:21 verbose #1001 > > 00:01:21 verbose #1002 > > let inline ticks () = 00:01:21 verbose #1003 > > System.DateTime.UtcNow.Ticks 00:01:21 verbose #1004 > > 00:01:21 verbose #1005 > > let changedStream = 00:01:21 verbose #1006 > > AsyncSeq.subscribeEvent 00:01:21 verbose #1007 > > watcher.Changed 00:01:21 verbose #1008 > > (fun event -> 00:01:21 verbose #1009 > > ticks (), 00:01:21 verbose #1010 > > [[ FileSystemChange.Changed (getEventPath event.FullPath, None) 00:01:21 verbose #1011 > > ]] 00:01:21 verbose #1012 > > ) 00:01:21 verbose #1013 > > 00:01:21 verbose #1014 > > let deletedStream = 00:01:21 verbose #1015 > > AsyncSeq.subscribeEvent 00:01:21 verbose #1016 > > watcher.Deleted 00:01:21 verbose #1017 > > (fun event -> 00:01:21 verbose #1018 > > ticks (), 00:01:21 verbose #1019 > > [[ FileSystemChange.Deleted (getEventPath event.FullPath) ]] 00:01:21 verbose #1020 > > ) 00:01:21 verbose #1021 > > 00:01:21 verbose #1022 > > let createdStream = 00:01:21 verbose #1023 > > AsyncSeq.subscribeEvent 00:01:21 verbose #1024 > > watcher.Created 00:01:21 verbose #1025 > > (fun event -> 00:01:21 verbose #1026 > > let path = getEventPath event.FullPath 00:01:21 verbose #1027 > > ticks (), [[ 00:01:21 verbose #1028 > > FileSystemChange.Created (path, None) 00:01:21 verbose #1029 > > if SpiralPlatform.is_windows () then 00:01:21 verbose #1030 > > FileSystemChange.Changed (path, None) 00:01:21 verbose #1031 > > ]]) 00:01:21 verbose #1032 > > 00:01:21 verbose #1033 > > let renamedStream = 00:01:21 verbose #1034 > > AsyncSeq.subscribeEvent 00:01:21 verbose #1035 > > watcher.Renamed 00:01:21 verbose #1036 > > (fun event -> 00:01:21 verbose #1037 > > ticks (), [[ 00:01:21 verbose #1038 > > FileSystemChange.Renamed ( 00:01:21 verbose #1039 > > getEventPath event.OldFullPath, 00:01:21 verbose #1040 > > (getEventPath event.FullPath, None) 00:01:21 verbose #1041 > > ) 00:01:21 verbose #1042 > > ]] 00:01:21 verbose #1043 > > ) 00:01:21 verbose #1044 > > 00:01:21 verbose #1045 > > let failureStream = 00:01:21 verbose #1046 > > AsyncSeq.subscribeEvent 00:01:21 verbose #1047 > > watcher.Error 00:01:21 verbose #1048 > > (fun event -> ticks (), [[ FileSystemChange.Failure 00:01:21 verbose #1049 > > (event.GetException ()) ]]) 00:01:21 verbose #1050 > > 00:01:21 verbose #1051 > > let stream = 00:01:21 verbose #1052 > > [[ 00:01:21 verbose #1053 > > changedStream 00:01:21 verbose #1054 > > deletedStream 00:01:21 verbose #1055 > > createdStream 00:01:21 verbose #1056 > > renamedStream 00:01:21 verbose #1057 > > failureStream 00:01:21 verbose #1058 > > ]] 00:01:21 verbose #1059 > > |> FSharp.Control.AsyncSeq.mergeAll 00:01:21 verbose #1060 > > |> FSharp.Control.AsyncSeq.map (fun (t, events) -> 00:01:21 verbose #1061 > > events 00:01:21 verbose #1062 > > |> List.fold 00:01:21 verbose #1063 > > (fun (i, events) event -> 00:01:21 verbose #1064 > > i + 1L, 00:01:21 verbose #1065 > > (t + i, event) :: events) 00:01:21 verbose #1066 > > (0L, [[]]) 00:01:21 verbose #1067 > > |> snd 00:01:21 verbose #1068 > > |> List.rev 00:01:21 verbose #1069 > > ) 00:01:21 verbose #1070 > > |> FSharp.Control.AsyncSeq.concatSeq 00:01:21 verbose #1071 > > |> FSharp.Control.AsyncSeq.mapAsyncParallel (fun (t, event) -> async { 00:01:21 verbose #1072 > > match shouldReadContent event, event with 00:01:21 verbose #1073 > > | true, FileSystemChange.Changed (path, _) -> 00:01:21 verbose #1074 > > do! Async.Sleep 5 00:01:21 verbose #1075 > > let! content = fullPath </> path |> 00:01:21 verbose #1076 > > SpiralFileSystem.read_all_text_retry_async 00:01:21 verbose #1077 > > return t, FileSystemChange.Changed (path, content) 00:01:21 verbose #1078 > > | true, FileSystemChange.Created (path, _) -> 00:01:21 verbose #1079 > > do! Async.Sleep 5 00:01:21 verbose #1080 > > let! content = fullPath </> path |> 00:01:21 verbose #1081 > > SpiralFileSystem.read_all_text_retry_async 00:01:21 verbose #1082 > > return t, FileSystemChange.Created (path, content) 00:01:21 verbose #1083 > > | true, FileSystemChange.Renamed (oldPath, (newPath, _)) -> 00:01:21 verbose #1084 > > let! content = fullPath </> newPath |> 00:01:21 verbose #1085 > > SpiralFileSystem.read_all_text_retry_async 00:01:21 verbose #1086 > > return t, FileSystemChange.Renamed (oldPath, (newPath, content)) 00:01:21 verbose #1087 > > | _ -> return t, event 00:01:21 verbose #1088 > > }) 00:01:21 verbose #1089 > > 00:01:21 verbose #1090 > > let disposable = 00:01:21 verbose #1091 > > new_disposable (fun () -> 00:01:21 verbose #1092 > > trace Debug (fun () -> "FileSystem.watchWithFilter / Disposing watch 00:01:21 verbose #1093 > > stream") _locals 00:01:21 verbose #1094 > > watcher.EnableRaisingEvents <- false 00:01:21 verbose #1095 > > watcher.Dispose () 00:01:21 verbose #1096 > > ) 00:01:21 verbose #1097 > > 00:01:21 verbose #1098 > > stream, disposable 00:01:21 verbose #1099 > > 00:01:21 verbose #1100 > > let inline watchDirectory path = 00:01:21 verbose #1101 > > watchDirectoryWithFilter 00:01:21 verbose #1102 > > (System.IO.NotifyFilters.FileName 00:01:21 verbose #1103 > > // ||| System.IO.NotifyFilters.DirectoryName 00:01:21 verbose #1104 > > // ||| System.IO.NotifyFilters.Attributes 00:01:21 verbose #1105 > > //// ||| System.IO.NotifyFilters.Size 00:01:21 verbose #1106 > > ||| System.IO.NotifyFilters.LastWrite 00:01:21 verbose #1107 > > //// ||| System.IO.NotifyFilters.LastAccess 00:01:21 verbose #1108 > > // ||| System.IO.NotifyFilters.CreationTime 00:01:21 verbose #1109 > > // ||| System.IO.NotifyFilters.Security 00:01:21 verbose #1110 > > ) 00:01:21 verbose #1111 > > path 00:01:22 verbose #1112 > > 00:01:22 verbose #1113 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:22 verbose #1114 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:22 verbose #1115 > > │ ### testEventsRaw (test) │ 00:01:22 verbose #1116 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:22 verbose #1117 > > 00:01:22 verbose #1118 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:22 verbose #1119 > > //// test 00:01:22 verbose #1120 > > 00:01:22 verbose #1121 > > let inline testEventsRaw 00:01:22 verbose #1122 > > (watchFn : (_ -> bool) -> string -> FSharp.Control.AsyncSeq<int64 * 00:01:22 verbose #1123 > > FileSystemChange> * IDisposable) 00:01:22 verbose #1124 > > write 00:01:22 verbose #1125 > > = 00:01:22 verbose #1126 > > let struct (tempDir, tempDisposable) = 00:01:22 verbose #1127 > > "FileSystem.testEventsRaw" 00:01:22 verbose #1128 > > |> SpiralCrypto.hash_text 00:01:22 verbose #1129 > > |> SpiralFileSystem.create_temp_dir' 00:01:22 verbose #1130 > > let stream, disposable = watchFn (fun _ -> true) tempDir 00:01:22 verbose #1131 > > 00:01:22 verbose #1132 > > let events = System.Collections.Concurrent.ConcurrentBag () 00:01:22 verbose #1133 > > 00:01:22 verbose #1134 > > let inline iter () = 00:01:22 verbose #1135 > > stream 00:01:22 verbose #1136 > > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async { 00:01:22 verbose #1137 > > events.Add event }) 00:01:22 verbose #1138 > > 00:01:22 verbose #1139 > > let run = async { 00:01:22 verbose #1140 > > let! _ = iter () |> Async.StartChild 00:01:22 verbose #1141 > > do! Async.Sleep 250 00:01:22 verbose #1142 > > return! write tempDir 00:01:22 verbose #1143 > > } 00:01:22 verbose #1144 > > 00:01:22 verbose #1145 > > try 00:01:22 verbose #1146 > > run 00:01:22 verbose #1147 > > |> Async.runWithTimeout 60000 00:01:22 verbose #1148 > > |> _assertEqual (Some ()) 00:01:22 verbose #1149 > > finally 00:01:22 verbose #1150 > > disposable.Dispose () 00:01:22 verbose #1151 > > tempDisposable.Dispose () 00:01:22 verbose #1152 > > 00:01:22 verbose #1153 > > let eventsLog = 00:01:22 verbose #1154 > > events 00:01:22 verbose #1155 > > |> Seq.toList 00:01:22 verbose #1156 > > |> List.sortBy fst 00:01:22 verbose #1157 > > |> List.fold 00:01:22 verbose #1158 > > (fun (prev, acc) (ticks, event) -> 00:01:22 verbose #1159 > > ticks, (ticks, (if prev = 0L then 0L else ticks - prev), event) 00:01:22 verbose #1160 > > :: acc 00:01:22 verbose #1161 > > ) 00:01:22 verbose #1162 > > (0L, [[]]) 00:01:22 verbose #1163 > > |> snd 00:01:22 verbose #1164 > > |> List.rev 00:01:22 verbose #1165 > > |> List.map (fun (diff, n, event) -> $"{n} / {diff} / {event}" |> 00:01:22 verbose #1166 > > SpiralSm.ellipsis_end 100L) 00:01:22 verbose #1167 > > |> SpiralSm.concat "\n" 00:01:22 verbose #1168 > > let _locals () = $"eventsLog: \n{eventsLog} / {_locals ()}" 00:01:22 verbose #1169 > > trace Debug (fun () -> "FileSystem.testEventsRaw") _locals 00:01:22 verbose #1170 > > 00:01:22 verbose #1171 > > events 00:01:22 verbose #1172 > > |> Seq.toList 00:01:22 verbose #1173 > > |> List.sortBy fst 00:01:22 verbose #1174 > > |> List.map snd 00:01:22 verbose #1175 > > |> List.fold 00:01:22 verbose #1176 > > (fun acc event -> 00:01:22 verbose #1177 > > match acc, event with 00:01:22 verbose #1178 > > | FileSystemChange.Changed (lastPath, Some lastContent) as lastEvent 00:01:22 verbose #1179 > > :: acc, 00:01:22 verbose #1180 > > FileSystemChange.Changed (path, Some content) 00:01:22 verbose #1181 > > when lastPath = path && content |> SpiralSm.starts_with 00:01:22 verbose #1182 > > lastContent 00:01:22 verbose #1183 > > -> 00:01:22 verbose #1184 > > event :: acc 00:01:22 verbose #1185 > > | _ -> event :: acc 00:01:22 verbose #1186 > > ) 00:01:22 verbose #1187 > > [[]] 00:01:22 verbose #1188 > > |> List.rev 00:01:22 verbose #1189 > > 00:01:22 verbose #1190 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:22 verbose #1191 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:22 verbose #1192 > > │ #### fast (test) │ 00:01:22 verbose #1193 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:22 verbose #1194 > > 00:01:22 verbose #1195 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:22 verbose #1196 > > //// test 00:01:22 verbose #1197 > > 00:01:22 verbose #1198 > > let inline write path = async { 00:01:22 verbose #1199 > > let n = 2 00:01:22 verbose #1200 > > 00:01:22 verbose #1201 > > for i = 1 to n do 00:01:22 verbose #1202 > > do! $"a{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:22 verbose #1203 > > $"file{i}.txt") 00:01:22 verbose #1204 > > 00:01:22 verbose #1205 > > do! Async.Sleep 250 00:01:22 verbose #1206 > > 00:01:22 verbose #1207 > > for i = 1 to n do 00:01:22 verbose #1208 > > do! $"b{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:22 verbose #1209 > > $"file{i}.txt") 00:01:22 verbose #1210 > > 00:01:22 verbose #1211 > > do! Async.Sleep 250 00:01:22 verbose #1212 > > 00:01:22 verbose #1213 > > for i = 1 to n do 00:01:22 verbose #1214 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path 00:01:22 verbose #1215 > > </> $"file_{i}.txt") |> Async.Ignore 00:01:22 verbose #1216 > > 00:01:22 verbose #1217 > > do! Async.Sleep 250 00:01:22 verbose #1218 > > 00:01:22 verbose #1219 > > for i = 1 to n do 00:01:22 verbose #1220 > > do! $"c{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:22 verbose #1221 > > $"file_{i}.txt") 00:01:22 verbose #1222 > > 00:01:22 verbose #1223 > > do! Async.Sleep 250 00:01:22 verbose #1224 > > 00:01:22 verbose #1225 > > for i = 1 to n do 00:01:22 verbose #1226 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |> 00:01:22 verbose #1227 > > Async.Ignore 00:01:22 verbose #1228 > > 00:01:22 verbose #1229 > > do! Async.Sleep 250 00:01:22 verbose #1230 > > } 00:01:22 verbose #1231 > > 00:01:22 verbose #1232 > > let inline run () = 00:01:22 verbose #1233 > > let events = testEventsRaw watchDirectory write 00:01:22 verbose #1234 > > 00:01:22 verbose #1235 > > events 00:01:22 verbose #1236 > > |> _sequenceEqual [[ 00:01:22 verbose #1237 > > FileSystemChange.Created ("file1.txt", Some "a1") 00:01:22 verbose #1238 > > FileSystemChange.Changed ("file1.txt", Some "a1") 00:01:22 verbose #1239 > > FileSystemChange.Created ("file2.txt", Some "a2") 00:01:22 verbose #1240 > > FileSystemChange.Changed ("file2.txt", Some "a2") 00:01:22 verbose #1241 > > 00:01:22 verbose #1242 > > FileSystemChange.Changed ("file1.txt", Some "b1") 00:01:22 verbose #1243 > > FileSystemChange.Changed ("file2.txt", Some "b2") 00:01:22 verbose #1244 > > 00:01:22 verbose #1245 > > FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "b1")) 00:01:22 verbose #1246 > > FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "b2")) 00:01:22 verbose #1247 > > 00:01:22 verbose #1248 > > FileSystemChange.Changed ("file_1.txt", Some "c1") 00:01:22 verbose #1249 > > FileSystemChange.Changed ("file_2.txt", Some "c2") 00:01:22 verbose #1250 > > 00:01:22 verbose #1251 > > FileSystemChange.Deleted "file_1.txt" 00:01:22 verbose #1252 > > FileSystemChange.Deleted "file_2.txt" 00:01:22 verbose #1253 > > ]] 00:01:22 verbose #1254 > > 00:01:22 verbose #1255 > > run 00:01:22 verbose #1256 > > |> retry_fn 3 00:01:22 verbose #1257 > > |> _assertEqual (Some ()) 00:01:24 verbose #1258 > > 00:01:24 verbose #1259 > > ╭─[ 2.38s - stdout ]───────────────────────────────────────────────────────────╮ 00:01:24 verbose #1260 > > │ Some () │ 00:01:24 verbose #1261 > > │ │ 00:01:24 verbose #1262 > > │ 00:00:03 debug #1 FileSystem.watchWithFilter / Disposing watch stream │ 00:01:24 verbose #1263 > > │ / filter: FileName, LastWrite │ 00:01:24 verbose #1264 > > │ 00:00:03 debug #2 FileSystem.testEventsRaw / eventsLog: │ 00:01:24 verbose #1265 > > │ 0 / 638566910940330658 / Created ("file1.txt", Some "a1") │ 00:01:24 verbose #1266 > > │ 13820 / 638566910940344478 / Changed ("file1.txt", Some "a1") │ 00:01:24 verbose #1267 > > │ 2609 / 638566910940347087 / Created ("file2.txt", Some "a2") │ 00:01:24 verbose #1268 > > │ 50 / 638566910940347137 / Changed ("file2.txt", Some "a2") │ 00:01:24 verbose #1269 > > │ 2477822 / 638566910942824959 / Changed ("file1.txt", Some "b1") │ 00:01:24 verbose #1270 > > │ 4477 / 638566910942829436 / Changed ("file1.txt", Some "b1") │ 00:01:24 verbose #1271 > > │ 4415 / 638566910942833851 / Changed ("file2.txt", Some "b2") │ 00:01:24 verbose #1272 > > │ 389 / 638566910942834240 / Changed ("file2.txt", Some "b2") │ 00:01:24 verbose #1273 > > │ 2557163 / 638566910945391403 / Renamed ("file1.txt", ("file_1.txt", Some │ 00:01:24 verbose #1274 > > │ "b1")) │ 00:01:24 verbose #1275 > > │ 16436 / 638566910945407839 / Renamed ("file2.txt", ("file_2.txt", Some │ 00:01:24 verbose #1276 > > │ "b2")) │ 00:01:24 verbose #1277 > > │ 2541326 / 638566910947949165 / Changed ("file_1.txt", Some "c1") │ 00:01:24 verbose #1278 > > │ 1251 / 638566910947950416 / Changed ("file_1.txt", Some "c1") │ 00:01:24 verbose #1279 > > │ 4518 / 638566910947954934 / Changed ("file_2.txt", Some "c2") │ 00:01:24 verbose #1280 > > │ 227 / 638566910947955161 / Changed ("file_2.txt", Some "c2") │ 00:01:24 verbose #1281 > > │ 2522603 / 638566910950477764 / Deleted "file_1.txt" │ 00:01:24 verbose #1282 > > │ 2928 / 638566910950480692 / Deleted "file_2.txt" │ 00:01:24 verbose #1283 > > │ [Created ("file1.txt", Some "a1"); Changed ("file1.txt", Some "a1"); Created │ 00:01:24 verbose #1284 > > │ ("file2.txt", Some "a2"); │ 00:01:24 verbose #1285 > > │ Changed ("file2.txt", Some "a2"); Changed ("file1.txt", Some "b1"); Changed │ 00:01:24 verbose #1286 > > │ ("file2.txt", Some "b2"); │ 00:01:24 verbose #1287 > > │ Renamed ("file1.txt", ("file_1.txt", Some "b1")); Renamed ("file2.txt", │ 00:01:24 verbose #1288 > > │ ("file_2.txt", Some "b2")); │ 00:01:24 verbose #1289 > > │ Changed ("file_1.txt", Some "c1"); Changed ("file_2.txt", Some "c2"); │ 00:01:24 verbose #1290 > > │ Deleted "file_1.txt"; Deleted "file_2.txt"] │ 00:01:24 verbose #1291 > > │ │ 00:01:24 verbose #1292 > > │ Some () │ 00:01:24 verbose #1293 > > │ │ 00:01:24 verbose #1294 > > │ │ 00:01:24 verbose #1295 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:24 verbose #1296 > > 00:01:24 verbose #1297 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:24 verbose #1298 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:24 verbose #1299 > > │ #### slow (test) │ 00:01:24 verbose #1300 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:24 verbose #1301 > > 00:01:24 verbose #1302 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:24 verbose #1303 > > //// test 00:01:24 verbose #1304 > > 00:01:24 verbose #1305 > > let inline write path = async { 00:01:24 verbose #1306 > > let n = 2 00:01:24 verbose #1307 > > 00:01:24 verbose #1308 > > let contents = 00:01:24 verbose #1309 > > [[ 1 .. n ]] 00:01:24 verbose #1310 > > |> List.map (string >> String.replicate 1_000_000) 00:01:24 verbose #1311 > > 00:01:24 verbose #1312 > > for i = 1 to n do 00:01:24 verbose #1313 > > do! $"{contents.[[i - 1]]}a" |> SpiralFileSystem.write_all_text_async 00:01:24 verbose #1314 > > (path </> $"file{i}.txt") 00:01:24 verbose #1315 > > 00:01:24 verbose #1316 > > do! Async.Sleep 1500 00:01:24 verbose #1317 > > 00:01:24 verbose #1318 > > for i = 1 to n do 00:01:24 verbose #1319 > > do! $"{contents.[[i - 1]]}b" |> SpiralFileSystem.write_all_text_async 00:01:24 verbose #1320 > > (path </> $"file{i}.txt") 00:01:24 verbose #1321 > > 00:01:24 verbose #1322 > > do! Async.Sleep 1500 00:01:24 verbose #1323 > > 00:01:24 verbose #1324 > > for i = 1 to n do 00:01:24 verbose #1325 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path 00:01:24 verbose #1326 > > </> $"file_{i}.txt") |> Async.Ignore 00:01:24 verbose #1327 > > 00:01:24 verbose #1328 > > do! Async.Sleep 1500 00:01:24 verbose #1329 > > 00:01:24 verbose #1330 > > for i = 1 to n do 00:01:24 verbose #1331 > > do! $"{contents.[[i - 1]]}c" |> SpiralFileSystem.write_all_text_async 00:01:24 verbose #1332 > > (path </> $"file_{i}.txt") 00:01:24 verbose #1333 > > 00:01:24 verbose #1334 > > do! Async.Sleep 1500 00:01:24 verbose #1335 > > 00:01:24 verbose #1336 > > for i = 1 to n do 00:01:24 verbose #1337 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |> 00:01:24 verbose #1338 > > Async.Ignore 00:01:24 verbose #1339 > > 00:01:24 verbose #1340 > > do! Async.Sleep 1500 00:01:24 verbose #1341 > > } 00:01:24 verbose #1342 > > 00:01:24 verbose #1343 > > let inline run () = 00:01:24 verbose #1344 > > let events = 00:01:24 verbose #1345 > > testEventsRaw watchDirectory write 00:01:24 verbose #1346 > > |> List.map (function 00:01:24 verbose #1347 > > | FileSystemChange.Changed (path, Some content) -> 00:01:24 verbose #1348 > > FileSystemChange.Changed (path, content |> Seq.distinct |> 00:01:24 verbose #1349 > > Seq.map string |> SpiralSm.concat "" |> Some) 00:01:24 verbose #1350 > > | FileSystemChange.Created (path, Some content) -> 00:01:24 verbose #1351 > > FileSystemChange.Created (path, content |> Seq.distinct |> 00:01:24 verbose #1352 > > Seq.map string |> SpiralSm.concat "" |> Some) 00:01:24 verbose #1353 > > | FileSystemChange.Renamed (oldPath, (newPath, Some content)) -> 00:01:24 verbose #1354 > > FileSystemChange.Renamed ( 00:01:24 verbose #1355 > > oldPath, 00:01:24 verbose #1356 > > (newPath, content |> Seq.distinct |> Seq.map string |> 00:01:24 verbose #1357 > > SpiralSm.concat "" |> Some) 00:01:24 verbose #1358 > > ) 00:01:24 verbose #1359 > > | event -> event 00:01:24 verbose #1360 > > ) 00:01:24 verbose #1361 > > 00:01:24 verbose #1362 > > events 00:01:24 verbose #1363 > > |> _sequenceEqual [[ 00:01:24 verbose #1364 > > FileSystemChange.Created ("file1.txt", Some "1a") 00:01:24 verbose #1365 > > FileSystemChange.Changed ("file1.txt", Some "1a") 00:01:24 verbose #1366 > > FileSystemChange.Created ("file2.txt", Some "2a") 00:01:24 verbose #1367 > > FileSystemChange.Changed ("file2.txt", Some "2a") 00:01:24 verbose #1368 > > 00:01:24 verbose #1369 > > FileSystemChange.Changed ("file1.txt", Some "1b") 00:01:24 verbose #1370 > > FileSystemChange.Changed ("file2.txt", Some "2b") 00:01:24 verbose #1371 > > 00:01:24 verbose #1372 > > FileSystemChange.Renamed ("file1.txt", ("file_1.txt", Some "1b")) 00:01:24 verbose #1373 > > FileSystemChange.Renamed ("file2.txt", ("file_2.txt", Some "2b")) 00:01:24 verbose #1374 > > 00:01:24 verbose #1375 > > FileSystemChange.Changed ("file_1.txt", Some "1c") 00:01:24 verbose #1376 > > FileSystemChange.Changed ("file_2.txt", Some "2c") 00:01:24 verbose #1377 > > 00:01:24 verbose #1378 > > FileSystemChange.Deleted "file_1.txt" 00:01:24 verbose #1379 > > FileSystemChange.Deleted "file_2.txt" 00:01:24 verbose #1380 > > ]] 00:01:24 verbose #1381 > > 00:01:24 verbose #1382 > > run 00:01:24 verbose #1383 > > |> retry_fn 5 00:01:24 verbose #1384 > > |> _assertEqual (Some ()) 00:01:36 verbose #1385 > > 00:01:36 verbose #1386 > > ╭─[ 11.14s - stdout ]──────────────────────────────────────────────────────────╮ 00:01:36 verbose #1387 > > │ Some () │ 00:01:36 verbose #1388 > > │ │ 00:01:36 verbose #1389 > > │ 00:00:12 debug #3 FileSystem.watchWithFilter / Disposing watch stream │ 00:01:36 verbose #1390 > > │ / filter: FileName, LastWrite │ 00:01:36 verbose #1391 > > │ 00:00:14 debug #4 FileSystem.testEventsRaw / eventsLog: │ 00:01:36 verbose #1392 > > │ 0 / 638566910964978859 / Created │ 00:01:36 verbose #1393 > > │ ("file1.txt", │ 00:01:36 verbose #1394 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1395 > > │ 2956 / 638566910964981815 / Changed │ 00:01:36 verbose #1396 > > │ ("file1.txt"...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1397 > > │ 294 / 638566910964982109 / Changed │ 00:01:36 verbose #1398 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1399 > > │ 64 / 638566910964982173 / Changed │ 00:01:36 verbose #1400 > > │ ("file1.txt", │ 00:01:36 verbose #1401 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1402 > > │ 248 / 638566910964982421 / Changed │ 00:01:36 verbose #1403 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1404 > > │ 67 / 638566910964982488 / Changed │ 00:01:36 verbose #1405 > > │ ("file1.txt", │ 00:01:36 verbose #1406 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1407 > > │ 195 / 638566910964982683 / Changed │ 00:01:36 verbose #1408 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1409 > > │ 255 / 638566910964982938 / Changed │ 00:01:36 verbose #1410 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1411 > > │ 608 / 638566910964983546 / Changed │ 00:01:36 verbose #1412 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1413 > > │ 397 / 638566910964983943 / Changed │ 00:01:36 verbose #1414 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1415 > > │ 95 / 638566910964984038 / Changed │ 00:01:36 verbose #1416 > > │ ("file1.txt", │ 00:01:36 verbose #1417 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1418 > > │ 98 / 638566910964984136 / Changed │ 00:01:36 verbose #1419 > > │ ("file1.txt", │ 00:01:36 verbose #1420 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1421 > > │ 338 / 638566910964984474 / Changed │ 00:01:36 verbose #1422 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1423 > > │ 68 / 638566910964984542 / Changed │ 00:01:36 verbose #1424 > > │ ("file1.txt", │ 00:01:36 verbose #1425 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1426 > > │ 170 / 638566910964984712 / Changed │ 00:01:36 verbose #1427 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1428 > > │ 97 / 638566910964984809 / Changed │ 00:01:36 verbose #1429 > > │ ("file1.txt", │ 00:01:36 verbose #1430 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1431 > > │ 191 / 638566910964985000 / Changed │ 00:01:36 verbose #1432 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1433 > > │ 163 / 638566910964985163 / Changed │ 00:01:36 verbose #1434 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1435 > > │ 109 / 638566910964985272 / Changed │ 00:01:36 verbose #1436 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1437 > > │ 64 / 638566910964985336 / Changed │ 00:01:36 verbose #1438 > > │ ("file1.txt", │ 00:01:36 verbose #1439 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1440 > > │ 232 / 638566910964985568 / Changed │ 00:01:36 verbose #1441 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1442 > > │ 56 / 638566910964985624 / Changed │ 00:01:36 verbose #1443 > > │ ("file1.txt", │ 00:01:36 verbose #1444 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1445 > > │ 251 / 638566910964985875 / Changed │ 00:01:36 verbose #1446 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1447 > > │ 55 / 638566910964985930 / Changed │ 00:01:36 verbose #1448 > > │ ("file1.txt", │ 00:01:36 verbose #1449 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1450 > > │ 203 / 638566910964986133 / Changed │ 00:01:36 verbose #1451 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1452 > > │ 166 / 638566910964986299 / Changed │ 00:01:36 verbose #1453 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1454 > > │ 157 / 638566910964986456 / Changed │ 00:01:36 verbose #1455 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1456 > > │ 143 / 638566910964986599 / Changed │ 00:01:36 verbose #1457 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1458 > > │ 185 / 638566910964986784 / Changed │ 00:01:36 verbose #1459 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1460 > > │ 60 / 638566910964986844 / Changed │ 00:01:36 verbose #1461 > > │ ("file1.txt", │ 00:01:36 verbose #1462 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1463 > > │ 172 / 638566910964987016 / Changed │ 00:01:36 verbose #1464 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1465 > > │ 258 / 638566910964987274 / Changed │ 00:01:36 verbose #1466 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1467 > > │ 70 / 638566910964987344 / Changed │ 00:01:36 verbose #1468 > > │ ("file1.txt", │ 00:01:36 verbose #1469 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1470 > > │ 156 / 638566910964987500 / Changed │ 00:01:36 verbose #1471 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1472 > > │ 156 / 638566910964987656 / Changed │ 00:01:36 verbose #1473 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1474 > > │ 173 / 638566910964987829 / Changed │ 00:01:36 verbose #1475 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1476 > > │ 189 / 638566910964988018 / Changed │ 00:01:36 verbose #1477 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1478 > > │ 84 / 638566910964988102 / Changed │ 00:01:36 verbose #1479 > > │ ("file1.txt", │ 00:01:36 verbose #1480 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1481 > > │ 264 / 638566910964988366 / Changed │ 00:01:36 verbose #1482 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1483 > > │ 68 / 638566910964988434 / Changed │ 00:01:36 verbose #1484 > > │ ("file1.txt", │ 00:01:36 verbose #1485 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1486 > > │ 177 / 638566910964988611 / Changed │ 00:01:36 verbose #1487 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1488 > > │ 58 / 638566910964988669 / Changed │ 00:01:36 verbose #1489 > > │ ("file1.txt", │ 00:01:36 verbose #1490 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1491 > > │ 249 / 638566910964988918 / Changed │ 00:01:36 verbose #1492 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1493 > > │ 70 / 638566910964988988 / Changed │ 00:01:36 verbose #1494 > > │ ("file1.txt", │ 00:01:36 verbose #1495 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1496 > > │ 174 / 638566910964989162 / Changed │ 00:01:36 verbose #1497 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1498 > > │ 68 / 638566910964989230 / Changed │ 00:01:36 verbose #1499 > > │ ("file1.txt", │ 00:01:36 verbose #1500 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1501 > > │ 348 / 638566910964989578 / Changed │ 00:01:36 verbose #1502 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1503 > > │ 196 / 638566910964989774 / Changed │ 00:01:36 verbose #1504 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1505 > > │ 207 / 638566910964989981 / Changed │ 00:01:36 verbose #1506 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1507 > > │ 169 / 638566910964990150 / Changed │ 00:01:36 verbose #1508 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1509 > > │ 131 / 638566910964990281 / Changed │ 00:01:36 verbose #1510 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1511 > > │ 223 / 638566910964990504 / Changed │ 00:01:36 verbose #1512 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1513 > > │ 47 / 638566910964990551 / Changed │ 00:01:36 verbose #1514 > > │ ("file1.txt", │ 00:01:36 verbose #1515 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1516 > > │ 269 / 638566910964990820 / Changed │ 00:01:36 verbose #1517 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1518 > > │ 44 / 638566910964990864 / Changed │ 00:01:36 verbose #1519 > > │ ("file1.txt", │ 00:01:36 verbose #1520 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1521 > > │ 188 / 638566910964991052 / Changed │ 00:01:36 verbose #1522 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1523 > > │ 227 / 638566910964991279 / Changed │ 00:01:36 verbose #1524 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1525 > > │ 65 / 638566910964991344 / Changed │ 00:01:36 verbose #1526 > > │ ("file1.txt", │ 00:01:36 verbose #1527 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1528 > > │ 199 / 638566910964991543 / Changed │ 00:01:36 verbose #1529 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1530 > > │ 62 / 638566910964991605 / Changed │ 00:01:36 verbose #1531 > > │ ("file1.txt", │ 00:01:36 verbose #1532 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1533 > > │ 269 / 638566910964991874 / Changed │ 00:01:36 verbose #1534 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1535 > > │ 78 / 638566910964991952 / Changed │ 00:01:36 verbose #1536 > > │ ("file1.txt", │ 00:01:36 verbose #1537 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1538 > > │ 178 / 638566910964992130 / Changed │ 00:01:36 verbose #1539 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1540 > > │ 62 / 638566910964992192 / Changed │ 00:01:36 verbose #1541 > > │ ("file1.txt", │ 00:01:36 verbose #1542 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1543 > > │ 248 / 638566910964992440 / Changed │ 00:01:36 verbose #1544 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1545 > > │ 69 / 638566910964992509 / Changed │ 00:01:36 verbose #1546 > > │ ("file1.txt", │ 00:01:36 verbose #1547 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1548 > > │ 183 / 638566910964992692 / Changed │ 00:01:36 verbose #1549 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1550 > > │ 183 / 638566910964992875 / Changed │ 00:01:36 verbose #1551 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1552 > > │ 162 / 638566910964993037 / Changed │ 00:01:36 verbose #1553 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1554 > > │ 151 / 638566910964993188 / Changed │ 00:01:36 verbose #1555 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1556 > > │ 160 / 638566910964993348 / Changed │ 00:01:36 verbose #1557 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1558 > > │ 156 / 638566910964993504 / Changed │ 00:01:36 verbose #1559 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1560 > > │ 160 / 638566910964993664 / Changed │ 00:01:36 verbose #1561 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1562 > > │ 167 / 638566910964993831 / Changed │ 00:01:36 verbose #1563 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1564 > > │ 161 / 638566910964993992 / Changed │ 00:01:36 verbose #1565 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1566 > > │ 223 / 638566910964994215 / Changed │ 00:01:36 verbose #1567 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1568 > > │ 57 / 638566910964994272 / Changed │ 00:01:36 verbose #1569 > > │ ("file1.txt", │ 00:01:36 verbose #1570 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1571 > > │ 185 / 638566910964994457 / Changed │ 00:01:36 verbose #1572 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1573 > > │ 246 / 638566910964994703 / Changed │ 00:01:36 verbose #1574 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1575 > > │ 55 / 638566910964994758 / Changed │ 00:01:36 verbose #1576 > > │ ("file1.txt", │ 00:01:36 verbose #1577 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1578 > > │ 198 / 638566910964994956 / Changed │ 00:01:36 verbose #1579 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1580 > > │ 219 / 638566910964995175 / Changed │ 00:01:36 verbose #1581 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1582 > > │ 156 / 638566910964995331 / Changed │ 00:01:36 verbose #1583 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1584 > > │ 196 / 638566910964995527 / Changed │ 00:01:36 verbose #1585 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1586 > > │ 242 / 638566910964995769 / Changed │ 00:01:36 verbose #1587 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1588 > > │ 62 / 638566910964995831 / Changed │ 00:01:36 verbose #1589 > > │ ("file1.txt", │ 00:01:36 verbose #1590 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1591 > > │ 398 / 638566910964996229 / Changed │ 00:01:36 verbose #1592 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1593 > > │ 99 / 638566910964996328 / Changed │ 00:01:36 verbose #1594 > > │ ("file1.txt", │ 00:01:36 verbose #1595 > > │ ...11111111111111111111111111111111111111111111111a") │ 00:01:36 verbose #1596 > > │ 19574 / 638566910965015902 / Created │ 00:01:36 verbose #1597 > > │ ("file2.txt...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1598 > > │ 177 / 638566910965016079 / Changed │ 00:01:36 verbose #1599 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1600 > > │ 109 / 638566910965016188 / Changed │ 00:01:36 verbose #1601 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1602 > > │ 357 / 638566910965016545 / Changed │ 00:01:36 verbose #1603 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1604 > > │ 222 / 638566910965016767 / Changed │ 00:01:36 verbose #1605 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1606 > > │ 194 / 638566910965016961 / Changed │ 00:01:36 verbose #1607 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1608 > > │ 191 / 638566910965017152 / Changed │ 00:01:36 verbose #1609 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1610 > > │ 304 / 638566910965017456 / Changed │ 00:01:36 verbose #1611 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1612 > > │ 194 / 638566910965017650 / Changed │ 00:01:36 verbose #1613 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1614 > > │ 377 / 638566910965018027 / Changed │ 00:01:36 verbose #1615 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1616 > > │ 90 / 638566910965018117 / Changed │ 00:01:36 verbose #1617 > > │ ("file2.txt", │ 00:01:36 verbose #1618 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1619 > > │ 187 / 638566910965018304 / Changed │ 00:01:36 verbose #1620 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1621 > > │ 166 / 638566910965018470 / Changed │ 00:01:36 verbose #1622 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1623 > > │ 178 / 638566910965018648 / Changed │ 00:01:36 verbose #1624 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1625 > > │ 171 / 638566910965018819 / Changed │ 00:01:36 verbose #1626 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1627 > > │ 165 / 638566910965018984 / Changed │ 00:01:36 verbose #1628 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1629 > > │ 163 / 638566910965019147 / Changed │ 00:01:36 verbose #1630 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1631 > > │ 1678 / 638566910965020825 / Changed │ 00:01:36 verbose #1632 > > │ ("file2.txt"...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1633 > > │ 121 / 638566910965020946 / Changed │ 00:01:36 verbose #1634 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1635 > > │ 44 / 638566910965020990 / Changed │ 00:01:36 verbose #1636 > > │ ("file2.txt", │ 00:01:36 verbose #1637 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1638 > > │ 180 / 638566910965021170 / Changed │ 00:01:36 verbose #1639 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1640 > > │ 165 / 638566910965021335 / Changed │ 00:01:36 verbose #1641 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1642 > > │ 175 / 638566910965021510 / Changed │ 00:01:36 verbose #1643 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1644 > > │ 233 / 638566910965021743 / Changed │ 00:01:36 verbose #1645 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1646 > > │ 208 / 638566910965021951 / Changed │ 00:01:36 verbose #1647 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1648 > > │ 193 / 638566910965022144 / Changed │ 00:01:36 verbose #1649 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1650 > > │ 161 / 638566910965022305 / Changed │ 00:01:36 verbose #1651 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1652 > > │ 179 / 638566910965022484 / Changed │ 00:01:36 verbose #1653 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1654 > > │ 168 / 638566910965022652 / Changed │ 00:01:36 verbose #1655 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1656 > > │ 476 / 638566910965023128 / Changed │ 00:01:36 verbose #1657 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1658 > > │ 88 / 638566910965023216 / Changed │ 00:01:36 verbose #1659 > > │ ("file2.txt", │ 00:01:36 verbose #1660 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1661 > > │ 212 / 638566910965023428 / Changed │ 00:01:36 verbose #1662 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1663 > > │ 165 / 638566910965023593 / Changed │ 00:01:36 verbose #1664 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1665 > > │ 158 / 638566910965023751 / Changed │ 00:01:36 verbose #1666 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1667 > > │ 166 / 638566910965023917 / Changed │ 00:01:36 verbose #1668 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1669 > > │ 169 / 638566910965024086 / Changed │ 00:01:36 verbose #1670 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1671 > > │ 874 / 638566910965024960 / Changed │ 00:01:36 verbose #1672 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1673 > > │ 209 / 638566910965025169 / Changed │ 00:01:36 verbose #1674 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1675 > > │ 201 / 638566910965025370 / Changed │ 00:01:36 verbose #1676 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1677 > > │ 153 / 638566910965025523 / Changed │ 00:01:36 verbose #1678 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1679 > > │ 820 / 638566910965026343 / Changed │ 00:01:36 verbose #1680 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1681 > > │ 98 / 638566910965026441 / Changed │ 00:01:36 verbose #1682 > > │ ("file2.txt", │ 00:01:36 verbose #1683 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1684 > > │ 189 / 638566910965026630 / Changed │ 00:01:36 verbose #1685 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1686 > > │ 144 / 638566910965026774 / Changed │ 00:01:36 verbose #1687 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1688 > > │ 183 / 638566910965026957 / Changed │ 00:01:36 verbose #1689 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1690 > > │ 1022 / 638566910965027979 / Changed │ 00:01:36 verbose #1691 > > │ ("file2.txt"...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1692 > > │ 94 / 638566910965028073 / Changed │ 00:01:36 verbose #1693 > > │ ("file2.txt", │ 00:01:36 verbose #1694 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1695 > > │ 226 / 638566910965028299 / Changed │ 00:01:36 verbose #1696 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1697 > > │ 168 / 638566910965028467 / Changed │ 00:01:36 verbose #1698 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1699 > > │ 164 / 638566910965028631 / Changed │ 00:01:36 verbose #1700 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1701 > > │ 161 / 638566910965028792 / Changed │ 00:01:36 verbose #1702 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1703 > > │ 179 / 638566910965028971 / Changed │ 00:01:36 verbose #1704 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1705 > > │ 1485 / 638566910965030456 / Changed │ 00:01:36 verbose #1706 > > │ ("file2.txt"...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1707 > > │ 105 / 638566910965030561 / Changed │ 00:01:36 verbose #1708 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1709 > > │ 164 / 638566910965030725 / Changed │ 00:01:36 verbose #1710 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1711 > > │ 159 / 638566910965030884 / Changed │ 00:01:36 verbose #1712 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1713 > > │ 155 / 638566910965031039 / Changed │ 00:01:36 verbose #1714 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1715 > > │ 801 / 638566910965031840 / Changed │ 00:01:36 verbose #1716 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1717 > > │ 78 / 638566910965031918 / Changed │ 00:01:36 verbose #1718 > > │ ("file2.txt", │ 00:01:36 verbose #1719 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1720 > > │ 139 / 638566910965032057 / Changed │ 00:01:36 verbose #1721 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1722 > > │ 190 / 638566910965032247 / Changed │ 00:01:36 verbose #1723 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1724 > > │ 184 / 638566910965032431 / Changed │ 00:01:36 verbose #1725 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1726 > > │ 153 / 638566910965032584 / Changed │ 00:01:36 verbose #1727 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1728 > > │ 171 / 638566910965032755 / Changed │ 00:01:36 verbose #1729 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1730 > > │ 235 / 638566910965032990 / Changed │ 00:01:36 verbose #1731 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1732 > > │ 230 / 638566910965033220 / Changed │ 00:01:36 verbose #1733 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1734 > > │ 175 / 638566910965033395 / Changed │ 00:01:36 verbose #1735 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1736 > > │ 172 / 638566910965033567 / Changed │ 00:01:36 verbose #1737 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1738 > > │ 167 / 638566910965033734 / Changed │ 00:01:36 verbose #1739 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1740 > > │ 165 / 638566910965033899 / Changed │ 00:01:36 verbose #1741 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1742 > > │ 166 / 638566910965034065 / Changed │ 00:01:36 verbose #1743 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1744 > > │ 166 / 638566910965034231 / Changed │ 00:01:36 verbose #1745 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1746 > > │ 455 / 638566910965034686 / Changed │ 00:01:36 verbose #1747 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1748 > > │ 182 / 638566910965034868 / Changed │ 00:01:36 verbose #1749 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1750 > > │ 211 / 638566910965035079 / Changed │ 00:01:36 verbose #1751 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1752 > > │ 187 / 638566910965035266 / Changed │ 00:01:36 verbose #1753 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1754 > > │ 210 / 638566910965035476 / Changed │ 00:01:36 verbose #1755 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1756 > > │ 826 / 638566910965036302 / Changed │ 00:01:36 verbose #1757 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1758 > > │ 68 / 638566910965036370 / Changed │ 00:01:36 verbose #1759 > > │ ("file2.txt", │ 00:01:36 verbose #1760 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1761 > > │ 134 / 638566910965036504 / Changed │ 00:01:36 verbose #1762 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1763 > > │ 697 / 638566910965037201 / Changed │ 00:01:36 verbose #1764 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1765 > > │ 91 / 638566910965037292 / Changed │ 00:01:36 verbose #1766 > > │ ("file2.txt", │ 00:01:36 verbose #1767 > > │ ...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1768 > > │ 198 / 638566910965037490 / Changed │ 00:01:36 verbose #1769 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1770 > > │ 171 / 638566910965037661 / Changed │ 00:01:36 verbose #1771 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1772 > > │ 170 / 638566910965037831 / Changed │ 00:01:36 verbose #1773 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1774 > > │ 173 / 638566910965038004 / Changed │ 00:01:36 verbose #1775 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1776 > > │ 153 / 638566910965038157 / Changed │ 00:01:36 verbose #1777 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222a") │ 00:01:36 verbose #1778 > > │ 15032620 / 638566910980070777 / Changed │ 00:01:36 verbose #1779 > > │ ("file1....11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1780 > > │ 389 / 638566910980071166 / Changed │ 00:01:36 verbose #1781 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1782 > > │ 1031 / 638566910980072197 / Changed │ 00:01:36 verbose #1783 > > │ ("file1.txt"...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1784 > > │ 775 / 638566910980072972 / Changed │ 00:01:36 verbose #1785 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1786 > > │ 917 / 638566910980073889 / Changed │ 00:01:36 verbose #1787 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1788 > > │ 601 / 638566910980074490 / Changed │ 00:01:36 verbose #1789 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1790 > > │ 491 / 638566910980074981 / Changed │ 00:01:36 verbose #1791 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1792 > > │ 326 / 638566910980075307 / Changed │ 00:01:36 verbose #1793 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1794 > > │ 324 / 638566910980075631 / Changed │ 00:01:36 verbose #1795 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1796 > > │ 334 / 638566910980075965 / Changed │ 00:01:36 verbose #1797 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1798 > > │ 547 / 638566910980076512 / Changed │ 00:01:36 verbose #1799 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1800 > > │ 216 / 638566910980076728 / Changed │ 00:01:36 verbose #1801 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1802 > > │ 249 / 638566910980076977 / Changed │ 00:01:36 verbose #1803 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1804 > > │ 282 / 638566910980077259 / Changed │ 00:01:36 verbose #1805 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1806 > > │ 216 / 638566910980077475 / Changed │ 00:01:36 verbose #1807 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1808 > > │ 245 / 638566910980077720 / Changed │ 00:01:36 verbose #1809 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1810 > > │ 170 / 638566910980077890 / Changed │ 00:01:36 verbose #1811 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1812 > > │ 215 / 638566910980078105 / Changed │ 00:01:36 verbose #1813 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1814 > > │ 177 / 638566910980078282 / Changed │ 00:01:36 verbose #1815 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1816 > > │ 177 / 638566910980078459 / Changed │ 00:01:36 verbose #1817 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1818 > > │ 189 / 638566910980078648 / Changed │ 00:01:36 verbose #1819 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1820 > > │ 206 / 638566910980078854 / Changed │ 00:01:36 verbose #1821 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1822 > > │ 205 / 638566910980079059 / Changed │ 00:01:36 verbose #1823 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1824 > > │ 238 / 638566910980079297 / Changed │ 00:01:36 verbose #1825 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1826 > > │ 70 / 638566910980079367 / Changed │ 00:01:36 verbose #1827 > > │ ("file1.txt", │ 00:01:36 verbose #1828 > > │ ...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1829 > > │ 623 / 638566910980079990 / Changed │ 00:01:36 verbose #1830 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1831 > > │ 98 / 638566910980080088 / Changed │ 00:01:36 verbose #1832 > > │ ("file1.txt", │ 00:01:36 verbose #1833 > > │ ...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1834 > > │ 198 / 638566910980080286 / Changed │ 00:01:36 verbose #1835 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1836 > > │ 201 / 638566910980080487 / Changed │ 00:01:36 verbose #1837 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1838 > > │ 206 / 638566910980080693 / Changed │ 00:01:36 verbose #1839 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1840 > > │ 195 / 638566910980080888 / Changed │ 00:01:36 verbose #1841 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1842 > > │ 207 / 638566910980081095 / Changed │ 00:01:36 verbose #1843 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1844 > > │ 191 / 638566910980081286 / Changed │ 00:01:36 verbose #1845 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1846 > > │ 185 / 638566910980081471 / Changed │ 00:01:36 verbose #1847 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1848 > > │ 231 / 638566910980081702 / Changed │ 00:01:36 verbose #1849 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1850 > > │ 174 / 638566910980081876 / Changed │ 00:01:36 verbose #1851 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1852 > > │ 192 / 638566910980082068 / Changed │ 00:01:36 verbose #1853 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1854 > > │ 199 / 638566910980082267 / Changed │ 00:01:36 verbose #1855 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1856 > > │ 207 / 638566910980082474 / Changed │ 00:01:36 verbose #1857 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1858 > > │ 219 / 638566910980082693 / Changed │ 00:01:36 verbose #1859 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1860 > > │ 184 / 638566910980082877 / Changed │ 00:01:36 verbose #1861 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1862 > > │ 202 / 638566910980083079 / Changed │ 00:01:36 verbose #1863 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1864 > > │ 193 / 638566910980083272 / Changed │ 00:01:36 verbose #1865 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1866 > > │ 206 / 638566910980083478 / Changed │ 00:01:36 verbose #1867 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1868 > > │ 177 / 638566910980083655 / Changed │ 00:01:36 verbose #1869 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1870 > > │ 192 / 638566910980083847 / Changed │ 00:01:36 verbose #1871 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1872 > > │ 221 / 638566910980084068 / Changed │ 00:01:36 verbose #1873 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1874 > > │ 365 / 638566910980084433 / Changed │ 00:01:36 verbose #1875 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1876 > > │ 205 / 638566910980084638 / Changed │ 00:01:36 verbose #1877 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1878 > > │ 218 / 638566910980084856 / Changed │ 00:01:36 verbose #1879 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1880 > > │ 195 / 638566910980085051 / Changed │ 00:01:36 verbose #1881 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1882 > > │ 204 / 638566910980085255 / Changed │ 00:01:36 verbose #1883 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1884 > > │ 185 / 638566910980085440 / Changed │ 00:01:36 verbose #1885 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1886 > > │ 187 / 638566910980085627 / Changed │ 00:01:36 verbose #1887 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1888 > > │ 212 / 638566910980085839 / Changed │ 00:01:36 verbose #1889 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1890 > > │ 186 / 638566910980086025 / Changed │ 00:01:36 verbose #1891 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1892 > > │ 226 / 638566910980086251 / Changed │ 00:01:36 verbose #1893 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1894 > > │ 186 / 638566910980086437 / Changed │ 00:01:36 verbose #1895 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1896 > > │ 197 / 638566910980086634 / Changed │ 00:01:36 verbose #1897 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1898 > > │ 190 / 638566910980086824 / Changed │ 00:01:36 verbose #1899 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1900 > > │ 185 / 638566910980087009 / Changed │ 00:01:36 verbose #1901 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1902 > > │ 216 / 638566910980087225 / Changed │ 00:01:36 verbose #1903 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1904 > > │ 201 / 638566910980087426 / Changed │ 00:01:36 verbose #1905 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1906 > > │ 177 / 638566910980087603 / Changed │ 00:01:36 verbose #1907 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1908 > > │ 189 / 638566910980087792 / Changed │ 00:01:36 verbose #1909 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1910 > > │ 192 / 638566910980087984 / Changed │ 00:01:36 verbose #1911 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1912 > > │ 219 / 638566910980088203 / Changed │ 00:01:36 verbose #1913 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1914 > > │ 189 / 638566910980088392 / Changed │ 00:01:36 verbose #1915 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1916 > > │ 190 / 638566910980088582 / Changed │ 00:01:36 verbose #1917 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1918 > > │ 229 / 638566910980088811 / Changed │ 00:01:36 verbose #1919 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1920 > > │ 173 / 638566910980088984 / Changed │ 00:01:36 verbose #1921 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1922 > > │ 196 / 638566910980089180 / Changed │ 00:01:36 verbose #1923 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1924 > > │ 201 / 638566910980089381 / Changed │ 00:01:36 verbose #1925 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1926 > > │ 190 / 638566910980089571 / Changed │ 00:01:36 verbose #1927 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1928 > > │ 189 / 638566910980089760 / Changed │ 00:01:36 verbose #1929 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1930 > > │ 194 / 638566910980089954 / Changed │ 00:01:36 verbose #1931 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1932 > > │ 209 / 638566910980090163 / Changed │ 00:01:36 verbose #1933 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1934 > > │ 197 / 638566910980090360 / Changed │ 00:01:36 verbose #1935 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1936 > > │ 192 / 638566910980090552 / Changed │ 00:01:36 verbose #1937 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1938 > > │ 196 / 638566910980090748 / Changed │ 00:01:36 verbose #1939 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1940 > > │ 182 / 638566910980090930 / Changed │ 00:01:36 verbose #1941 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1942 > > │ 198 / 638566910980091128 / Changed │ 00:01:36 verbose #1943 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1944 > > │ 185 / 638566910980091313 / Changed │ 00:01:36 verbose #1945 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1946 > > │ 182 / 638566910980091495 / Changed │ 00:01:36 verbose #1947 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1948 > > │ 214 / 638566910980091709 / Changed │ 00:01:36 verbose #1949 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1950 > > │ 198 / 638566910980091907 / Changed │ 00:01:36 verbose #1951 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1952 > > │ 190 / 638566910980092097 / Changed │ 00:01:36 verbose #1953 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1954 > > │ 183 / 638566910980092280 / Changed │ 00:01:36 verbose #1955 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1956 > > │ 222 / 638566910980092502 / Changed │ 00:01:36 verbose #1957 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1958 > > │ 182 / 638566910980092684 / Changed │ 00:01:36 verbose #1959 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1960 > > │ 207 / 638566910980092891 / Changed │ 00:01:36 verbose #1961 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1962 > > │ 203 / 638566910980093094 / Changed │ 00:01:36 verbose #1963 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1964 > > │ 188 / 638566910980093282 / Changed │ 00:01:36 verbose #1965 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1966 > > │ 184 / 638566910980093466 / Changed │ 00:01:36 verbose #1967 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1968 > > │ 186 / 638566910980093652 / Changed │ 00:01:36 verbose #1969 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1970 > > │ 188 / 638566910980093840 / Changed │ 00:01:36 verbose #1971 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1972 > > │ 202 / 638566910980094042 / Changed │ 00:01:36 verbose #1973 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1974 > > │ 255 / 638566910980094297 / Changed │ 00:01:36 verbose #1975 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1976 > > │ 189 / 638566910980094486 / Changed │ 00:01:36 verbose #1977 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1978 > > │ 212 / 638566910980094698 / Changed │ 00:01:36 verbose #1979 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1980 > > │ 189 / 638566910980094887 / Changed │ 00:01:36 verbose #1981 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1982 > > │ 189 / 638566910980095076 / Changed │ 00:01:36 verbose #1983 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1984 > > │ 192 / 638566910980095268 / Changed │ 00:01:36 verbose #1985 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1986 > > │ 196 / 638566910980095464 / Changed │ 00:01:36 verbose #1987 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1988 > > │ 186 / 638566910980095650 / Changed │ 00:01:36 verbose #1989 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1990 > > │ 195 / 638566910980095845 / Changed │ 00:01:36 verbose #1991 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1992 > > │ 199 / 638566910980096044 / Changed │ 00:01:36 verbose #1993 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1994 > > │ 191 / 638566910980096235 / Changed │ 00:01:36 verbose #1995 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1996 > > │ 190 / 638566910980096425 / Changed │ 00:01:36 verbose #1997 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #1998 > > │ 191 / 638566910980096616 / Changed │ 00:01:36 verbose #1999 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2000 > > │ 199 / 638566910980096815 / Changed │ 00:01:36 verbose #2001 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2002 > > │ 187 / 638566910980097002 / Changed │ 00:01:36 verbose #2003 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2004 > > │ 187 / 638566910980097189 / Changed │ 00:01:36 verbose #2005 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2006 > > │ 201 / 638566910980097390 / Changed │ 00:01:36 verbose #2007 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2008 > > │ 228 / 638566910980097618 / Changed │ 00:01:36 verbose #2009 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2010 > > │ 202 / 638566910980097820 / Changed │ 00:01:36 verbose #2011 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2012 > > │ 200 / 638566910980098020 / Changed │ 00:01:36 verbose #2013 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2014 > > │ 180 / 638566910980098200 / Changed │ 00:01:36 verbose #2015 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2016 > > │ 189 / 638566910980098389 / Changed │ 00:01:36 verbose #2017 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2018 > > │ 231 / 638566910980098620 / Changed │ 00:01:36 verbose #2019 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2020 > > │ 229 / 638566910980098849 / Changed │ 00:01:36 verbose #2021 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2022 > > │ 248 / 638566910980099097 / Changed │ 00:01:36 verbose #2023 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2024 > > │ 201 / 638566910980099298 / Changed │ 00:01:36 verbose #2025 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2026 > > │ 208 / 638566910980099506 / Changed │ 00:01:36 verbose #2027 > > │ ("file1.txt",...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2028 > > │ 52 / 638566910980099558 / Changed │ 00:01:36 verbose #2029 > > │ ("file1.txt", │ 00:01:36 verbose #2030 > > │ ...11111111111111111111111111111111111111111111111b") │ 00:01:36 verbose #2031 > > │ 571397 / 638566910980670955 / Changed │ 00:01:36 verbose #2032 > > │ ("file2.tx...22222222222222222222222222222222222222222222222b") │ 00:01:36 verbose #2033 > > │ 292 / 638566910980671247 / Changed │ 00:01:36 verbose #2034 > > │ ("file2.txt",...22222222222222222222222222222222222222222222222b") │ 00:01:36 verbose #2035 > > │ 15133445 / 638566910995804692 / Renamed │ 00:01:36 verbose #2036 > > │ ("file1....1111111111111111111111111111111111111111111111b")) │ 00:01:36 verbose #2037 > > │ 504 / 638566910995805196 / Renamed │ 00:01:36 verbose #2038 > > │ ("file2.txt",...2222222222222222222222222222222222222222222222b")) │ 00:01:36 verbose #2039 > > │ 15058715 / 638566911010863911 / Changed │ 00:01:36 verbose #2040 > > │ ("file_1...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2041 > > │ 419 / 638566911010864330 / Changed │ 00:01:36 verbose #2042 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2043 > > │ 626 / 638566911010864956 / Changed │ 00:01:36 verbose #2044 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2045 > > │ 4133 / 638566911010869089 / Changed │ 00:01:36 verbose #2046 > > │ ("file_1.txt...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2047 > > │ 175 / 638566911010869264 / Changed │ 00:01:36 verbose #2048 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2049 > > │ 26 / 638566911010869290 / Changed │ 00:01:36 verbose #2050 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2051 > > │ 201 / 638566911010869491 / Changed │ 00:01:36 verbose #2052 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2053 > > │ 158 / 638566911010869649 / Changed │ 00:01:36 verbose #2054 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2055 > > │ 181 / 638566911010869830 / Changed │ 00:01:36 verbose #2056 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2057 > > │ 162 / 638566911010869992 / Changed │ 00:01:36 verbose #2058 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2059 > > │ 165 / 638566911010870157 / Changed │ 00:01:36 verbose #2060 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2061 > > │ 742 / 638566911010870899 / Changed │ 00:01:36 verbose #2062 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2063 > > │ 48 / 638566911010870947 / Changed │ 00:01:36 verbose #2064 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2065 > > │ 248 / 638566911010871195 / Changed │ 00:01:36 verbose #2066 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2067 > > │ 226 / 638566911010871421 / Changed │ 00:01:36 verbose #2068 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2069 > > │ 136 / 638566911010871557 / Changed │ 00:01:36 verbose #2070 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2071 > > │ 766 / 638566911010872323 / Changed │ 00:01:36 verbose #2072 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2073 > > │ 94 / 638566911010872417 / Changed │ 00:01:36 verbose #2074 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2075 > > │ 260 / 638566911010872677 / Changed │ 00:01:36 verbose #2076 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2077 > > │ 68 / 638566911010872745 / Changed │ 00:01:36 verbose #2078 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2079 > > │ 177 / 638566911010872922 / Changed │ 00:01:36 verbose #2080 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2081 > > │ 236 / 638566911010873158 / Changed │ 00:01:36 verbose #2082 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2083 > > │ 172 / 638566911010873330 / Changed │ 00:01:36 verbose #2084 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2085 > > │ 154 / 638566911010873484 / Changed │ 00:01:36 verbose #2086 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2087 > > │ 381 / 638566911010873865 / Changed │ 00:01:36 verbose #2088 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2089 > > │ 115 / 638566911010873980 / Changed │ 00:01:36 verbose #2090 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2091 > > │ 385 / 638566911010874365 / Changed │ 00:01:36 verbose #2092 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2093 > > │ 191 / 638566911010874556 / Changed │ 00:01:36 verbose #2094 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2095 > > │ 146 / 638566911010874702 / Changed │ 00:01:36 verbose #2096 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2097 > > │ 63 / 638566911010874765 / Changed │ 00:01:36 verbose #2098 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2099 > > │ 546 / 638566911010875311 / Changed │ 00:01:36 verbose #2100 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2101 > > │ 60 / 638566911010875371 / Changed │ 00:01:36 verbose #2102 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2103 > > │ 395 / 638566911010875766 / Changed │ 00:01:36 verbose #2104 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2105 > > │ 67 / 638566911010875833 / Changed │ 00:01:36 verbose #2106 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2107 > > │ 324 / 638566911010876157 / Changed │ 00:01:36 verbose #2108 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2109 > > │ 163 / 638566911010876320 / Changed │ 00:01:36 verbose #2110 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2111 > > │ 215 / 638566911010876535 / Changed │ 00:01:36 verbose #2112 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2113 > > │ 465 / 638566911010877000 / Changed │ 00:01:36 verbose #2114 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2115 > > │ 83 / 638566911010877083 / Changed │ 00:01:36 verbose #2116 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2117 > > │ 916 / 638566911010877999 / Changed │ 00:01:36 verbose #2118 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2119 > > │ 92 / 638566911010878091 / Changed │ 00:01:36 verbose #2120 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2121 > > │ 210 / 638566911010878301 / Changed │ 00:01:36 verbose #2122 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2123 > > │ 46 / 638566911010878347 / Changed │ 00:01:36 verbose #2124 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2125 > > │ 218 / 638566911010878565 / Changed │ 00:01:36 verbose #2126 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2127 > > │ 838 / 638566911010879403 / Changed │ 00:01:36 verbose #2128 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2129 > > │ 82 / 638566911010879485 / Changed │ 00:01:36 verbose #2130 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2131 > > │ 169 / 638566911010879654 / Changed │ 00:01:36 verbose #2132 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2133 > > │ 194 / 638566911010879848 / Changed │ 00:01:36 verbose #2134 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2135 > > │ 151 / 638566911010879999 / Changed │ 00:01:36 verbose #2136 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2137 > > │ 178 / 638566911010880177 / Changed │ 00:01:36 verbose #2138 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2139 > > │ 193 / 638566911010880370 / Changed │ 00:01:36 verbose #2140 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2141 > > │ 129 / 638566911010880499 / Changed │ 00:01:36 verbose #2142 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2143 > > │ 163 / 638566911010880662 / Changed │ 00:01:36 verbose #2144 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2145 > > │ 259 / 638566911010880921 / Changed │ 00:01:36 verbose #2146 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2147 > > │ 56 / 638566911010880977 / Changed │ 00:01:36 verbose #2148 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2149 > > │ 232 / 638566911010881209 / Changed │ 00:01:36 verbose #2150 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2151 > > │ 149 / 638566911010881358 / Changed │ 00:01:36 verbose #2152 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2153 > > │ 235 / 638566911010881593 / Changed │ 00:01:36 verbose #2154 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2155 > > │ 169 / 638566911010881762 / Changed │ 00:01:36 verbose #2156 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2157 > > │ 245 / 638566911010882007 / Changed │ 00:01:36 verbose #2158 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2159 > > │ 202 / 638566911010882209 / Changed │ 00:01:36 verbose #2160 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2161 > > │ 182 / 638566911010882391 / Changed │ 00:01:36 verbose #2162 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2163 > > │ 241 / 638566911010882632 / Changed │ 00:01:36 verbose #2164 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2165 > > │ 49 / 638566911010882681 / Changed │ 00:01:36 verbose #2166 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2167 > > │ 338 / 638566911010883019 / Changed │ 00:01:36 verbose #2168 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2169 > > │ 325 / 638566911010883344 / Changed │ 00:01:36 verbose #2170 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2171 > > │ 216 / 638566911010883560 / Changed │ 00:01:36 verbose #2172 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2173 > > │ 42 / 638566911010883602 / Changed │ 00:01:36 verbose #2174 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2175 > > │ 254 / 638566911010883856 / Changed │ 00:01:36 verbose #2176 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2177 > > │ 157 / 638566911010884013 / Changed │ 00:01:36 verbose #2178 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2179 > > │ 206 / 638566911010884219 / Changed │ 00:01:36 verbose #2180 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2181 > > │ 1001 / 638566911010885220 / Changed │ 00:01:36 verbose #2182 > > │ ("file_1.txt...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2183 > > │ 79 / 638566911010885299 / Changed │ 00:01:36 verbose #2184 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2185 > > │ 447 / 638566911010885746 / Changed │ 00:01:36 verbose #2186 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2187 > > │ 55 / 638566911010885801 / Changed │ 00:01:36 verbose #2188 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2189 > > │ 396 / 638566911010886197 / Changed │ 00:01:36 verbose #2190 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2191 > > │ 224 / 638566911010886421 / Changed │ 00:01:36 verbose #2192 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2193 > > │ 59 / 638566911010886480 / Changed │ 00:01:36 verbose #2194 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2195 > > │ 368 / 638566911010886848 / Changed │ 00:01:36 verbose #2196 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2197 > > │ 72 / 638566911010886920 / Changed │ 00:01:36 verbose #2198 > > │ ("file_1.txt",...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2199 > > │ 278 / 638566911010887198 / Changed │ 00:01:36 verbose #2200 > > │ ("file_1.txt"...11111111111111111111111111111111111111111111111c") │ 00:01:36 verbose #2201 > > │ 885511 / 638566911011772709 / Changed │ 00:01:36 verbose #2202 > > │ ("file_2.t...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2203 > > │ 354 / 638566911011773063 / Changed │ 00:01:36 verbose #2204 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2205 > > │ 66 / 638566911011773129 / Changed │ 00:01:36 verbose #2206 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2207 > > │ 350 / 638566911011773479 / Changed │ 00:01:36 verbose #2208 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2209 > > │ 503 / 638566911011773982 / Changed │ 00:01:36 verbose #2210 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2211 > > │ 67 / 638566911011774049 / Changed │ 00:01:36 verbose #2212 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2213 > > │ 244 / 638566911011774293 / Changed │ 00:01:36 verbose #2214 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2215 > > │ 177 / 638566911011774470 / Changed │ 00:01:36 verbose #2216 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2217 > > │ 176 / 638566911011774646 / Changed │ 00:01:36 verbose #2218 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2219 > > │ 258 / 638566911011774904 / Changed │ 00:01:36 verbose #2220 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2221 > > │ 62 / 638566911011774966 / Changed │ 00:01:36 verbose #2222 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2223 > > │ 176 / 638566911011775142 / Changed │ 00:01:36 verbose #2224 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2225 > > │ 194 / 638566911011775336 / Changed │ 00:01:36 verbose #2226 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2227 > > │ 56 / 638566911011775392 / Changed │ 00:01:36 verbose #2228 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2229 > > │ 219 / 638566911011775611 / Changed │ 00:01:36 verbose #2230 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2231 > > │ 187 / 638566911011775798 / Changed │ 00:01:36 verbose #2232 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2233 > > │ 161 / 638566911011775959 / Changed │ 00:01:36 verbose #2234 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2235 > > │ 160 / 638566911011776119 / Changed │ 00:01:36 verbose #2236 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2237 > > │ 170 / 638566911011776289 / Changed │ 00:01:36 verbose #2238 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2239 > > │ 174 / 638566911011776463 / Changed │ 00:01:36 verbose #2240 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2241 > > │ 167 / 638566911011776630 / Changed │ 00:01:36 verbose #2242 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2243 > > │ 193 / 638566911011776823 / Changed │ 00:01:36 verbose #2244 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2245 > > │ 169 / 638566911011776992 / Changed │ 00:01:36 verbose #2246 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2247 > > │ 182 / 638566911011777174 / Changed │ 00:01:36 verbose #2248 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2249 > > │ 170 / 638566911011777344 / Changed │ 00:01:36 verbose #2250 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2251 > > │ 178 / 638566911011777522 / Changed │ 00:01:36 verbose #2252 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2253 > > │ 152 / 638566911011777674 / Changed │ 00:01:36 verbose #2254 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2255 > > │ 162 / 638566911011777836 / Changed │ 00:01:36 verbose #2256 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2257 > > │ 213 / 638566911011778049 / Changed │ 00:01:36 verbose #2258 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2259 > > │ 153 / 638566911011778202 / Changed │ 00:01:36 verbose #2260 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2261 > > │ 174 / 638566911011778376 / Changed │ 00:01:36 verbose #2262 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2263 > > │ 172 / 638566911011778548 / Changed │ 00:01:36 verbose #2264 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2265 > > │ 172 / 638566911011778720 / Changed │ 00:01:36 verbose #2266 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2267 > > │ 162 / 638566911011778882 / Changed │ 00:01:36 verbose #2268 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2269 > > │ 175 / 638566911011779057 / Changed │ 00:01:36 verbose #2270 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2271 > > │ 196 / 638566911011779253 / Changed │ 00:01:36 verbose #2272 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2273 > > │ 224 / 638566911011779477 / Changed │ 00:01:36 verbose #2274 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2275 > > │ 210 / 638566911011779687 / Changed │ 00:01:36 verbose #2276 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2277 > > │ 175 / 638566911011779862 / Changed │ 00:01:36 verbose #2278 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2279 > > │ 184 / 638566911011780046 / Changed │ 00:01:36 verbose #2280 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2281 > > │ 186 / 638566911011780232 / Changed │ 00:01:36 verbose #2282 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2283 > > │ 180 / 638566911011780412 / Changed │ 00:01:36 verbose #2284 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2285 > > │ 193 / 638566911011780605 / Changed │ 00:01:36 verbose #2286 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2287 > > │ 204 / 638566911011780809 / Changed │ 00:01:36 verbose #2288 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2289 > > │ 184 / 638566911011780993 / Changed │ 00:01:36 verbose #2290 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2291 > > │ 188 / 638566911011781181 / Changed │ 00:01:36 verbose #2292 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2293 > > │ 188 / 638566911011781369 / Changed │ 00:01:36 verbose #2294 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2295 > > │ 179 / 638566911011781548 / Changed │ 00:01:36 verbose #2296 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2297 > > │ 194 / 638566911011781742 / Changed │ 00:01:36 verbose #2298 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2299 > > │ 201 / 638566911011781943 / Changed │ 00:01:36 verbose #2300 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2301 > > │ 186 / 638566911011782129 / Changed │ 00:01:36 verbose #2302 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2303 > > │ 199 / 638566911011782328 / Changed │ 00:01:36 verbose #2304 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2305 > > │ 201 / 638566911011782529 / Changed │ 00:01:36 verbose #2306 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2307 > > │ 179 / 638566911011782708 / Changed │ 00:01:36 verbose #2308 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2309 > > │ 185 / 638566911011782893 / Changed │ 00:01:36 verbose #2310 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2311 > > │ 186 / 638566911011783079 / Changed │ 00:01:36 verbose #2312 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2313 > > │ 177 / 638566911011783256 / Changed │ 00:01:36 verbose #2314 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2315 > > │ 187 / 638566911011783443 / Changed │ 00:01:36 verbose #2316 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2317 > > │ 216 / 638566911011783659 / Changed │ 00:01:36 verbose #2318 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2319 > > │ 165 / 638566911011783824 / Changed │ 00:01:36 verbose #2320 > > │ ("file_2.txt"...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2321 > > │ 65 / 638566911011783889 / Changed │ 00:01:36 verbose #2322 > > │ ("file_2.txt",...22222222222222222222222222222222222222222222222c") │ 00:01:36 verbose #2323 > > │ 15027115 / 638566911026811004 / Deleted "file_1.txt" │ 00:01:36 verbose #2324 > > │ 5020 / 638566911026816024 / Deleted "file_2.txt" │ 00:01:36 verbose #2325 > > │ [Created ("file1.txt", Some "1a"); Changed ("file1.txt", Some "1a"); Created │ 00:01:36 verbose #2326 > > │ ("file2.txt", Some "2a"); │ 00:01:36 verbose #2327 > > │ Changed ("file2.txt", Some "2a"); Changed ("file1.txt", Some "1b"); Changed │ 00:01:36 verbose #2328 > > │ ("file2.txt", Some "2b"); │ 00:01:36 verbose #2329 > > │ Renamed ("file1.txt", ("file_1.txt", Some "1b")); Renamed ("file2.txt", │ 00:01:36 verbose #2330 > > │ ("file_2.txt", Some "2b")); │ 00:01:36 verbose #2331 > > │ Changed ("file_1.txt", Some "1c"); Changed ("file_2.txt", Some "2c"); │ 00:01:36 verbose #2332 > > │ Deleted "file_1.txt"; Deleted "file_2.txt"] │ 00:01:36 verbose #2333 > > │ │ 00:01:36 verbose #2334 > > │ Some () │ 00:01:36 verbose #2335 > > │ │ 00:01:36 verbose #2336 > > │ │ 00:01:36 verbose #2337 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:36 verbose #2338 > > 00:01:36 verbose #2339 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:36 verbose #2340 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:36 verbose #2341 > > │ ### testEventsSorted (test) │ 00:01:36 verbose #2342 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:36 verbose #2343 > > 00:01:36 verbose #2344 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:36 verbose #2345 > > //// test 00:01:36 verbose #2346 > > 00:01:36 verbose #2347 > > let inline sortEvent event = 00:01:36 verbose #2348 > > match event with 00:01:36 verbose #2349 > > | FileSystemChange.Failure _ -> 0 00:01:36 verbose #2350 > > | FileSystemChange.Created _ -> 1 00:01:36 verbose #2351 > > | FileSystemChange.Changed _ -> 2 00:01:36 verbose #2352 > > | FileSystemChange.Renamed (_oldPath, _) -> 3 00:01:36 verbose #2353 > > | FileSystemChange.Deleted _ -> 4 00:01:36 verbose #2354 > > 00:01:36 verbose #2355 > > let inline formatEvents events = 00:01:36 verbose #2356 > > events 00:01:36 verbose #2357 > > |> Seq.toList 00:01:36 verbose #2358 > > |> List.sortBy (snd >> sortEvent) 00:01:36 verbose #2359 > > |> List.choose (fun (ticks, event) -> 00:01:36 verbose #2360 > > match event with 00:01:36 verbose #2361 > > | FileSystemChange.Failure _ -> 00:01:36 verbose #2362 > > None 00:01:36 verbose #2363 > > | FileSystemChange.Changed (path, _) -> 00:01:36 verbose #2364 > > Some (ticks, System.IO.Path.GetFileName path, nameof 00:01:36 verbose #2365 > > FileSystemChangeType.Changed) 00:01:36 verbose #2366 > > | FileSystemChange.Created (path, _) -> 00:01:36 verbose #2367 > > Some (ticks, System.IO.Path.GetFileName path, nameof 00:01:36 verbose #2368 > > FileSystemChangeType.Created) 00:01:36 verbose #2369 > > | FileSystemChange.Deleted path -> 00:01:36 verbose #2370 > > Some (ticks, System.IO.Path.GetFileName path, nameof 00:01:36 verbose #2371 > > FileSystemChangeType.Deleted) 00:01:36 verbose #2372 > > | FileSystemChange.Renamed (_oldPath, (path, _)) -> 00:01:36 verbose #2373 > > Some (ticks, System.IO.Path.GetFileName path, nameof 00:01:36 verbose #2374 > > FileSystemChangeType.Renamed) 00:01:36 verbose #2375 > > ) 00:01:36 verbose #2376 > > |> List.sortBy (fun (_, path, _) -> path) 00:01:36 verbose #2377 > > |> List.distinctBy (fun (_, path, event) -> path, event) 00:01:36 verbose #2378 > > 00:01:36 verbose #2379 > > let inline testEventsSorted 00:01:36 verbose #2380 > > (watchFn : string -> FSharp.Control.AsyncSeq<int64 * FileSystemChange> * 00:01:36 verbose #2381 > > IDisposable) 00:01:36 verbose #2382 > > write 00:01:36 verbose #2383 > > = 00:01:36 verbose #2384 > > let struct (tempDir, tempDisposable) = 00:01:36 verbose #2385 > > "FileSystem.testEventsSorted" 00:01:36 verbose #2386 > > |> SpiralCrypto.hash_text 00:01:36 verbose #2387 > > |> SpiralFileSystem.create_temp_dir' 00:01:36 verbose #2388 > > let stream, disposable = watchFn tempDir 00:01:36 verbose #2389 > > 00:01:36 verbose #2390 > > let events = System.Collections.Concurrent.ConcurrentBag () 00:01:36 verbose #2391 > > 00:01:36 verbose #2392 > > let inline iter () = 00:01:36 verbose #2393 > > stream 00:01:36 verbose #2394 > > |> FSharp.Control.AsyncSeq.iterAsyncParallel (fun event -> async { 00:01:36 verbose #2395 > > events.Add event }) 00:01:36 verbose #2396 > > 00:01:36 verbose #2397 > > let run = async { 00:01:36 verbose #2398 > > let! _ = iter () |> Async.StartChild 00:01:36 verbose #2399 > > do! Async.Sleep 250 00:01:36 verbose #2400 > > return! write tempDir 00:01:36 verbose #2401 > > } 00:01:36 verbose #2402 > > 00:01:36 verbose #2403 > > try 00:01:36 verbose #2404 > > run 00:01:36 verbose #2405 > > |> Async.runWithTimeout 5000 00:01:36 verbose #2406 > > |> _assertEqual (Some ()) 00:01:36 verbose #2407 > > finally 00:01:36 verbose #2408 > > disposable.Dispose () 00:01:36 verbose #2409 > > tempDisposable.Dispose () 00:01:36 verbose #2410 > > 00:01:36 verbose #2411 > > let events = formatEvents events 00:01:36 verbose #2412 > > 00:01:36 verbose #2413 > > let eventMap = 00:01:36 verbose #2414 > > events 00:01:36 verbose #2415 > > |> List.map (fun (ticks, path, event) -> path, (event, ticks)) 00:01:36 verbose #2416 > > |> List.groupBy fst 00:01:36 verbose #2417 > > |> List.map (fun (path, events) -> 00:01:36 verbose #2418 > > let event, _ticks = 00:01:36 verbose #2419 > > events 00:01:36 verbose #2420 > > |> List.map snd 00:01:36 verbose #2421 > > |> List.sortByDescending snd 00:01:36 verbose #2422 > > |> List.head 00:01:36 verbose #2423 > > 00:01:36 verbose #2424 > > path, event 00:01:36 verbose #2425 > > ) 00:01:36 verbose #2426 > > |> Map.ofList 00:01:36 verbose #2427 > > 00:01:36 verbose #2428 > > let eventList = 00:01:36 verbose #2429 > > events 00:01:36 verbose #2430 > > |> List.map (fun (_ticks, path, event) -> path, event) 00:01:36 verbose #2431 > > 00:01:36 verbose #2432 > > eventMap, eventList 00:01:36 verbose #2433 > > 00:01:36 verbose #2434 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:36 verbose #2435 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:36 verbose #2436 > > │ #### create and delete (test) │ 00:01:36 verbose #2437 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:36 verbose #2438 > > 00:01:36 verbose #2439 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:36 verbose #2440 > > //// test 00:01:36 verbose #2441 > > 00:01:36 verbose #2442 > > let inline write path = async { 00:01:36 verbose #2443 > > let n = 3 00:01:36 verbose #2444 > > 00:01:36 verbose #2445 > > for i = 1 to n do 00:01:36 verbose #2446 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:36 verbose #2447 > > $"file{i}.txt") 00:01:36 verbose #2448 > > 00:01:36 verbose #2449 > > for i = 1 to n do 00:01:36 verbose #2450 > > do! SpiralFileSystem.delete_file_async (path </> $"file{i}.txt") |> 00:01:36 verbose #2451 > > Async.Ignore 00:01:36 verbose #2452 > > 00:01:36 verbose #2453 > > do! Async.Sleep 150 00:01:36 verbose #2454 > > } 00:01:36 verbose #2455 > > 00:01:36 verbose #2456 > > let inline run () = 00:01:36 verbose #2457 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false)) 00:01:36 verbose #2458 > > write 00:01:36 verbose #2459 > > 00:01:36 verbose #2460 > > [[ 00:01:36 verbose #2461 > > "file1.txt", nameof FileSystemChangeType.Created 00:01:36 verbose #2462 > > "file1.txt", nameof FileSystemChangeType.Changed 00:01:36 verbose #2463 > > "file1.txt", nameof FileSystemChangeType.Deleted 00:01:36 verbose #2464 > > 00:01:36 verbose #2465 > > "file2.txt", nameof FileSystemChangeType.Created 00:01:36 verbose #2466 > > "file2.txt", nameof FileSystemChangeType.Changed 00:01:36 verbose #2467 > > "file2.txt", nameof FileSystemChangeType.Deleted 00:01:36 verbose #2468 > > 00:01:36 verbose #2469 > > "file3.txt", nameof FileSystemChangeType.Created 00:01:36 verbose #2470 > > "file3.txt", nameof FileSystemChangeType.Changed 00:01:36 verbose #2471 > > "file3.txt", nameof FileSystemChangeType.Deleted 00:01:36 verbose #2472 > > ]] 00:01:36 verbose #2473 > > |> _sequenceEqual eventList 00:01:36 verbose #2474 > > 00:01:36 verbose #2475 > > [[ 00:01:36 verbose #2476 > > "file1.txt", nameof FileSystemChangeType.Deleted 00:01:36 verbose #2477 > > "file2.txt", nameof FileSystemChangeType.Deleted 00:01:36 verbose #2478 > > "file3.txt", nameof FileSystemChangeType.Deleted 00:01:36 verbose #2479 > > ]] 00:01:36 verbose #2480 > > |> Map.ofList 00:01:36 verbose #2481 > > |> _sequenceEqual eventMap 00:01:36 verbose #2482 > > 00:01:36 verbose #2483 > > run 00:01:36 verbose #2484 > > |> retry_fn 3 00:01:36 verbose #2485 > > |> _assertEqual (Some ()) 00:01:37 verbose #2486 > > 00:01:37 verbose #2487 > > ╭─[ 1.02s - stdout ]───────────────────────────────────────────────────────────╮ 00:01:37 verbose #2488 > > │ Some () │ 00:01:37 verbose #2489 > > │ │ 00:01:37 verbose #2490 > > │ 00:00:16 debug #5 FileSystem.watchWithFilter / Disposing watch stream │ 00:01:37 verbose #2491 > > │ / filter: FileName, LastWrite │ 00:01:37 verbose #2492 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file1.txt", │ 00:01:37 verbose #2493 > > │ "Deleted"); ("file2.txt", "Created"); │ 00:01:37 verbose #2494 > > │ ("file2.txt", "Changed"); ("file2.txt", "Deleted"); ("file3.txt", │ 00:01:37 verbose #2495 > > │ "Created"); ("file3.txt", "Changed"); │ 00:01:37 verbose #2496 > > │ ("file3.txt", "Deleted")] │ 00:01:37 verbose #2497 > > │ │ 00:01:37 verbose #2498 > > │ map [("file1.txt", "Deleted"); ("file2.txt", "Deleted"); ("file3.txt", │ 00:01:37 verbose #2499 > > │ "Deleted")] │ 00:01:37 verbose #2500 > > │ │ 00:01:37 verbose #2501 > > │ Some () │ 00:01:37 verbose #2502 > > │ │ 00:01:37 verbose #2503 > > │ │ 00:01:37 verbose #2504 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:37 verbose #2505 > > 00:01:37 verbose #2506 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:37 verbose #2507 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:37 verbose #2508 > > │ #### change (test) │ 00:01:37 verbose #2509 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:37 verbose #2510 > > 00:01:37 verbose #2511 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:37 verbose #2512 > > //// test 00:01:37 verbose #2513 > > 00:01:37 verbose #2514 > > let inline write path = async { 00:01:37 verbose #2515 > > let n = 2 00:01:37 verbose #2516 > > 00:01:37 verbose #2517 > > for i = 1 to n do 00:01:37 verbose #2518 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:37 verbose #2519 > > $"file{i}.txt") 00:01:37 verbose #2520 > > 00:01:37 verbose #2521 > > for i = 1 to n do 00:01:37 verbose #2522 > > do! "" |> SpiralFileSystem.write_all_text_async (path </> 00:01:37 verbose #2523 > > $"file{i}.txt") 00:01:37 verbose #2524 > > 00:01:37 verbose #2525 > > for i = 1 to n do 00:01:37 verbose #2526 > > do! SpiralFileSystem.delete_file_async (path </> $"file{i}.txt") |> 00:01:37 verbose #2527 > > Async.Ignore 00:01:37 verbose #2528 > > 00:01:37 verbose #2529 > > do! Async.Sleep 150 00:01:37 verbose #2530 > > } 00:01:37 verbose #2531 > > 00:01:37 verbose #2532 > > let inline run () = 00:01:37 verbose #2533 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false)) 00:01:37 verbose #2534 > > write 00:01:37 verbose #2535 > > 00:01:37 verbose #2536 > > [[ 00:01:37 verbose #2537 > > "file1.txt", nameof FileSystemChangeType.Created 00:01:37 verbose #2538 > > "file1.txt", nameof FileSystemChangeType.Changed 00:01:37 verbose #2539 > > "file1.txt", nameof FileSystemChangeType.Deleted 00:01:37 verbose #2540 > > 00:01:37 verbose #2541 > > "file2.txt", nameof FileSystemChangeType.Created 00:01:37 verbose #2542 > > "file2.txt", nameof FileSystemChangeType.Changed 00:01:37 verbose #2543 > > "file2.txt", nameof FileSystemChangeType.Deleted 00:01:37 verbose #2544 > > ]] 00:01:37 verbose #2545 > > |> _sequenceEqual eventList 00:01:37 verbose #2546 > > 00:01:37 verbose #2547 > > [[ 00:01:37 verbose #2548 > > "file1.txt", nameof FileSystemChangeType.Deleted 00:01:37 verbose #2549 > > "file2.txt", nameof FileSystemChangeType.Deleted 00:01:37 verbose #2550 > > ]] 00:01:37 verbose #2551 > > |> Map.ofList 00:01:37 verbose #2552 > > |> _sequenceEqual eventMap 00:01:37 verbose #2553 > > 00:01:37 verbose #2554 > > run 00:01:37 verbose #2555 > > |> retry_fn 3 00:01:37 verbose #2556 > > |> _assertEqual (Some ()) 00:01:38 verbose #2557 > > 00:01:38 verbose #2558 > > ╭─[ 1.00s - stdout ]───────────────────────────────────────────────────────────╮ 00:01:38 verbose #2559 > > │ Some () │ 00:01:38 verbose #2560 > > │ │ 00:01:38 verbose #2561 > > │ 00:00:17 debug #6 FileSystem.watchWithFilter / Disposing watch stream │ 00:01:38 verbose #2562 > > │ / filter: FileName, LastWrite │ 00:01:38 verbose #2563 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file1.txt", │ 00:01:38 verbose #2564 > > │ "Deleted"); ("file2.txt", "Created"); │ 00:01:38 verbose #2565 > > │ ("file2.txt", "Changed"); ("file2.txt", "Deleted")] │ 00:01:38 verbose #2566 > > │ │ 00:01:38 verbose #2567 > > │ map [("file1.txt", "Deleted"); ("file2.txt", "Deleted")] │ 00:01:38 verbose #2568 > > │ │ 00:01:38 verbose #2569 > > │ Some () │ 00:01:38 verbose #2570 > > │ │ 00:01:38 verbose #2571 > > │ │ 00:01:38 verbose #2572 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:38 verbose #2573 > > 00:01:38 verbose #2574 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:38 verbose #2575 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:38 verbose #2576 > > │ #### rename (test) │ 00:01:38 verbose #2577 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:38 verbose #2578 > > 00:01:38 verbose #2579 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:38 verbose #2580 > > //// test 00:01:38 verbose #2581 > > 00:01:38 verbose #2582 > > let inline write path = async { 00:01:38 verbose #2583 > > let n = 2 00:01:38 verbose #2584 > > 00:01:38 verbose #2585 > > for i = 1 to n do 00:01:38 verbose #2586 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:38 verbose #2587 > > $"file{i}.txt") 00:01:38 verbose #2588 > > 00:01:38 verbose #2589 > > for i = 1 to n do 00:01:38 verbose #2590 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path 00:01:38 verbose #2591 > > </> $"file_{i}.txt") |> Async.Ignore 00:01:38 verbose #2592 > > 00:01:38 verbose #2593 > > for i = 1 to n do 00:01:38 verbose #2594 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |> 00:01:38 verbose #2595 > > Async.Ignore 00:01:38 verbose #2596 > > 00:01:38 verbose #2597 > > do! Async.Sleep 150 00:01:38 verbose #2598 > > } 00:01:38 verbose #2599 > > 00:01:38 verbose #2600 > > let inline run () = 00:01:38 verbose #2601 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false)) 00:01:38 verbose #2602 > > write 00:01:38 verbose #2603 > > 00:01:38 verbose #2604 > > [[ 00:01:38 verbose #2605 > > "file1.txt", nameof FileSystemChangeType.Created 00:01:38 verbose #2606 > > "file1.txt", nameof FileSystemChangeType.Changed 00:01:38 verbose #2607 > > "file2.txt", nameof FileSystemChangeType.Created 00:01:38 verbose #2608 > > "file2.txt", nameof FileSystemChangeType.Changed 00:01:38 verbose #2609 > > 00:01:38 verbose #2610 > > "file_1.txt", nameof FileSystemChangeType.Renamed 00:01:38 verbose #2611 > > "file_1.txt", nameof FileSystemChangeType.Deleted 00:01:38 verbose #2612 > > 00:01:38 verbose #2613 > > "file_2.txt", nameof FileSystemChangeType.Renamed 00:01:38 verbose #2614 > > "file_2.txt", nameof FileSystemChangeType.Deleted 00:01:38 verbose #2615 > > ]] 00:01:38 verbose #2616 > > |> _sequenceEqual eventList 00:01:38 verbose #2617 > > 00:01:38 verbose #2618 > > [[ 00:01:38 verbose #2619 > > "file1.txt", nameof FileSystemChangeType.Changed 00:01:38 verbose #2620 > > "file2.txt", nameof FileSystemChangeType.Changed 00:01:38 verbose #2621 > > "file_1.txt", nameof FileSystemChangeType.Deleted 00:01:38 verbose #2622 > > "file_2.txt", nameof FileSystemChangeType.Deleted 00:01:38 verbose #2623 > > ]] 00:01:38 verbose #2624 > > |> Map.ofList 00:01:38 verbose #2625 > > |> _sequenceEqual eventMap 00:01:38 verbose #2626 > > 00:01:38 verbose #2627 > > run 00:01:38 verbose #2628 > > |> retry_fn 3 00:01:38 verbose #2629 > > |> _assertEqual (Some ()) 00:01:39 verbose #2630 > > 00:01:39 verbose #2631 > > ╭─[ 1.10s - stdout ]───────────────────────────────────────────────────────────╮ 00:01:39 verbose #2632 > > │ Some () │ 00:01:39 verbose #2633 > > │ │ 00:01:39 verbose #2634 > > │ 00:00:18 debug #7 FileSystem.watchWithFilter / Disposing watch stream │ 00:01:39 verbose #2635 > > │ / filter: FileName, LastWrite │ 00:01:39 verbose #2636 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file2.txt", │ 00:01:39 verbose #2637 > > │ "Created"); ("file2.txt", "Changed"); │ 00:01:39 verbose #2638 > > │ ("file_1.txt", "Renamed"); ("file_1.txt", "Deleted"); ("file_2.txt", │ 00:01:39 verbose #2639 > > │ "Renamed"); ("file_2.txt", "Deleted")] │ 00:01:39 verbose #2640 > > │ │ 00:01:39 verbose #2641 > > │ map [("file1.txt", "Changed"); ("file2.txt", "Changed"); ("file_1.txt", │ 00:01:39 verbose #2642 > > │ "Deleted"); ("file_2.txt", "Deleted")] │ 00:01:39 verbose #2643 > > │ │ 00:01:39 verbose #2644 > > │ Some () │ 00:01:39 verbose #2645 > > │ │ 00:01:39 verbose #2646 > > │ │ 00:01:39 verbose #2647 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:39 verbose #2648 > > 00:01:39 verbose #2649 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:39 verbose #2650 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:39 verbose #2651 > > │ #### full (test) │ 00:01:39 verbose #2652 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:39 verbose #2653 > > 00:01:39 verbose #2654 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:39 verbose #2655 > > //// test 00:01:39 verbose #2656 > > 00:01:39 verbose #2657 > > let inline write path = async { 00:01:39 verbose #2658 > > let n = 2 00:01:39 verbose #2659 > > 00:01:39 verbose #2660 > > for i = 1 to n do 00:01:39 verbose #2661 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:39 verbose #2662 > > $"file{i}.txt") 00:01:39 verbose #2663 > > 00:01:39 verbose #2664 > > for i = 1 to n do 00:01:39 verbose #2665 > > do! "" |> SpiralFileSystem.write_all_text_async (path </> 00:01:39 verbose #2666 > > $"file{i}.txt") 00:01:39 verbose #2667 > > 00:01:39 verbose #2668 > > for i = 1 to n do 00:01:39 verbose #2669 > > do! path </> $"file{i}.txt" |> SpiralFileSystem.move_file_async (path 00:01:39 verbose #2670 > > </> $"file_{i}.txt") |> Async.Ignore 00:01:39 verbose #2671 > > 00:01:39 verbose #2672 > > for i = 1 to n do 00:01:39 verbose #2673 > > do! $"{i}" |> SpiralFileSystem.write_all_text_async (path </> 00:01:39 verbose #2674 > > $"file_{i}.txt") 00:01:39 verbose #2675 > > 00:01:39 verbose #2676 > > for i = 1 to n do 00:01:39 verbose #2677 > > do! SpiralFileSystem.delete_file_async (path </> $"file_{i}.txt") |> 00:01:39 verbose #2678 > > Async.Ignore 00:01:39 verbose #2679 > > 00:01:39 verbose #2680 > > do! Async.Sleep 150 00:01:39 verbose #2681 > > } 00:01:39 verbose #2682 > > 00:01:39 verbose #2683 > > let inline run () = 00:01:39 verbose #2684 > > let eventMap, eventList = testEventsSorted (watchDirectory (fun _ -> false)) 00:01:39 verbose #2685 > > write 00:01:39 verbose #2686 > > 00:01:39 verbose #2687 > > [[ 00:01:39 verbose #2688 > > "file1.txt", nameof FileSystemChangeType.Created 00:01:39 verbose #2689 > > "file1.txt", nameof FileSystemChangeType.Changed 00:01:39 verbose #2690 > > "file2.txt", nameof FileSystemChangeType.Created 00:01:39 verbose #2691 > > "file2.txt", nameof FileSystemChangeType.Changed 00:01:39 verbose #2692 > > 00:01:39 verbose #2693 > > "file_1.txt", nameof FileSystemChangeType.Changed 00:01:39 verbose #2694 > > "file_1.txt", nameof FileSystemChangeType.Renamed 00:01:39 verbose #2695 > > "file_1.txt", nameof FileSystemChangeType.Deleted 00:01:39 verbose #2696 > > 00:01:39 verbose #2697 > > "file_2.txt", nameof FileSystemChangeType.Changed 00:01:39 verbose #2698 > > "file_2.txt", nameof FileSystemChangeType.Renamed 00:01:39 verbose #2699 > > "file_2.txt", nameof FileSystemChangeType.Deleted 00:01:39 verbose #2700 > > ]] 00:01:39 verbose #2701 > > |> _sequenceEqual eventList 00:01:39 verbose #2702 > > 00:01:39 verbose #2703 > > [[ 00:01:39 verbose #2704 > > "file1.txt", nameof FileSystemChangeType.Changed 00:01:39 verbose #2705 > > "file2.txt", nameof FileSystemChangeType.Changed 00:01:39 verbose #2706 > > "file_1.txt", nameof FileSystemChangeType.Deleted 00:01:39 verbose #2707 > > "file_2.txt", nameof FileSystemChangeType.Deleted 00:01:39 verbose #2708 > > ]] 00:01:39 verbose #2709 > > |> Map.ofList 00:01:39 verbose #2710 > > |> _sequenceEqual eventMap 00:01:39 verbose #2711 > > 00:01:39 verbose #2712 > > run 00:01:39 verbose #2713 > > |> retry_fn 3 00:01:39 verbose #2714 > > |> _assertEqual (Some ()) 00:01:40 verbose #2715 > > 00:01:40 verbose #2716 > > ╭─[ 1.22s - stdout ]───────────────────────────────────────────────────────────╮ 00:01:40 verbose #2717 > > │ Some () │ 00:01:40 verbose #2718 > > │ │ 00:01:40 verbose #2719 > > │ 00:00:19 debug #8 FileSystem.watchWithFilter / Disposing watch stream │ 00:01:40 verbose #2720 > > │ / filter: FileName, LastWrite │ 00:01:40 verbose #2721 > > │ [("file1.txt", "Created"); ("file1.txt", "Changed"); ("file2.txt", │ 00:01:40 verbose #2722 > > │ "Created"); ("file2.txt", "Changed"); │ 00:01:40 verbose #2723 > > │ ("file_1.txt", "Changed"); ("file_1.txt", "Renamed"); ("file_1.txt", │ 00:01:40 verbose #2724 > > │ "Deleted"); ("file_2.txt", "Changed"); │ 00:01:40 verbose #2725 > > │ ("file_2.txt", "Renamed"); ("file_2.txt", "Deleted")] │ 00:01:40 verbose #2726 > > │ │ 00:01:40 verbose #2727 > > │ map [("file1.txt", "Changed"); ("file2.txt", "Changed"); ("file_1.txt", │ 00:01:40 verbose #2728 > > │ "Deleted"); ("file_2.txt", "Deleted")] │ 00:01:40 verbose #2729 > > │ │ 00:01:40 verbose #2730 > > │ Some () │ 00:01:40 verbose #2731 > > │ │ 00:01:40 verbose #2732 > > │ │ 00:01:40 verbose #2733 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:40 verbose #2734 > 00:00:33 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 137542 } 00:01:40 verbose #2735 > 00:00:33 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:41 verbose #2736 > 00:00:33 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.ipynb to html 00:01:41 verbose #2737 > 00:00:33 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:01:41 verbose #2738 > 00:00:33 verbose #7 ! validate(nb) 00:01:41 verbose #2739 > 00:00:34 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:01:41 verbose #2740 > 00:00:34 verbose #9 ! return _pygments_highlight( 00:01:42 verbose #2741 > 00:00:34 verbose #10 ! [NbConvertApp] Writing 428045 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.html 00:01:42 verbose #2742 > 00:00:34 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 904 } 00:01:42 verbose #2743 > 00:00:34 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 904 } 00:01:42 verbose #2744 > 00:00:34 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/FileSystem.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:42 verbose #2745 > 00:00:34 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:01:42 verbose #2746 > 00:00:34 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:01:42 verbose #2747 > 00:00:35 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 138505 } 00:01:42 debug #2748 runtime.execute_with_options_async / { exit_code = 0; output_length = 144924 } 00:01:42 debug #7 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path FileSystem.dib --retries 3 00:01:42 debug #2749 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path Runtime.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:42 verbose #2750 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Runtime.dib", "--retries", "3"])) } 00:01:42 verbose #2751 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:01:44 verbose #2752 > > 00:01:44 verbose #2753 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:44 verbose #2754 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:44 verbose #2755 > > │ # Runtime (Polyglot) │ 00:01:44 verbose #2756 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:46 verbose #2757 > > 00:01:46 verbose #2758 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:46 verbose #2759 > > #r 00:01:46 verbose #2760 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan 00:01:46 verbose #2761 > > dard2.1/FSharp.Control.AsyncSeq.dll" 00:01:46 verbose #2762 > > #r 00:01:46 verbose #2763 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 00:01:46 verbose #2764 > > 0/System.Reactive.dll" 00:01:46 verbose #2765 > > #r 00:01:46 verbose #2766 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib 00:01:46 verbose #2767 > > netstandard2.0/System.Reactive.Linq.dll" 00:01:46 verbose #2768 > > #r 00:01:46 verbose #2769 > > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" 00:01:57 verbose #2770 > > 00:01:57 verbose #2771 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #2772 > > #if !INTERACTIVE 00:01:57 verbose #2773 > > open Lib 00:01:57 verbose #2774 > > #endif 00:01:57 verbose #2775 > > 00:01:57 verbose #2776 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #2777 > > open Common 00:01:57 verbose #2778 > > 00:01:57 verbose #2779 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #2780 > > //// test 00:01:57 verbose #2781 > > 00:01:57 verbose #2782 > > open SpiralFileSystem.Operators 00:01:57 verbose #2783 > > 00:01:57 verbose #2784 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:57 verbose #2785 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:57 verbose #2786 > > │ ## parseArgs │ 00:01:57 verbose #2787 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:57 verbose #2788 > > 00:01:57 verbose #2789 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #2790 > > let inline parseArgs<'T when 'T :> Argu.IArgParserTemplate> args = 00:01:57 verbose #2791 > > let assemblyName = 00:01:57 verbose #2792 > > System.Reflection.Assembly.GetEntryAssembly().GetName().Name 00:01:57 verbose #2793 > > let errorHandler : Argu.IExiter = 00:01:57 verbose #2794 > > if [[ "Microsoft.DotNet.Interactive.App"; "dotnet-repl" ]] |> 00:01:57 verbose #2795 > > List.contains assemblyName 00:01:57 verbose #2796 > > then Argu.ExceptionExiter () 00:01:57 verbose #2797 > > else Argu.ProcessExiter (function Argu.ErrorCode.HelpText -> None | _ -> 00:01:57 verbose #2798 > > Some System.ConsoleColor.Red) 00:01:57 verbose #2799 > > 00:01:57 verbose #2800 > > let parser = 00:01:57 verbose #2801 > > Argu.ArgumentParser.Create<'T> ( 00:01:57 verbose #2802 > > programName = $"{assemblyName}{SpiralPlatform.get_executable_suffix 00:01:57 verbose #2803 > > ()}", 00:01:57 verbose #2804 > > errorHandler = errorHandler 00:01:57 verbose #2805 > > ) 00:01:57 verbose #2806 > > 00:01:57 verbose #2807 > > parser.ParseCommandLine args 00:01:57 verbose #2808 > > 00:01:57 verbose #2809 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #2810 > > //// test 00:01:57 verbose #2811 > > 00:01:57 verbose #2812 > > [[<RequireQualifiedAccess>]] 00:01:57 verbose #2813 > > type Arguments = 00:01:57 verbose #2814 > > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce; 00:01:57 verbose #2815 > > Argu.ArguAttributes.Last>]] 00:01:57 verbose #2816 > > Paths of paths : string list 00:01:57 verbose #2817 > > 00:01:57 verbose #2818 > > interface Argu.IArgParserTemplate with 00:01:57 verbose #2819 > > member s.Usage = 00:01:57 verbose #2820 > > match s with 00:01:57 verbose #2821 > > | Paths _ -> nameof Paths 00:01:57 verbose #2822 > > 00:01:57 verbose #2823 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #2824 > > //// test 00:01:57 verbose #2825 > > 00:01:57 verbose #2826 > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () 00:01:58 verbose #2827 > > 00:01:58 verbose #2828 > > ╭─[ 92.00ms - return value ]───────────────────────────────────────────────────╮ 00:01:58 verbose #2829 > > │ "USAGE: dotnet-repl [--help] <paths>... │ 00:01:58 verbose #2830 > > │ │ 00:01:58 verbose #2831 > > │ PATHS: │ 00:01:58 verbose #2832 > > │ │ 00:01:58 verbose #2833 > > │ <paths>... Paths │ 00:01:58 verbose #2834 > > │ │ 00:01:58 verbose #2835 > > │ OPTIONS: │ 00:01:58 verbose #2836 > > │ │ 00:01:58 verbose #2837 > > │ --help display this list of options. │ 00:01:58 verbose #2838 > > │ " │ 00:01:58 verbose #2839 > > │ │ 00:01:58 verbose #2840 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:58 verbose #2841 > > 00:01:58 verbose #2842 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:58 verbose #2843 > > //// test 00:01:58 verbose #2844 > > 00:01:58 verbose #2845 > > fun () -> parseArgs<Arguments> [[||]] |> ignore 00:01:58 verbose #2846 > > |> _throwsC (fun ex _ -> 00:01:58 verbose #2847 > > SpiralSm.format_exception ex 00:01:58 verbose #2848 > > |> _stringContains "Argu.ArguParseException: ERROR: missing parameter 00:01:58 verbose #2849 > > '<paths>...'." 00:01:58 verbose #2850 > > ) 00:01:58 verbose #2851 > > 00:01:58 verbose #2852 > > ╭─[ 39.74ms - stdout ]─────────────────────────────────────────────────────────╮ 00:01:58 verbose #2853 > > │ <fun:it@3-3> │ 00:01:58 verbose #2854 > > │ │ 00:01:58 verbose #2855 > > │ "Argu.ArguParseException: ERROR: missing parameter '<paths>...'. │ 00:01:58 verbose #2856 > > │ USAGE: dotnet-repl [--help] <paths>... │ 00:01:58 verbose #2857 > > │ │ 00:01:58 verbose #2858 > > │ PATHS: │ 00:01:58 verbose #2859 > > │ │ 00:01:58 verbose #2860 > > │ <paths>... Paths │ 00:01:58 verbose #2861 > > │ │ 00:01:58 verbose #2862 > > │ OPTIONS: │ 00:01:58 verbose #2863 > > │ │ 00:01:58 verbose #2864 > > │ --help display this list of options. │ 00:01:58 verbose #2865 > > │ " │ 00:01:58 verbose #2866 > > │ │ 00:01:58 verbose #2867 > > │ │ 00:01:58 verbose #2868 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:58 verbose #2869 > > 00:01:58 verbose #2870 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:58 verbose #2871 > > let inline parseAllArgs<'T when 'T :> Argu.IArgParserTemplate> args = 00:01:58 verbose #2872 > > args 00:01:58 verbose #2873 > > |> parseArgs<'T> 00:01:58 verbose #2874 > > |> fun results -> results.GetAllResults () 00:01:58 verbose #2875 > > 00:01:58 verbose #2876 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:58 verbose #2877 > > //// test 00:01:58 verbose #2878 > > 00:01:58 verbose #2879 > > [[<RequireQualifiedAccess>]] 00:01:58 verbose #2880 > > type Arguments = 00:01:58 verbose #2881 > > | [[<Argu.ArguAttributes.MainCommand; Argu.ArguAttributes.ExactlyOnce; 00:01:58 verbose #2882 > > Argu.ArguAttributes.Last>]] 00:01:58 verbose #2883 > > Paths of paths : string list 00:01:58 verbose #2884 > > 00:01:58 verbose #2885 > > interface Argu.IArgParserTemplate with 00:01:58 verbose #2886 > > member s.Usage = 00:01:58 verbose #2887 > > match s with 00:01:58 verbose #2888 > > | Paths _ -> nameof Paths 00:01:58 verbose #2889 > > 00:01:58 verbose #2890 > > parseAllArgs<Arguments> [[| "a b"; "c" |]] 00:01:58 verbose #2891 > > |> _assertEqual [[ Arguments.Paths [[ "a b"; "c" ]] ]] 00:01:58 verbose #2892 > > 00:01:58 verbose #2893 > > ╭─[ 64.73ms - stdout ]─────────────────────────────────────────────────────────╮ 00:01:58 verbose #2894 > > │ [Paths ["a b"; "c"]] │ 00:01:58 verbose #2895 > > │ │ 00:01:58 verbose #2896 > > │ │ 00:01:58 verbose #2897 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:58 verbose #2898 > > 00:01:58 verbose #2899 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:58 verbose #2900 > > let inline parseArgsMap<'T when 'T :> Argu.IArgParserTemplate> args = 00:01:58 verbose #2901 > > args 00:01:58 verbose #2902 > > |> parseAllArgs<'T> 00:01:58 verbose #2903 > > |> List.groupBy CommonFSharp.getUnionCaseName<'T> 00:01:58 verbose #2904 > > |> Map.ofList 00:01:58 verbose #2905 > > 00:01:58 verbose #2906 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:58 verbose #2907 > > //// test 00:01:58 verbose #2908 > > 00:01:58 verbose #2909 > > parseArgsMap<Arguments> [[| "a b"; "c" |]] 00:01:58 verbose #2910 > > |> _assertEqual ( 00:01:58 verbose #2911 > > [[ nameof Arguments.Paths, [[ Arguments.Paths [[ "a b"; "c" ]] ]] ]] 00:01:58 verbose #2912 > > |> Map.ofList 00:01:58 verbose #2913 > > ) 00:01:58 verbose #2914 > > 00:01:58 verbose #2915 > > ╭─[ 34.63ms - stdout ]─────────────────────────────────────────────────────────╮ 00:01:58 verbose #2916 > > │ map [("Paths", [Paths ["a b"; "c"]])] │ 00:01:58 verbose #2917 > > │ │ 00:01:58 verbose #2918 > > │ │ 00:01:58 verbose #2919 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:58 verbose #2920 > 00:00:15 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 8856 } 00:01:58 verbose #2921 > 00:00:15 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:59 verbose #2922 > 00:00:16 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.ipynb to html 00:01:59 verbose #2923 > 00:00:16 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:01:59 verbose #2924 > 00:00:16 verbose #7 ! validate(nb) 00:01:59 verbose #2925 > 00:00:16 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:01:59 verbose #2926 > 00:00:16 verbose #9 ! return _pygments_highlight( 00:01:59 verbose #2927 > 00:00:16 verbose #10 ! [NbConvertApp] Writing 292914 bytes to /home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.html 00:01:59 verbose #2928 > 00:00:16 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:01:59 verbose #2929 > 00:00:16 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:01:59 verbose #2930 > 00:00:16 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/fsharp/Runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:59 verbose #2931 > 00:00:17 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:01:59 verbose #2932 > 00:00:17 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:01:59 verbose #2933 > 00:00:17 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 9813 } 00:01:59 debug #2934 runtime.execute_with_options_async / { exit_code = 0; output_length = 12939 } 00:01:59 debug #8 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Runtime.dib --retries 3 00:01:59 verbose #28 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:01:59 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 writeDibCode / output: Fs / path: Common.dib 00:00:00 debug #1 writeDibCode / output: Fs / path: CommonFSharp.dib 00:00:00 debug #1 writeDibCode / output: Fs / path: Async.dib 00:00:00 debug #1 writeDibCode / output: Fs / path: AsyncSeq.dib 00:00:00 debug #3 parseDibCode / output: Fs / file: CommonFSharp.dib 00:00:00 debug #4 parseDibCode / output: Fs / file: Async.dib 00:00:00 debug #5 parseDibCode / output: Fs / file: AsyncSeq.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: Common.dib 00:00:00 debug #7 writeDibCode / output: Fs / path: Runtime.dib 00:00:00 debug #8 parseDibCode / output: Fs / file: Runtime.dib 00:00:00 debug #7 writeDibCode / output: Fs / path: FileSystem.dib 00:00:00 debug #9 parseDibCode / output: Fs / file: FileSystem.dib
In [ ]:
{ pwsh ../lib/math/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path math.dib --retries 5; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "math.dib", "--retries", "5"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/math/math.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/math/math.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # math │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:05 verbose #15 > > 00:00:05 verbose #16 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:05 verbose #17 > > open testing 00:00:05 verbose #18 > > open rust.rust_operators 00:00:05 verbose #19 > > open rust 00:00:05 verbose #20 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/75192e2bd8a105a977baa446a488b2c386f635a602336316ab60fff71bf46d9c/main.spi 00:00:08 verbose #21 > > 00:00:08 verbose #22 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #23 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #24 > > │ ## complex │ 00:00:08 verbose #25 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #26 > > 00:00:08 verbose #27 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #28 > > nominal complex t = 00:00:08 verbose #29 > > `( 00:00:08 verbose #30 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:08 verbose #31 > > Fable.Core.Emit(\"num_complex::Complex<$0>\")>]]\n#endif\ntype 00:00:08 verbose #32 > > num_complex_Complex<'T> = class end" 00:00:08 verbose #33 > > $'' : $'num_complex_Complex<`t>' 00:00:08 verbose #34 > > ) 00:00:08 verbose #35 > > 00:00:08 verbose #36 > > inl complex forall t. ((re : t), (im : t)) : complex t = 00:00:08 verbose #37 > > !\\((re, im), $'"num_complex::Complex::new($0, $1)"') 00:00:08 verbose #38 > 00:00:08 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e51fd2598ab4009e07c692c0376fc887241c677686a5908afa7955bea19997a8/main.spi 00:00:08 verbose #39 > > 00:00:08 verbose #40 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #41 > > //// test 00:00:08 verbose #42 > > ///! rust -d num-complex 00:00:08 verbose #43 > > 00:00:08 verbose #44 > > complex (0f64, 0f64) 00:00:08 verbose #45 > > |> sm'.format' 00:00:08 verbose #46 > > |> sm'.from_std_string 00:00:08 verbose #47 > > |> _assert_eq "0+0i" 00:00:08 verbose #48 > 00:00:08 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b5d334cbd4293641e471987ecb6548bc70790fb39219634e85a02871d97e62c4/main.spi 00:00:20 verbose #49 > > 00:00:20 verbose #50 > > ╭─[ 11.44s - return value ]────────────────────────────────────────────────────╮ 00:00:20 verbose #51 > > │ assert_eq / actual: "0+0i" / expected: "0+0i" │ 00:00:20 verbose #52 > > │ │ 00:00:20 verbose #53 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #54 > > 00:00:20 verbose #55 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #56 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #57 > > │ ## re │ 00:00:20 verbose #58 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #59 > > 00:00:20 verbose #60 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #61 > > inl re forall t. (c : complex t) : t = 00:00:20 verbose #62 > > !\\(c, $'"$0.re"') 00:00:20 verbose #63 > 00:00:19 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/98a6c290584dd4b1c5a62de3f24f97e15b8ead9edf2c5118562140b096adbf9c/main.spi 00:00:20 verbose #64 > > 00:00:20 verbose #65 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #66 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #67 > > │ ## im │ 00:00:20 verbose #68 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #69 > > 00:00:20 verbose #70 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #71 > > inl im forall t. (c : complex t) : t = 00:00:20 verbose #72 > > !\\(c, $'"$0.im"') 00:00:20 verbose #73 > 00:00:19 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/382a3434375cedd01646c4dbd2961bb2b62cb7ac348111e9aee3fc4b8c237c2e/main.spi 00:00:20 verbose #74 > > 00:00:20 verbose #75 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #76 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #77 > > │ ## complex_unbox │ 00:00:20 verbose #78 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #79 > > 00:00:20 verbose #80 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #81 > > inl complex_unbox forall t. (c : complex t) = 00:00:20 verbose #82 > > re c, im c 00:00:20 verbose #83 > 00:00:20 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/891da2e415cc31d3593e1ed0f295464e0e178f1c4f854dd7d4a6c863572c2621/main.spi 00:00:20 verbose #84 > > 00:00:20 verbose #85 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #86 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #87 > > │ ## (~.^) │ 00:00:20 verbose #88 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #89 > > 00:00:20 verbose #90 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #91 > > inl (~.^) c = complex c 00:00:20 verbose #92 > 00:00:20 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/96f239f14d98537ecec8d8daf0f6cc814424e55a2b2fb4dc6c1fe9680f9a0670/main.spi 00:00:20 verbose #93 > > 00:00:20 verbose #94 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #95 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #96 > > │ ## complex_eq │ 00:00:20 verbose #97 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #98 > > 00:00:20 verbose #99 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #100 > > inl complex_eq forall t. (a : complex t) (b : complex t) : bool = 00:00:20 verbose #101 > > !\\((a, b), $'"$0 == $1"') 00:00:20 verbose #102 > 00:00:20 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b2946ed6c76ccb917bf52ff05e1e174cca1b9421e029ac3da7f4b2bc3a664043/main.spi 00:00:21 verbose #103 > > 00:00:21 verbose #104 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #105 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #106 > > │ ## (.=) │ 00:00:21 verbose #107 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #108 > > 00:00:21 verbose #109 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #110 > > inl (.=) a b = complex_eq a b 00:00:21 verbose #111 > 00:00:20 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b71950173ecf8b08727203f04e095e76efffaca355f7a3ef1754c3181196aefa/main.spi 00:00:21 verbose #112 > > 00:00:21 verbose #113 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #114 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #115 > > │ ## equable complex │ 00:00:21 verbose #116 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #117 > > 00:00:21 verbose #118 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #119 > > instance equable complex t = complex_eq 00:00:21 verbose #120 > 00:00:20 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bd1bab313f138113a8f07a5efea674c696d84f297fda44a7e2fc417dc9a09303/main.spi 00:00:21 verbose #121 > > 00:00:21 verbose #122 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #123 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #124 > > │ ## complex_add │ 00:00:21 verbose #125 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #126 > > 00:00:21 verbose #127 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #128 > > inl complex_add forall t. (a : complex t) (b : complex t) : complex t = 00:00:21 verbose #129 > > !\\((a, b), $'"$0 + $1"') 00:00:21 verbose #130 > 00:00:20 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2e6b8a36262e366b9d6dbd6f2ec4d288fdb75c716343624d8ff203100bfab2e3/main.spi 00:00:21 verbose #131 > > 00:00:21 verbose #132 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #133 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #134 > > │ ## (.+) │ 00:00:21 verbose #135 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #136 > > 00:00:21 verbose #137 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #138 > > inl (.+) a b = complex_add a b 00:00:21 verbose #139 > 00:00:21 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1115358c2b4f15964141886290b7cc3b595c0a1e2cbce632ee0b49f86fe3921c/main.spi 00:00:21 verbose #140 > > 00:00:21 verbose #141 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #142 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #143 > > │ ## complex_sub │ 00:00:21 verbose #144 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #145 > > 00:00:21 verbose #146 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #147 > > inl complex_sub forall t. (a : complex t) (b : complex t) : complex t = 00:00:21 verbose #148 > > !\\((a, b), $'"$0 - $1"') 00:00:21 verbose #149 > 00:00:21 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6661821b089c77d6a3296e40c1bc8438532a039cfc05c36d46b8832fb5450597/main.spi 00:00:21 verbose #150 > > 00:00:21 verbose #151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #153 > > │ ## (.-) │ 00:00:21 verbose #154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #155 > > 00:00:21 verbose #156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #157 > > inl (.-) a b = complex_sub a b 00:00:21 verbose #158 > 00:00:21 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a6e57d0bec3cd5388bc1af53ccb7f8b1e34cb04ca0198f4b80f265a0997470c2/main.spi 00:00:21 verbose #159 > > 00:00:21 verbose #160 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #161 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #162 > > │ ## complex_mult │ 00:00:21 verbose #163 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #164 > > 00:00:21 verbose #165 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #166 > > inl complex_mult forall t. (a : complex t) (b : complex t) : complex t = 00:00:21 verbose #167 > > !\\((a, b), $'"$0 * $1"') 00:00:21 verbose #168 > 00:00:21 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0cfb2a4766af34f9e1a5ba9319c701c9c33d5705c88878431935c5647b79c100/main.spi 00:00:22 verbose #169 > > 00:00:22 verbose #170 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #171 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #172 > > │ ## (.*) │ 00:00:22 verbose #173 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #174 > > 00:00:22 verbose #175 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #176 > > inl (.*) a b = complex_mult a b 00:00:22 verbose #177 > 00:00:21 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/25b5dd6f327c93025289fd45bcf818ec1bdae48f4a8facea194f74d36d5d6e36/main.spi 00:00:22 verbose #178 > > 00:00:22 verbose #179 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #180 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #181 > > │ ## complex_div │ 00:00:22 verbose #182 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #183 > > 00:00:22 verbose #184 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #185 > > inl complex_div forall t. (a : complex t) (b : complex t) : complex t = 00:00:22 verbose #186 > > !\\((a, b), $'"$0 / $1"') 00:00:22 verbose #187 > 00:00:21 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6e10de6c0dc45fcbcd48aaccf16fbfa47b4e404f45aa8afc608de1a4edab43a6/main.spi 00:00:22 verbose #188 > > 00:00:22 verbose #189 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #190 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #191 > > │ ## (./) │ 00:00:22 verbose #192 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #193 > > 00:00:22 verbose #194 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #195 > > inl (./) a b = complex_div a b 00:00:22 verbose #196 > 00:00:21 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e3eba7ec898a133d35a80e106011809c9bba1f35ac9e31131cf38ba920175497/main.spi 00:00:22 verbose #197 > > 00:00:22 verbose #198 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #199 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #200 > > │ ## powc │ 00:00:22 verbose #201 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #202 > > 00:00:22 verbose #203 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #204 > > inl powc forall t. (s : complex t) (c : complex t) : complex t = 00:00:22 verbose #205 > > !\\((c, s), $'"num_complex::Complex::powc($0, $1)"') 00:00:22 verbose #206 > 00:00:22 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/30eb17f3efb9da1663bc0af6ef04335bfb83cc1a2d8467be851d604715b948ed/main.spi 00:00:22 verbose #207 > > 00:00:22 verbose #208 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #209 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #210 > > │ ## (.**) │ 00:00:22 verbose #211 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #212 > > 00:00:22 verbose #213 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #214 > > inl (.**) a b = powc b a 00:00:22 verbose #215 > 00:00:22 debug #23 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/abcede37b0138f53e5194a4179056b96f96edac2772a041c49f88b300dfe4504/main.spi 00:00:22 verbose #216 > > 00:00:22 verbose #217 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #218 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #219 > > │ ## complex_sin │ 00:00:22 verbose #220 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #221 > > 00:00:22 verbose #222 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #223 > > inl complex_sin forall t. (c : complex t) : complex t = 00:00:22 verbose #224 > > !\\(c, $'"$0.sin()"') 00:00:22 verbose #225 > 00:00:22 debug #24 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3a09a5967e152a6e75955ae7d6a10442636328351056ae1939155be0c32b6acf/main.spi 00:00:22 verbose #226 > > 00:00:22 verbose #227 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:22 verbose #228 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:22 verbose #229 > > │ ## conj │ 00:00:22 verbose #230 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:22 verbose #231 > > 00:00:22 verbose #232 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:22 verbose #233 > > inl conj forall t. (c : complex t) : complex t = 00:00:22 verbose #234 > > !\\(c, $'"$0.conj()"') 00:00:22 verbose #235 > 00:00:22 debug #25 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/929cf36ac4c3177cf4b17d212861b0e97d0120deabbaa605ef77fa9474511020/main.spi 00:00:23 verbose #236 > > 00:00:23 verbose #237 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #238 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #239 > > │ ## zeta │ 00:00:23 verbose #240 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #241 > > 00:00:23 verbose #242 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #243 > > inl zeta log (gamma : complex f64 -> complex f64) (s : complex f64) : complex 00:00:23 verbose #244 > > f64 = 00:00:23 verbose #245 > > inl rec zeta count gamma s = 00:00:23 verbose #246 > > if log then 00:00:23 verbose #247 > > !\\((count, s), $'"println\!(\\\"zeta / count: {:?} / s: {:?}\\\", 00:00:23 verbose #248 > > $0, $1)"') 00:00:23 verbose #249 > > if re s > 1 then 00:00:23 verbose #250 > > (.^(0, 0), (am.init 10000i32 id : a i32 _)) 00:00:23 verbose #251 > > ||> am.fold fun acc n => 00:00:23 verbose #252 > > acc .+ (.^(1, 0) ./ (.^(f64 n, 0) .** s)) 00:00:23 verbose #253 > > else 00:00:23 verbose #254 > > inl gamma_term = gamma (.^(1, 0) .- s) 00:00:23 verbose #255 > > inl sin_term = .^(pi, 0) .* s ./ .^(2, 0) |> complex_sin 00:00:23 verbose #256 > > inl one_minus_s = .^(1 - re s, -(im s)) 00:00:23 verbose #257 > > inl mirror_term = 00:00:23 verbose #258 > > if re one_minus_s <= 1 00:00:23 verbose #259 > > then .^(0, 0) 00:00:23 verbose #260 > > else 00:00:23 verbose #261 > > if count <= 3 00:00:23 verbose #262 > > then zeta (count + 1) gamma one_minus_s 00:00:23 verbose #263 > > else one_minus_s 00:00:23 verbose #264 > > inl reflection_formula = 00:00:23 verbose #265 > > .^(2, 0) .* (.^(pi, 0) .** s) .* sin_term .* gamma_term .* 00:00:23 verbose #266 > > mirror_term 00:00:23 verbose #267 > > reflection_formula 00:00:23 verbose #268 > > join zeta 0i32 gamma s 00:00:23 verbose #269 > 00:00:22 debug #26 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/065417638ea857282df8947b4cd609f5b8bea2f6545198a2d98091429762e7cf/main.spi 00:00:23 verbose #270 > > 00:00:23 verbose #271 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #272 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #273 > > │ ## bound │ 00:00:23 verbose #274 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #275 > > 00:00:23 verbose #276 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #277 > > nominal bound t = 00:00:23 verbose #278 > > `( 00:00:23 verbose #279 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:23 verbose #280 > > Fable.Core.Emit(\"pyo3::Bound<$0>\")>]]\n#endif\ntype pyo3_Bound<'T> = class 00:00:23 verbose #281 > > end" 00:00:23 verbose #282 > > $'' : $'pyo3_Bound<`t>' 00:00:23 verbose #283 > > ) 00:00:23 verbose #284 > 00:00:22 debug #27 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/359e203ed7a3d8f50e76865b4d9aea7194fd6b3cb964c881609a7cd69841d40f/main.spi 00:00:23 verbose #285 > > 00:00:23 verbose #286 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #287 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #288 > > │ ## python │ 00:00:23 verbose #289 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #290 > > 00:00:23 verbose #291 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #292 > > nominal python = 00:00:23 verbose #293 > > `( 00:00:23 verbose #294 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:23 verbose #295 > > Fable.Core.Emit(\"pyo3::Python\")>]]\n#endif\ntype pyo3_Python = class end" 00:00:23 verbose #296 > > $'' : $'pyo3_Python' 00:00:23 verbose #297 > > ) 00:00:23 verbose #298 > 00:00:22 debug #28 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6dd48c550ea721df4e110a239f7cd72aa1e3aae17bcae2a9c7a3538b152775f7/main.spi 00:00:23 verbose #299 > > 00:00:23 verbose #300 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #301 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #302 > > │ ## pymodule │ 00:00:23 verbose #303 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #304 > > 00:00:23 verbose #305 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #306 > > nominal pymodule = 00:00:23 verbose #307 > > `( 00:00:23 verbose #308 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:23 verbose #309 > > Fable.Core.Emit(\"pyo3::types::PyModule\")>]]\n#endif\ntype pyo3_types_PyModule 00:00:23 verbose #310 > > = class end" 00:00:23 verbose #311 > > $'' : $'pyo3_types_PyModule' 00:00:23 verbose #312 > > ) 00:00:23 verbose #313 > 00:00:23 debug #29 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/51010d52554f4737175d2bcdff33875a21d87b878fa65befdb12924831d3f2d8/main.spi 00:00:23 verbose #314 > > 00:00:23 verbose #315 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #316 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #317 > > │ ## pyany │ 00:00:23 verbose #318 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #319 > > 00:00:23 verbose #320 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #321 > > nominal pyany = 00:00:23 verbose #322 > > `( 00:00:23 verbose #323 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:23 verbose #324 > > Fable.Core.Emit(\"pyo3::PyAny\")>]]\n#endif\ntype pyo3_PyAny = class end" 00:00:23 verbose #325 > > $'' : $'pyo3_PyAny' 00:00:23 verbose #326 > > ) 00:00:23 verbose #327 > 00:00:23 debug #30 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/12a522f2740b4d80d3ddc564f1ddb22fa776a8b3d535dd117764eb69231ce2e8/main.spi 00:00:23 verbose #328 > > 00:00:23 verbose #329 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #330 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #331 > > │ ## pyerr │ 00:00:23 verbose #332 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #333 > > 00:00:23 verbose #334 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #335 > > nominal pyerr = 00:00:23 verbose #336 > > `( 00:00:23 verbose #337 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:23 verbose #338 > > Fable.Core.Emit(\"pyo3::PyErr\")>]]\n#endif\ntype pyo3_PyErr = class end" 00:00:23 verbose #339 > > $'' : $'pyo3_PyErr' 00:00:23 verbose #340 > > ) 00:00:23 verbose #341 > 00:00:23 debug #31 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8f92c274d2acf035c378d82a88304cb119a7ba7a37fcc537ce5da8b22037005a/main.spi 00:00:23 verbose #342 > > 00:00:23 verbose #343 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:23 verbose #344 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:23 verbose #345 > > │ ## eval │ 00:00:23 verbose #346 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:23 verbose #347 > > 00:00:23 verbose #348 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:23 verbose #349 > > inl module_from_code (py : python) (code : string) : _ (bound pymodule) _ = 00:00:23 verbose #350 > > inl py = join py 00:00:23 verbose #351 > > inl code = code |> sm'.as_str 00:00:23 verbose #352 > > !\($'"pyo3::types::PyModule::from_code_bound(!py, !code, \\"\\", \\"\\")"') 00:00:23 verbose #353 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format' 00:00:23 verbose #354 > > 00:00:23 verbose #355 > > inl use_pyanymethods () = 00:00:23 verbose #356 > > global "Fable.Core.RustInterop.emitRustExpr () \");\nuse 00:00:23 verbose #357 > > pyo3::prelude::PyAnyMethods;\n//\"" 00:00:23 verbose #358 > > 00:00:23 verbose #359 > > inl getattr (attr : string) (module : bound pymodule) : _ (bound pyany) _ = 00:00:23 verbose #360 > > inl attr = join attr 00:00:23 verbose #361 > > inl attr = attr |> sm'.as_str 00:00:23 verbose #362 > > inl module = join module 00:00:23 verbose #363 > > use_pyanymethods () 00:00:23 verbose #364 > > !\($'"!module.getattr(!attr)"') 00:00:23 verbose #365 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format' 00:00:23 verbose #366 > > 00:00:23 verbose #367 > > inl call forall t. (args : t) (module : bound pyany) : _ (bound pyany) _ = 00:00:23 verbose #368 > > inl args = join args 00:00:23 verbose #369 > > inl module = join module 00:00:23 verbose #370 > > !\($'"pyo3::prelude::PyAnyMethods::call(&!module, ((*!args).0, *(*!args).1), 00:00:23 verbose #371 > > None)"') 00:00:23 verbose #372 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format' 00:00:23 verbose #373 > > 00:00:23 verbose #374 > > inl extract forall t. (result : bound pyany) : _ t _ = 00:00:23 verbose #375 > > inl result = join result 00:00:23 verbose #376 > > use_pyanymethods () 00:00:23 verbose #377 > > !\($'"!result.extract()"') 00:00:23 verbose #378 > > |> resultm.map_error' fun (x : pyerr) => x |> sm'.format' 00:00:23 verbose #379 > > 00:00:23 verbose #380 > > inl eval py code (args : pair bool (pair f64 f64)) : _ (_ f64) sm'.std_string = 00:00:23 verbose #381 > > inl code = 00:00:23 verbose #382 > > code 00:00:23 verbose #383 > > |> module_from_code py 00:00:23 verbose #384 > > |> resultm.unwrap' 00:00:23 verbose #385 > > inl fn = 00:00:23 verbose #386 > > code 00:00:23 verbose #387 > > |> getattr "fn" 00:00:23 verbose #388 > > |> resultm.unwrap' 00:00:23 verbose #389 > > 00:00:23 verbose #390 > > fn 00:00:23 verbose #391 > > |> call args 00:00:23 verbose #392 > > |> resultm.try' 00:00:23 verbose #393 > > |> extract 00:00:23 verbose #394 > > |> resultm.try' 00:00:23 verbose #395 > > |> complex 00:00:23 verbose #396 > > |> Ok 00:00:23 verbose #397 > > |> resultm.box 00:00:23 verbose #398 > > 00:00:23 verbose #399 > > inl call1_ log py s code = 00:00:23 verbose #400 > > inl code = join (a code : _ i32 _) |> sm'.concat_array_trailing "\n" 00:00:23 verbose #401 > > 00:00:23 verbose #402 > > inl s = new_pair (re s) (im s) 00:00:23 verbose #403 > > inl args = new_pair log s 00:00:23 verbose #404 > > 00:00:23 verbose #405 > > eval py code args 00:00:23 verbose #406 > > 00:00:23 verbose #407 > > inl call1_ log name py s line = 00:00:23 verbose #408 > > inl s = join s 00:00:23 verbose #409 > > join 00:00:23 verbose #410 > > ;[[ 00:00:23 verbose #411 > > $'$"import sys"' 00:00:23 verbose #412 > > $'$"import traceback"' 00:00:23 verbose #413 > > $'$"import re"' 00:00:23 verbose #414 > > $'$"count = 0"' 00:00:23 verbose #415 > > $'$"memory_address_pattern = re.compile(r\' at 0x[[0-9a-fA-F]]+\')"' 00:00:23 verbose #416 > > $'$"def trace_calls(frame, event, arg):"' 00:00:23 verbose #417 > > $'$" global count"' 00:00:23 verbose #418 > > $'$" count += 1"' 00:00:23 verbose #419 > > $'$" if count < 200:"' 00:00:23 verbose #420 > > $'$" try:"' 00:00:23 verbose #421 > > $'$" args = {{ k: v for k, v in frame.f_locals.items() if 00:00:23 verbose #422 > > frame.f_code.co_name \!= \'make_mpc\' and k not in [[\'ctx\']] and not 00:00:23 verbose #423 > > callable(v) }}"' 00:00:23 verbose #424 > > $'$" args_str = \', \'.join([[ 00:00:23 verbose #425 > > f\\\"{{k}}={{re.sub(memory_address_pattern, \' at 0x<?>\', repr(v))}}\\\" for k, 00:00:23 verbose #426 > > v in args.items() ]])"' 00:00:23 verbose #427 > > $'$" print(f\\\"{{event}}({!name}) / f_code.co_name: 00:00:23 verbose #428 > > {{frame.f_code.co_name}} / f_locals: {{args_str}} / f_lineno: {{frame.f_lineno}} 00:00:23 verbose #429 > > / f_code.co_filename: 00:00:23 verbose #430 > > {{frame.f_code.co_filename.split(\'site-packages\')[[-1]]}} / f_back.f_lineno: 00:00:23 verbose #431 > > {{ \'\' if frame.f_back is None else frame.f_back.f_lineno }} 00:00:23 verbose #432 > > f_back.f_code.co_filename: {{ \'\' if frame.f_back is None else 00:00:23 verbose #433 > > frame.f_back.f_code.co_filename.split(\'site-packages\')[[-1]] }} / arg: 00:00:23 verbose #434 > > {{re.sub(memory_address_pattern, \' at 0x<?>\', repr(arg))}}\\\", flush=True)"' 00:00:23 verbose #435 > > $'$" except ValueError as e:"' 00:00:23 verbose #436 > > $'$" print(f\'{!name} / e: {{e}}\', flush=True)"' 00:00:23 verbose #437 > > $'$" return trace_calls"' 00:00:23 verbose #438 > > $'$"import mpmath"' 00:00:23 verbose #439 > > $'$"def fn(log, s):"' 00:00:23 verbose #440 > > $'$" global count"' 00:00:23 verbose #441 > > $'$" if log:"' 00:00:23 verbose #442 > > $'$" print(f\'{!name} / s: {{s}} / count: {{count}}\', 00:00:23 verbose #443 > > flush=True)"' 00:00:23 verbose #444 > > $'$" s = complex(*s)"' 00:00:23 verbose #445 > > $'$" try:"' 00:00:23 verbose #446 > > $'$" if log: sys.settrace(trace_calls)"' 00:00:23 verbose #447 > > line 00:00:23 verbose #448 > > $'$" if log:"' 00:00:23 verbose #449 > > $'$" sys.settrace(None)"' 00:00:23 verbose #450 > > $'$" print(f\'{!name} / result: {{s}} / count: 00:00:23 verbose #451 > > {{count}}\', flush=True)"' 00:00:23 verbose #452 > > $'$" except ValueError as e:"' 00:00:23 verbose #453 > > $'$" if s.real == 1:"' 00:00:23 verbose #454 > > $'$" s = complex(float(\'inf\'), 0)"' 00:00:23 verbose #455 > > $'$" return (s.real, s.imag)"' 00:00:23 verbose #456 > > ]] 00:00:23 verbose #457 > > |> call1_ log py s 00:00:23 verbose #458 > > 00:00:23 verbose #459 > > inl gamma_ log py s = 00:00:23 verbose #460 > > call1_ log "gamma_" py s $'$" s = mpmath.gamma(s)"' 00:00:23 verbose #461 > > 00:00:23 verbose #462 > > inl zeta_ log py s = 00:00:23 verbose #463 > > call1_ log "zeta_" py s $'$" s = mpmath.zeta(s)"' 00:00:24 verbose #464 > 00:00:23 debug #32 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/268f8ef62dcbf9de0baa818366be781dcc7638ee5023940bb3a5aa5f99b1c897/main.spi 00:00:24 verbose #465 > > 00:00:24 verbose #466 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:24 verbose #467 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:24 verbose #468 > > │ ## run_test │ 00:00:24 verbose #469 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:24 verbose #470 > > 00:00:24 verbose #471 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:24 verbose #472 > > inl run_test log closure_fix (fn : (complex f64 -> complex f64) * (complex f64 00:00:24 verbose #473 > > -> complex f64) -> ()) = 00:00:24 verbose #474 > > inl fn_ (py : python) : resultm.result' () pyerr = 00:00:24 verbose #475 > > inl nan () = 00:00:24 verbose #476 > > !\($'"f64::NAN"') 00:00:24 verbose #477 > > inl gamma__ = fun (s : complex f64) => 00:00:24 verbose #478 > > inl result = gamma_ log py s 00:00:24 verbose #479 > > if log then 00:00:24 verbose #480 > > inl s = join s 00:00:24 verbose #481 > > !\($'"println\!(\\\"gamma__ / s: {:?} / result: {:?}\\\", !s, 00:00:24 verbose #482 > > !result)"') 00:00:24 verbose #483 > > result |> resultm.ok' |> optionm'.unbox |> optionm'.default_value 00:00:24 verbose #484 > > .^(nan (), nan ()) 00:00:24 verbose #485 > > inl zeta__ = fun (s : complex f64) => 00:00:24 verbose #486 > > inl result = zeta_ log py s 00:00:24 verbose #487 > > 00:00:24 verbose #488 > > inl z = zeta true gamma__ s 00:00:24 verbose #489 > > 00:00:24 verbose #490 > > if log then 00:00:24 verbose #491 > > inl s = join s 00:00:24 verbose #492 > > !\($'"println\!(\\\"zeta__ / s: {:?} / result: {:?} / z: 00:00:24 verbose #493 > > {:?}\\\", !s, !result, !z)"') 00:00:24 verbose #494 > > 00:00:24 verbose #495 > > // re result - re x |> abs 00:00:24 verbose #496 > > // |> _assert_lt 0.001 00:00:24 verbose #497 > > 00:00:24 verbose #498 > > // im result - im x |> abs 00:00:24 verbose #499 > > // |> _assert_lt 0.001 00:00:24 verbose #500 > > 00:00:24 verbose #501 > > result |> resultm.ok' |> optionm'.unbox |> optionm'.default_value 00:00:24 verbose #502 > > .^(nan (), nan ()) 00:00:24 verbose #503 > > join fn (zeta__, gamma__) 00:00:24 verbose #504 > > 00:00:24 verbose #505 > > Ok () 00:00:24 verbose #506 > > |> resultm.box 00:00:24 verbose #507 > > 00:00:24 verbose #508 > > join 00:00:24 verbose #509 > > !\($'"pyo3::prepare_freethreaded_python()"') : () 00:00:24 verbose #510 > > 00:00:24 verbose #511 > > !\($'"let __result = pyo3::Python::with_gil(|py| -> pyo3::PyResult<()> { 00:00:24 verbose #512 > > //"') 00:00:24 verbose #513 > > 00:00:24 verbose #514 > > let x' = fn_ (!\($'"py"') : python) 00:00:24 verbose #515 > > inl x' = join x' 00:00:24 verbose #516 > > 00:00:24 verbose #517 > > inl closure_fix = 2u8, 1u8 00:00:24 verbose #518 > > x' |> rust.fix_closure closure_fix 00:00:24 verbose #519 > > 00:00:24 verbose #520 > > (!\($'"__result"') : _ () pyerr) 00:00:24 verbose #521 > > |> resultm.unwrap' 00:00:24 verbose #522 > 00:00:23 debug #33 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/01e952b92a6a9bd0e67888d5583e2bda541d10c34048e283a266de90fad148d9/main.spi 00:00:24 verbose #523 > > 00:00:24 verbose #524 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:24 verbose #525 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:24 verbose #526 > > │ ## test_zeta_at_known_values_ │ 00:00:24 verbose #527 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:24 verbose #528 > > 00:00:24 verbose #529 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:24 verbose #530 > > inl test_zeta_at_known_values_ log = run_test log (3u8, 2u8) fun zeta, gamma => 00:00:24 verbose #531 > > ;[[ 00:00:24 verbose #532 > > .^(2, 0), pi ** 2 / 6 00:00:24 verbose #533 > > .^(-1, 0), -1 / 12 00:00:24 verbose #534 > > ]] 00:00:24 verbose #535 > > |> fun x => a x : _ i32 _ 00:00:24 verbose #536 > > |> am.iter fun s, e => 00:00:24 verbose #537 > > inl result = zeta s 00:00:24 verbose #538 > > 00:00:24 verbose #539 > > result |> im |> _assert_eq 0 00:00:24 verbose #540 > > re result - e |> abs |> _assert_lt 0.0001 00:00:24 verbose #541 > 00:00:23 debug #34 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ee77d75d02f3093d4d36178c2e270469429dc973a94078c4cd29ef232db6d855/main.spi 00:00:24 verbose #542 > > 00:00:24 verbose #543 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:24 verbose #544 > > //// test 00:00:24 verbose #545 > > ///! rust -d num-complex pyo3 00:00:24 verbose #546 > > 00:00:24 verbose #547 > > test_zeta_at_known_values_ true 00:00:24 verbose #548 > 00:00:24 debug #35 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bcd2736cfbc153044960d179c3701e25265e8e8a5abf2741b0217721ddb0df8a/main.spi 00:00:42 verbose #549 > > 00:00:42 verbose #550 > > ╭─[ 17.77s - return value ]────────────────────────────────────────────────────╮ 00:00:42 verbose #551 > > │ zeta_ / s: (2.0, 0.0) / count: 0 │ 00:00:42 verbose #552 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:00:42 verbose #553 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:00:42 verbose #554 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:42 verbose #555 > > │ / arg: None │ 00:00:42 verbose #556 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:00:42 verbose #557 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:00:42 verbose #558 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:42 verbose #559 > > │ / arg: None │ 00:00:42 verbose #560 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:00:42 verbose #561 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:00:42 verbose #562 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:42 verbose #563 > > │ / arg: None │ 00:00:42 verbose #564 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:00:42 verbose #565 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:00:42 verbose #566 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:42 verbose #567 > > │ / arg: None │ 00:00:42 verbose #568 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:00:42 verbose #569 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:00:42 verbose #570 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:42 verbose #571 > > │ / arg: None │ 00:00:42 verbose #572 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │ 00:00:42 verbose #573 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:00:42 verbose #574 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:00:42 verbose #575 > > │ / arg: None │ 00:00:42 verbose #576 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │ 00:00:42 verbose #577 > > │ / f_linen...o_name: make_mpc / f_locals: / f_lineno: 603 / │ 00:00:42 verbose #578 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:00:42 verbose #579 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:00:42 verbose #580 > > │ line(gamma_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 604 / │ 00:00:42 verbose #581 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:00:42 verbose #582 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:00:42 verbose #583 > > │ line(gamma_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 605 / │ 00:00:42 verbose #584 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:00:42 verbose #585 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:00:42 verbose #586 > > │ return(gamma_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 605 / │ 00:00:42 verbose #587 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:00:42 verbose #588 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: mpc(real='1.0', │ 00:00:42 verbose #589 > > │ imag='0.0') │ 00:00:42 verbose #590 > > │ return(gamma_) / f_code.co_name: f / f_locals: x=mpc(real='2.0', │ 00:00:42 verbose #591 > > │ imag='0.0'), kwargs={}, name='gamma', prec=53, rounding='n' / f_lineno: 1007 │ 00:00:42 verbose #592 > > │ / f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 25 / │ 00:00:42 verbose #593 > > │ f_back.f_code.co_filename: / arg: mpc(real='1.0', imag='0.0') │ 00:00:42 verbose #594 > > │ gamma_ / result: (1.0 + 0.0j) / count: 140 │ 00:00:42 verbose #595 > > │ gamma__ / s: Complex { re: 2.0, im: 0.0 } / result: Ok(Complex { re: 1.0, │ 00:00:42 verbose #596 > > │ im: 0.0 }) │ 00:00:42 verbose #597 > > │ zeta / count: 1 / s: Complex { re: 2.0, im: -0.0 } │ 00:00:42 verbose #598 > > │ zeta__ / s: Complex { re: -1.0, im: 0.0 } / result: Ok(Complex { re: │ 00:00:42 verbose #599 > > │ -0.08333333333333333, im: 0.0 }) / z: Complex { re: NaN, im: NaN } │ 00:00:42 verbose #600 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:00:42 verbose #601 > > │ assert_lt / actual: 0.0 / expected: 0.0001 │ 00:00:42 verbose #602 > > │ │ 00:00:42 verbose #603 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #604 > > 00:00:42 verbose #605 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #606 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #607 > > │ ## test_zeta_at_2_minus2 │ 00:00:42 verbose #608 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #609 > > 00:00:42 verbose #610 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #611 > > inl test_zeta_at_2_minus2 log = run_test log (6u8, 5u8) fun zeta, gamma => 00:00:42 verbose #612 > > inl s = .^(2, -2) 00:00:42 verbose #613 > > inl result = zeta s 00:00:42 verbose #614 > > 00:00:42 verbose #615 > > (re result - 0.8673) |> abs |> _assert_lt 0.001 00:00:42 verbose #616 > > (im result - 0.2750) |> abs |> _assert_lt 0.001 00:00:42 verbose #617 > 00:00:41 debug #36 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/672e7484e5a5e54658baffea82c98810d7b84c1f4a9fedfa0f9d059a47ad9f18/main.spi 00:00:42 verbose #618 > > 00:00:42 verbose #619 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #620 > > //// test 00:00:42 verbose #621 > > ///! rust -d num-complex pyo3 00:00:42 verbose #622 > > 00:00:42 verbose #623 > > test_zeta_at_2_minus2 true 00:00:42 verbose #624 > 00:00:42 debug #37 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe2f9e801a2aa0865789ac6812350bd24aebc635d95ccddc873affbc90fa555e/main.spi 00:00:51 verbose #625 > > 00:00:51 verbose #626 > > ╭─[ 8.60s - return value ]─────────────────────────────────────────────────────╮ 00:00:51 verbose #627 > > │ zeta_ / s: (2.0, -2.0) / count: 0 │ 00:00:51 verbose #628 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │ 00:00:51 verbose #629 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:00:51 verbose #630 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:51 verbose #631 > > │ / arg: None │ 00:00:51 verbose #632 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │ 00:00:51 verbose #633 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:00:51 verbose #634 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:51 verbose #635 > > │ / arg: None │ 00:00:51 verbose #636 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │ 00:00:51 verbose #637 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:00:51 verbose #638 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:51 verbose #639 > > │ / arg: None │ 00:00:51 verbose #640 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │ 00:00:51 verbose #641 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:00:51 verbose #642 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:51 verbose #643 > > │ / arg: None │ 00:00:51 verbose #644 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2-2j), a=1, derivative=0, │ 00:00:51 verbose #645 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:00:51 verbose #646 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:00:51 verbose #647 > > │ / arg: None │ 00:00:51 verbose #648 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2-2j), kwargs={}, name='zeta' │ 00:00:51 verbose #649 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:00:51 verbose #650 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:00:51 verbose #651 > > │ / arg: None │ 00:00:51 verbose #652 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2-2j), kwargs={}, name='zeta' │ 00:00:51 verbose #653 > > │ / f_line....py / arg: None │ 00:00:51 verbose #654 > > │ call(zeta_) / f_code.co_name: python_bitcount / f_locals: n=2 / f_lineno: 91 │ 00:00:51 verbose #655 > > │ / f_code.co_filename: /mpmath/libmp/libintmath.py / f_back.f_lineno: 778 / │ 00:00:51 verbose #656 > > │ f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / arg: None │ 00:00:51 verbose #657 > > │ line(zeta_) / f_code.co_name: python_bitcount / f_locals: n=2 / f_lineno: 93 │ 00:00:51 verbose #658 > > │ / f_code.co_filename: /mpmath/libmp/libintmath.py / f_back.f_lineno: 778 / │ 00:00:51 verbose #659 > > │ f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / arg: None │ 00:00:51 verbose #660 > > │ line(zeta_) / f_code.co_name: python_bitcount / f_locals: n=2, bc=2 / │ 00:00:51 verbose #661 > > │ f_lineno: 94 / f_code.co_filename: /mpmath/libmp/libintmath.py / │ 00:00:51 verbose #662 > > │ f_back.f_lineno: 778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:00:51 verbose #663 > > │ arg: None │ 00:00:51 verbose #664 > > │ line(zeta_) / f_code.co_name: python_bitcount / f_locals: n=2, bc=2 / │ 00:00:51 verbose #665 > > │ f_lineno: 95 / f_code.co_filename: /mpmath/libmp/libintmath.py / │ 00:00:51 verbose #666 > > │ f_back.f_lineno: 778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:00:51 verbose #667 > > │ arg: None │ 00:00:51 verbose #668 > > │ return(zeta_) / f_code.co_name: python_bitcount / f_locals: n=2, bc=2 / │ 00:00:51 verbose #669 > > │ f_lineno: 95 / f_code.co_filename: /mpmath/libmp/libintmath.py / │ 00:00:51 verbose #670 > > │ f_back.f_lineno: 778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:00:51 verbose #671 > > │ arg: 2 │ 00:00:51 verbose #672 > > │ zeta_ / result: (0.867351829635993 + 0.275127238807858j) / count: 1812 │ 00:00:51 verbose #673 > > │ zeta / count: 0 / s: Complex { re: 2.0, im: -2.0 } │ 00:00:51 verbose #674 > > │ zeta__ / s: Complex { re: 2.0, im: -2.0 } / result: Ok(Complex { re: │ 00:00:51 verbose #675 > > │ 0.8673518296359931, im: 0.27512723880785767 }) / z: Complex { re: NaN, im: │ 00:00:51 verbose #676 > > │ NaN } │ 00:00:51 verbose #677 > > │ assert_lt / actual: 5.182963599315027e-5 / expected: 0.001 │ 00:00:51 verbose #678 > > │ assert_lt / actual: 0.00012723880785764363 / expected: 0.001 │ 00:00:51 verbose #679 > > │ │ 00:00:51 verbose #680 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #681 > > 00:00:51 verbose #682 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:51 verbose #683 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:51 verbose #684 > > │ ## test_trivial_zero_at_negative_even___ │ 00:00:51 verbose #685 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #686 > > 00:00:51 verbose #687 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:51 verbose #688 > > inl test_trivial_zero_at_negative_even___ log = run_test log (2u8, 1u8) fun 00:00:51 verbose #689 > > zeta, gamma => 00:00:51 verbose #690 > > (join listm'.init_series -2f64 -40 -2) 00:00:51 verbose #691 > > |> listm.iter fun n => 00:00:51 verbose #692 > > inl s = .^(n, 0) 00:00:51 verbose #693 > > inl result = zeta s 00:00:51 verbose #694 > > 00:00:51 verbose #695 > > result |> re |> _assert_eq 0 00:00:51 verbose #696 > > result |> im |> _assert_eq 0 00:00:51 verbose #697 > 00:00:50 debug #38 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a3832e5d8543dfc0dbded58c6fe282a8646623a46ec48f9eba8339d79edb8beb/main.spi 00:00:51 verbose #698 > > 00:00:51 verbose #699 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:51 verbose #700 > > //// test 00:00:51 verbose #701 > > ///! rust -d num-complex pyo3 00:00:51 verbose #702 > > 00:00:51 verbose #703 > > test_trivial_zero_at_negative_even___ true 00:00:51 verbose #704 > 00:00:50 debug #39 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/305fbfe8f9710a874659e8182f289ca0d3502f8b1b9e07643a1a5fa251c6b7b2/main.spi 00:01:00 verbose #705 > > 00:01:00 verbose #706 > > ╭─[ 9.12s - return value ]─────────────────────────────────────────────────────╮ 00:01:00 verbose #707 > > │ zeta_ / s: (-2.0, 0.0) / count: 0 │ 00:01:00 verbose #708 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │ 00:01:00 verbose #709 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:00 verbose #710 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:00 verbose #711 > > │ / arg: None │ 00:01:00 verbose #712 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │ 00:01:00 verbose #713 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:00 verbose #714 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:00 verbose #715 > > │ / arg: None │ 00:01:00 verbose #716 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │ 00:01:00 verbose #717 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:01:00 verbose #718 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:00 verbose #719 > > │ / arg: None │ 00:01:00 verbose #720 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │ 00:01:00 verbose #721 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:01:00 verbose #722 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:00 verbose #723 > > │ / arg: None │ 00:01:00 verbose #724 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(-2+0j), a=1, derivative=0, │ 00:01:00 verbose #725 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:01:00 verbose #726 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:00 verbose #727 > > │ / arg: None │ 00:01:00 verbose #728 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(-2+0j), kwargs={}, │ 00:01:00 verbose #729 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:00 verbose #730 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:00 verbose #731 > > │ / arg: None │ 00:01:00 verbose #732 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(-2+0j), kwargs={}, │ 00:01:00 verbose #733 > > │ name='zeta' /...o_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 │ 00:01:00 verbose #734 > > │ / f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:01:00 verbose #735 > > │ line(gamma_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 604 / │ 00:01:00 verbose #736 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:01:00 verbose #737 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:01:00 verbose #738 > > │ line(gamma_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 605 / │ 00:01:00 verbose #739 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:01:00 verbose #740 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:01:00 verbose #741 > > │ return(gamma_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 605 / │ 00:01:00 verbose #742 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:01:00 verbose #743 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: │ 00:01:00 verbose #744 > > │ mpc(real='8.1591528324789768e+47', imag='0.0') │ 00:01:00 verbose #745 > > │ return(gamma_) / f_code.co_name: f / f_locals: x=mpc(real='41.0', │ 00:01:00 verbose #746 > > │ imag='0.0'), kwargs={}, name='gamma', prec=53, rounding='n' / f_lineno: 1007 │ 00:01:00 verbose #747 > > │ / f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 25 / │ 00:01:00 verbose #748 > > │ f_back.f_code.co_filename: / arg: mpc(real='8.1591528324789768e+47', │ 00:01:00 verbose #749 > > │ imag='0.0') │ 00:01:00 verbose #750 > > │ gamma_ / result: (8.15915283247898e+47 + 0.0j) / count: 149 │ 00:01:00 verbose #751 > > │ gamma__ / s: Complex { re: 41.0, im: 0.0 } / result: Ok(Complex { re: │ 00:01:00 verbose #752 > > │ 8.159152832478977e47, im: 0.0 }) │ 00:01:00 verbose #753 > > │ zeta / count: 1 / s: Complex { re: 41.0, im: -0.0 } │ 00:01:00 verbose #754 > > │ zeta__ / s: Complex { re: -40.0, im: 0.0 } / result: Ok(Complex { re: 0.0, │ 00:01:00 verbose #755 > > │ im: 0.0 }) / z: Complex { re: NaN, im: NaN } │ 00:01:00 verbose #756 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:01:00 verbose #757 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:01:00 verbose #758 > > │ │ 00:01:00 verbose #759 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:00 verbose #760 > > 00:01:00 verbose #761 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:00 verbose #762 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:00 verbose #763 > > │ ## test_non_trivial_zero___ │ 00:01:00 verbose #764 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:00 verbose #765 > > 00:01:00 verbose #766 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:00 verbose #767 > > inl test_non_trivial_zero___ log = run_test log (3u8, 2u8) fun zeta, gamma => 00:01:00 verbose #768 > > ;[[ 00:01:00 verbose #769 > > .^(0.5, 14.134725) 00:01:00 verbose #770 > > .^(0.5, 21.022040) 00:01:00 verbose #771 > > .^(0.5, 25.010857) 00:01:00 verbose #772 > > .^(0.5, 30.424876) 00:01:00 verbose #773 > > .^(0.5, 32.935062) 00:01:00 verbose #774 > > .^(0.5, 37.586178) 00:01:00 verbose #775 > > ]] 00:01:00 verbose #776 > > |> fun x => a x : _ i32 _ 00:01:00 verbose #777 > > |> am.iter fun x => 00:01:00 verbose #778 > > inl result = zeta x 00:01:00 verbose #779 > > result |> re |> abs |> _assert_lt 0.0001 00:01:00 verbose #780 > > result |> im |> abs |> _assert_lt 0.0001 00:01:00 verbose #781 > 00:00:59 debug #40 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6d229e95d65ae4619a341763b4c7a22cb6f3d6d0bcf7860a536413a5f3ccdc01/main.spi 00:01:00 verbose #782 > > 00:01:00 verbose #783 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:00 verbose #784 > > //// test 00:01:00 verbose #785 > > ///! rust -d num-complex pyo3 00:01:00 verbose #786 > > 00:01:00 verbose #787 > > test_non_trivial_zero___ true 00:01:00 verbose #788 > 00:01:00 debug #41 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/abc65f80a4b24a62bbe420083b998b361da4f7a9bfec29edf0d6f97923b3c482/main.spi 00:01:09 verbose #789 > > 00:01:09 verbose #790 > > ╭─[ 8.76s - return value ]─────────────────────────────────────────────────────╮ 00:01:09 verbose #791 > > │ zeta_ / s: (0.5, 14.134725) / count: 0 │ 00:01:09 verbose #792 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:01:09 verbose #793 > > │ derivative=0, method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:09 verbose #794 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:09 verbose #795 > > │ / arg: None │ 00:01:09 verbose #796 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:01:09 verbose #797 > > │ derivative=0, method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:09 verbose #798 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:09 verbose #799 > > │ / arg: None │ 00:01:09 verbose #800 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:01:09 verbose #801 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 531 / │ 00:01:09 verbose #802 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:09 verbose #803 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:09 verbose #804 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:01:09 verbose #805 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 532 / │ 00:01:09 verbose #806 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:09 verbose #807 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:09 verbose #808 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:01:09 verbose #809 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │ 00:01:09 verbose #810 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:09 verbose #811 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:09 verbose #812 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(0.5+14.134725j), kwargs={}, │ 00:01:09 verbose #813 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:09 verbose #814 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:09 verbose #815 > > │ / arg: None │ 00:01:09 verbose #816 > > │ line(zeta_) / f_code...py / arg: None │ 00:01:09 verbose #817 > > │ line(gamma_) / f_code.co_name: complex_stirling_series / f_locals: │ 00:01:09 verbose #818 > > │ x=1208925819614629174706176, y=-90877802089662679288381440, prec=81, │ 00:01:09 verbose #819 > > │ _m=3416353708500640443578529333, tre=855591523614410863719, │ 00:01:09 verbose #820 > > │ tim=64316830603724894628746, ure=-1710577520534459139249, │ 00:01:09 verbose #821 > > │ uim=45518868236127668552, sre=1013002518538853602038572, │ 00:01:09 verbose #822 > > │ sim=90883161825546323029600502 / f_lineno: 1637 / f_code.co_filename: │ 00:01:09 verbose #823 > > │ /mpmath/libmp/gammazeta.py / f_back.f_lineno: 2050 / │ 00:01:09 verbose #824 > > │ f_back.f_code.co_filename: /mpmath/libmp/gammazeta.py / arg: None │ 00:01:09 verbose #825 > > │ line(gamma_) / f_code.co_name: complex_stirling_series / f_locals: │ 00:01:09 verbose #826 > > │ x=1208925819614629174706176, y=-90877802089662679288381440, prec=81, │ 00:01:09 verbose #827 > > │ _m=3416353708500640443578529333, tre=-1816151534455075068, │ 00:01:09 verbose #828 > > │ tim=-45486653225747820096, ure=-1710577520534459139249, │ 00:01:09 verbose #829 > > │ uim=45518868236127668552, sre=1013002518538853602038572, │ 00:01:09 verbose #830 > > │ sim=90883161825546323029600502 / f_lineno: 1638 / f_code.co_filename: │ 00:01:09 verbose #831 > > │ /mpmath/libmp/gammazeta.py / f_back.f_lineno: 2050 / │ 00:01:09 verbose #832 > > │ f_back.f_code.co_filename: /mpmath/libmp/gammazeta.py / arg: None │ 00:01:09 verbose #833 > > │ gamma_ / result: (-1.32798420042152e-26 + 5.5751975252688e-26j) / count: 309 │ 00:01:09 verbose #834 > > │ gamma__ / s: Complex { re: 0.5, im: -37.586178 } / result: Ok(Complex { re: │ 00:01:09 verbose #835 > > │ -1.3279842004215153e-26, im: 5.575197525268802e-26 }) │ 00:01:09 verbose #836 > > │ zeta__ / s: Complex { re: 0.5, im: 37.586178 } / result: Ok(Complex { re: │ 00:01:09 verbose #837 > > │ -8.910186507947958e-8, im: -2.943780446402868e-7 }) / z: Complex { re: -0.0, │ 00:01:09 verbose #838 > > │ im: 0.0 } │ 00:01:09 verbose #839 > > │ assert_lt / actual: 8.910186507947958e-8 / expected: 0.0001 │ 00:01:09 verbose #840 > > │ assert_lt / actual: 2.943780446402868e-7 / expected: 0.0001 │ 00:01:09 verbose #841 > > │ │ 00:01:09 verbose #842 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:09 verbose #843 > > 00:01:09 verbose #844 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:09 verbose #845 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:09 verbose #846 > > │ ## test_real_part_greater_than_one___ │ 00:01:09 verbose #847 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:09 verbose #848 > > 00:01:09 verbose #849 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:09 verbose #850 > > inl test_real_part_greater_than_one___ log = run_test log (3u8, 2u8) fun zeta, 00:01:09 verbose #851 > > gamma => 00:01:09 verbose #852 > > inl points = ;[[2; 3; 4; 5; 10; 20; 50]] 00:01:09 verbose #853 > > (a points : _ i32 _) 00:01:09 verbose #854 > > |> am.iter fun point => 00:01:09 verbose #855 > > inl s = .^(point, 0) 00:01:09 verbose #856 > > inl result = zeta s 00:01:09 verbose #857 > > result |> re |> _assert_gt 0 00:01:09 verbose #858 > > result |> im |> _assert_eq 0 00:01:09 verbose #859 > 00:01:08 debug #42 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d7d203ea1a435de46203e10ae41b6242fc8301b24ed3310cf2ab628633a1dedb/main.spi 00:01:09 verbose #860 > > 00:01:09 verbose #861 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:09 verbose #862 > > //// test 00:01:09 verbose #863 > > ///! rust -d num-complex pyo3 00:01:09 verbose #864 > > 00:01:09 verbose #865 > > test_real_part_greater_than_one___ true 00:01:09 verbose #866 > 00:01:09 debug #43 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bc53b9056615512a4d946ce78c7aeabb2d1e67ac2f103a7f16a919fff9014fd5/main.spi 00:01:18 verbose #867 > > 00:01:18 verbose #868 > > ╭─[ 8.61s - return value ]─────────────────────────────────────────────────────╮ 00:01:18 verbose #869 > > │ zeta_ / s: (2.0, 0.0) / count: 0 │ 00:01:18 verbose #870 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:01:18 verbose #871 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:18 verbose #872 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:18 verbose #873 > > │ / arg: None │ 00:01:18 verbose #874 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:01:18 verbose #875 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:18 verbose #876 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:18 verbose #877 > > │ / arg: None │ 00:01:18 verbose #878 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:01:18 verbose #879 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:01:18 verbose #880 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:18 verbose #881 > > │ / arg: None │ 00:01:18 verbose #882 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:01:18 verbose #883 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:01:18 verbose #884 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:18 verbose #885 > > │ / arg: None │ 00:01:18 verbose #886 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:01:18 verbose #887 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:01:18 verbose #888 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:18 verbose #889 > > │ / arg: None │ 00:01:18 verbose #890 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │ 00:01:18 verbose #891 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:18 verbose #892 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:18 verbose #893 > > │ / arg: None │ 00:01:18 verbose #894 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │ 00:01:18 verbose #895 > > │ / f_linen...4 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:18 verbose #896 > > │ f_back.f_lineno: 1007 / f_back.f_code.co_filename: /mpmath/ctx_mp_python.py │ 00:01:18 verbose #897 > > │ / arg: None │ 00:01:18 verbose #898 > > │ line(zeta_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 605 / │ 00:01:18 verbose #899 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:01:18 verbose #900 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:01:18 verbose #901 > > │ return(zeta_) / f_code.co_name: make_mpc / f_locals: / f_lineno: 605 / │ 00:01:18 verbose #902 > > │ f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 1007 / │ 00:01:18 verbose #903 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: │ 00:01:18 verbose #904 > > │ mpc(real='1.0000000000000009', imag='0.0') │ 00:01:18 verbose #905 > > │ return(zeta_) / f_code.co_name: f / f_locals: x=mpc(real='50.0', │ 00:01:18 verbose #906 > > │ imag='0.0'), kwargs={}, name='zeta', prec=53, rounding='n' / f_lineno: 1007 │ 00:01:18 verbose #907 > > │ / f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 533 / │ 00:01:18 verbose #908 > > │ f_back.f_code.co_filename: /mpmath/functions/zeta.py / arg: │ 00:01:18 verbose #909 > > │ mpc(real='1.0000000000000009', imag='0.0') │ 00:01:18 verbose #910 > > │ return(zeta_) / f_code.co_name: zeta / f_locals: s=(50+0j), a=1, │ 00:01:18 verbose #911 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │ 00:01:18 verbose #912 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:18 verbose #913 > > │ f_back.f_code.co_filename: / arg: mpc(real='1.0000000000000009', │ 00:01:18 verbose #914 > > │ imag='0.0') │ 00:01:18 verbose #915 > > │ zeta_ / result: (1.0 + 0.0j) / count: 181 │ 00:01:18 verbose #916 > > │ zeta / count: 0 / s: Complex { re: 50.0, im: 0.0 } │ 00:01:18 verbose #917 > > │ zeta__ / s: Complex { re: 50.0, im: 0.0 } / result: Ok(Complex { re: │ 00:01:18 verbose #918 > > │ 1.0000000000000009, im: 0.0 }) / z: Complex { re: NaN, im: NaN } │ 00:01:18 verbose #919 > > │ assert_gt / actual: 1.0000000000000009 / expected: 0.0 │ 00:01:18 verbose #920 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:01:18 verbose #921 > > │ │ 00:01:18 verbose #922 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:18 verbose #923 > > 00:01:18 verbose #924 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:18 verbose #925 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:18 verbose #926 > > │ ## test_zeta_at_1___ │ 00:01:18 verbose #927 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:18 verbose #928 > > 00:01:18 verbose #929 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:18 verbose #930 > > inl test_zeta_at_1___ log = run_test log (6u8, 5u8) fun zeta, gamma => 00:01:18 verbose #931 > > inl s = .^(1, 0) 00:01:18 verbose #932 > > inl result = zeta s 00:01:18 verbose #933 > > result |> re |> _assert_eq limit.max 00:01:18 verbose #934 > > result |> im |> _assert_eq 0 00:01:18 verbose #935 > 00:01:17 debug #44 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7368eb988ea8ed62bfc5275c189ce3a463b1cae765a0d95d240f234d6fd9903d/main.spi 00:01:18 verbose #936 > > 00:01:18 verbose #937 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:18 verbose #938 > > //// test 00:01:18 verbose #939 > > ///! rust -d num-complex pyo3 00:01:18 verbose #940 > > 00:01:18 verbose #941 > > test_zeta_at_1___ true 00:01:18 verbose #942 > 00:01:17 debug #45 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a10d51521ca2f0effaf04c50dfc1252f434df87471792ef58f16fba95c3fb8c2/main.spi 00:01:26 verbose #943 > > 00:01:26 verbose #944 > > ╭─[ 8.47s - return value ]─────────────────────────────────────────────────────╮ 00:01:26 verbose #945 > > │ zeta_ / s: (1.0, 0.0) / count: 0 │ 00:01:26 verbose #946 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │ 00:01:26 verbose #947 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:26 verbose #948 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:26 verbose #949 > > │ / arg: None │ 00:01:26 verbose #950 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │ 00:01:26 verbose #951 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:26 verbose #952 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:26 verbose #953 > > │ / arg: None │ 00:01:26 verbose #954 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │ 00:01:26 verbose #955 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:01:26 verbose #956 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:26 verbose #957 > > │ / arg: None │ 00:01:26 verbose #958 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │ 00:01:26 verbose #959 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:01:26 verbose #960 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:26 verbose #961 > > │ / arg: None │ 00:01:26 verbose #962 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(1+0j), a=1, derivative=0, │ 00:01:26 verbose #963 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:01:26 verbose #964 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:26 verbose #965 > > │ / arg: None │ 00:01:26 verbose #966 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(1+0j), kwargs={}, name='zeta' │ 00:01:26 verbose #967 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:26 verbose #968 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:26 verbose #969 > > │ / arg: None │ 00:01:26 verbose #970 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(1+0j), kwargs={}, name='zeta' │ 00:01:26 verbose #971 > > │ / f_linen...raceback object at 0x<?>>) │ 00:01:26 verbose #972 > > │ return(gamma_) / f_code.co_name: f / f_locals: x=mpc(real='0.0', │ 00:01:26 verbose #973 > > │ imag='0.0'), kwargs={}, name='gamma', prec=53, rounding='n' / f_lineno: 1007 │ 00:01:26 verbose #974 > > │ / f_code.co_filename: /mpmath/ctx_mp_python.py / f_back.f_lineno: 25 / │ 00:01:26 verbose #975 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:26 verbose #976 > > │ exception(gamma_) / f_code.co_name: fn / f_locals: log=True, s=0j / │ 00:01:26 verbose #977 > > │ f_lineno: 25 / f_code.co_filename: / f_back.f_lineno: / │ 00:01:26 verbose #978 > > │ f_back.f_code.co_filename: / arg: (<class 'ValueError'>, ValueError('gamma │ 00:01:26 verbose #979 > > │ function pole'), <traceback object at 0x<?>>) │ 00:01:26 verbose #980 > > │ line(gamma_) / f_code.co_name: fn / f_locals: log=True, s=0j / f_lineno: 29 │ 00:01:26 verbose #981 > > │ / f_code.co_filename: / f_back.f_lineno: / f_back.f_code.co_filename: / │ 00:01:26 verbose #982 > > │ arg: None │ 00:01:26 verbose #983 > > │ line(gamma_) / f_code.co_name: fn / f_locals: log=True, s=0j, │ 00:01:26 verbose #984 > > │ e=ValueError('gamma function pole') / f_lineno: 30 / f_code.co_filename: / │ 00:01:26 verbose #985 > > │ f_back.f_lineno: / f_back.f_code.co_filename: / arg: None │ 00:01:26 verbose #986 > > │ line(gamma_) / f_code.co_name: fn / f_locals: log=True, s=0j / f_lineno: 32 │ 00:01:26 verbose #987 > > │ / f_code.co_filename: / f_back.f_lineno: / f_back.f_code.co_filename: / │ 00:01:26 verbose #988 > > │ arg: None │ 00:01:26 verbose #989 > > │ return(gamma_) / f_code.co_name: fn / f_locals: log=True, s=0j / f_lineno: │ 00:01:26 verbose #990 > > │ 32 / f_code.co_filename: / f_back.f_lineno: / f_back.f_code.co_filename: │ 00:01:26 verbose #991 > > │ / arg: (0.0, 0.0) │ 00:01:26 verbose #992 > > │ gamma__ / s: Complex { re: 0.0, im: 0.0 } / result: Ok(Complex { re: 0.0, │ 00:01:26 verbose #993 > > │ im: 0.0 }) │ 00:01:26 verbose #994 > > │ zeta__ / s: Complex { re: 1.0, im: 0.0 } / result: Ok(Complex { re: inf, im: │ 00:01:26 verbose #995 > > │ 0.0 }) / z: Complex { re: 0.0, im: 0.0 } │ 00:01:26 verbose #996 > > │ assert_eq / actual: inf / expected: inf │ 00:01:26 verbose #997 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:01:26 verbose #998 > > │ │ 00:01:26 verbose #999 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:26 verbose #1000 > > 00:01:26 verbose #1001 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:26 verbose #1002 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:26 verbose #1003 > > │ ## test_symmetry_across_real_axis___ │ 00:01:26 verbose #1004 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:26 verbose #1005 > > 00:01:26 verbose #1006 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:26 verbose #1007 > > inl test_symmetry_across_real_axis___ log = run_test log (8u8, 7u8) fun zeta, 00:01:26 verbose #1008 > > gamma => 00:01:26 verbose #1009 > > inl s = .^(2, 10) 00:01:26 verbose #1010 > > inl result_positive_im = zeta s 00:01:26 verbose #1011 > > inl result_negative_im = zeta .^(re s, -(im s)) 00:01:26 verbose #1012 > > inl conj = result_negative_im |> conj 00:01:26 verbose #1013 > > result_positive_im |> re |> _assert_eq (conj |> re) 00:01:26 verbose #1014 > > result_positive_im |> im |> _assert_eq (conj |> im) 00:01:26 verbose #1015 > 00:01:26 debug #46 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a907d7681deb4762d178766145f99562acdb613703c2f7a01c5bde14b1b8e8e/main.spi 00:01:26 verbose #1016 > > 00:01:26 verbose #1017 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:26 verbose #1018 > > //// test 00:01:26 verbose #1019 > > ///! rust -d num-complex pyo3 00:01:26 verbose #1020 > > 00:01:26 verbose #1021 > > test_symmetry_across_real_axis___ true 00:01:26 verbose #1022 > 00:01:26 debug #47 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d585b28399efc21ddfd185fb547f267132966e23aabe29534f428ccec50174c3/main.spi 00:01:35 verbose #1023 > > 00:01:35 verbose #1024 > > ╭─[ 8.54s - return value ]─────────────────────────────────────────────────────╮ 00:01:35 verbose #1025 > > │ zeta_ / s: (2.0, 10.0) / count: 0 │ 00:01:35 verbose #1026 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │ 00:01:35 verbose #1027 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:35 verbose #1028 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:35 verbose #1029 > > │ / arg: None │ 00:01:35 verbose #1030 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │ 00:01:35 verbose #1031 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:35 verbose #1032 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:35 verbose #1033 > > │ / arg: None │ 00:01:35 verbose #1034 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │ 00:01:35 verbose #1035 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:01:35 verbose #1036 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:35 verbose #1037 > > │ / arg: None │ 00:01:35 verbose #1038 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │ 00:01:35 verbose #1039 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:01:35 verbose #1040 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:35 verbose #1041 > > │ / arg: None │ 00:01:35 verbose #1042 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+10j), a=1, derivative=0, │ 00:01:35 verbose #1043 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:01:35 verbose #1044 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:35 verbose #1045 > > │ / arg: None │ 00:01:35 verbose #1046 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+10j), kwargs={}, │ 00:01:35 verbose #1047 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:35 verbose #1048 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:35 verbose #1049 > > │ / arg: None │ 00:01:35 verbose #1050 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+10j), kwargs={}, │ 00:01:35 verbose #1051 > > │ name='zeta' /...778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:01:35 verbose #1052 > > │ arg: None │ 00:01:35 verbose #1053 > > │ line(zeta_) / f_code.co_name: python_bitcount / f_locals: n=26, bc=5 / │ 00:01:35 verbose #1054 > > │ f_lineno: 94 / f_code.co_filename: /mpmath/libmp/libintmath.py / │ 00:01:35 verbose #1055 > > │ f_back.f_lineno: 778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:01:35 verbose #1056 > > │ arg: None │ 00:01:35 verbose #1057 > > │ line(zeta_) / f_code.co_name: python_bitcount / f_locals: n=26, bc=5 / │ 00:01:35 verbose #1058 > > │ f_lineno: 95 / f_code.co_filename: /mpmath/libmp/libintmath.py / │ 00:01:35 verbose #1059 > > │ f_back.f_lineno: 778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:01:35 verbose #1060 > > │ arg: None │ 00:01:35 verbose #1061 > > │ return(zeta_) / f_code.co_name: python_bitcount / f_locals: n=26, bc=5 / │ 00:01:35 verbose #1062 > > │ f_lineno: 95 / f_code.co_filename: /mpmath/libmp/libintmath.py / │ 00:01:35 verbose #1063 > > │ f_back.f_lineno: 778 / f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:01:35 verbose #1064 > > │ arg: 5 │ 00:01:35 verbose #1065 > > │ line(zeta_) / f_code.co_name: mpf_add / f_locals: s=(0, 1, 2, 1), t=(0, 25, │ 00:01:35 verbose #1066 > > │ 2, 5), prec=14, rnd='d', _sub=0, ssign=0, sman=1, sexp=2, sbc=1, tsign=0, │ 00:01:35 verbose #1067 > > │ tman=25, texp=2, tbc=5, offset=0, man=26, bc=5 / f_lineno: 779 / │ 00:01:35 verbose #1068 > > │ f_code.co_filename: /mpmath/libmp/libmpf.py / f_back.f_lineno: 1401 / │ 00:01:35 verbose #1069 > > │ f_back.f_code.co_filename: /mpmath/libmp/libmpf.py / arg: None │ 00:01:35 verbose #1070 > > │ zeta_ / result: (1.19798250067418 + 0.0791704917205257j) / count: 1174 │ 00:01:35 verbose #1071 > > │ zeta / count: 0 / s: Complex { re: 2.0, im: -10.0 } │ 00:01:35 verbose #1072 > > │ zeta__ / s: Complex { re: 2.0, im: -10.0 } / result: Ok(Complex { re: │ 00:01:35 verbose #1073 > > │ 1.1979825006741847, im: 0.07917049172052575 }) / z: Complex { re: NaN, im: │ 00:01:35 verbose #1074 > > │ NaN } │ 00:01:35 verbose #1075 > > │ assert_eq / actual: 1.1979825006741847 / expected: 1.1979825006741847 │ 00:01:35 verbose #1076 > > │ assert_eq / actual: -0.07917049172052575 / expected: -0.07917049172052575 │ 00:01:35 verbose #1077 > > │ │ 00:01:35 verbose #1078 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #1079 > > 00:01:35 verbose #1080 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #1081 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #1082 > > │ ## test_behavior_near_origin___ │ 00:01:35 verbose #1083 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #1084 > > 00:01:35 verbose #1085 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #1086 > > inl test_behavior_near_origin___ log = run_test log (6u8, 5u8) fun zeta, gamma 00:01:35 verbose #1087 > > => 00:01:35 verbose #1088 > > inl s = .^(0.01, 0.01) 00:01:35 verbose #1089 > > inl result = zeta s 00:01:35 verbose #1090 > > result |> re |> _assert_lt limit.max 00:01:35 verbose #1091 > > result |> im |> _assert_lt limit.max 00:01:35 verbose #1092 > 00:01:35 debug #48 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4cd1df7cd1596a0410b9d7d98ab233095520f6326aa58b7a7c1561e1f8f98f04/main.spi 00:01:35 verbose #1093 > > 00:01:35 verbose #1094 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #1095 > > //// test 00:01:35 verbose #1096 > > ///! rust -d num-complex pyo3 00:01:35 verbose #1097 > > 00:01:35 verbose #1098 > > test_behavior_near_origin___ true 00:01:35 verbose #1099 > 00:01:35 debug #49 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/329bde4c7755e067d9369e7c1927611d9f7caa4cc3c480b608b4cd7517ce2d06/main.spi 00:01:44 verbose #1100 > > 00:01:44 verbose #1101 > > ╭─[ 8.50s - return value ]─────────────────────────────────────────────────────╮ 00:01:44 verbose #1102 > > │ zeta_ / s: (0.01, 0.01) / count: 0 │ 00:01:44 verbose #1103 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │ 00:01:44 verbose #1104 > > │ derivative=0, method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:44 verbose #1105 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:44 verbose #1106 > > │ / arg: None │ 00:01:44 verbose #1107 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │ 00:01:44 verbose #1108 > > │ derivative=0, method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:44 verbose #1109 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:44 verbose #1110 > > │ / arg: None │ 00:01:44 verbose #1111 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │ 00:01:44 verbose #1112 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 531 / │ 00:01:44 verbose #1113 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:44 verbose #1114 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:44 verbose #1115 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │ 00:01:44 verbose #1116 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 532 / │ 00:01:44 verbose #1117 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:44 verbose #1118 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:44 verbose #1119 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.01+0.01j), a=1, │ 00:01:44 verbose #1120 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │ 00:01:44 verbose #1121 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:01:44 verbose #1122 > > │ f_back.f_code.co_filename: / arg: None │ 00:01:44 verbose #1123 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(0.01+0.01j), kwargs={}, │ 00:01:44 verbose #1124 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:44 verbose #1125 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:44 verbose #1126 > > │ / arg: None │ 00:01:44 verbose #1127 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(0...eta.py / f_back.f_lineno: │ 00:01:44 verbose #1128 > > │ 1007 / f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:01:44 verbose #1129 > > │ line(gamma_) / f_code.co_name: mpc_gamma / f_locals: z=((0, │ 00:01:44 verbose #1130 > > │ 4458563631096791, -52, 52), (1, 5764607523034235, -59, 53)), prec=53, │ 00:01:44 verbose #1131 > > │ rnd='n', type=0, a=(0, 4458563631096791, -52, 52), b=(1, 5764607523034235, │ 00:01:44 verbose #1132 > > │ -59, 53), asign=0, aman=4458563631096791, aexp=-52, abc=52, bsign=1, │ 00:01:44 verbose #1133 > > │ bman=5764607523034235, bexp=-59, bbc=53, wp=73, amag=0, bmag=-6, mag=0, │ 00:01:44 verbose #1134 > > │ an=0, bn=0, absn=0j, gamma_size=0, need_reflection=0, zorig=((0, │ 00:01:44 verbose #1135 > > │ 4458563631096791, -52, 52), (1, 5764607523034235, -59, 53)), yfinal=0, │ 00:01:44 verbose #1136 > > │ balance_prec=0, n_for_stirling=14, need_reduction=True, │ 00:01:44 verbose #1137 > > │ afix=132131814190692672995328, bfix=-94447329657392906240, r=0, zprered=((0, │ 00:01:44 verbose #1138 > > │ 4458563631096791, -52, 52), (1, 5764607523034235, -59, 53)), d=14, │ 00:01:44 verbose #1139 > > │ rre=56942610883563778729574216337150, one=9444732965739290427392, │ 00:01:44 verbose #1140 > > │ rim=-1820461636508155576115177658065, k=12 / f_lineno: 2043 / │ 00:01:44 verbose #1141 > > │ f_code.co_filename: /mpmath/libmp/gammazeta.py / f_back.f_lineno: 1007 / │ 00:01:44 verbose #1142 > > │ f_back.f_code.co_filename: /mpmath/ctx_mp_python.py / arg: None │ 00:01:44 verbose #1143 > > │ gamma_ / result: (1.00577030202902 + 0.0059717824054102j) / count: 383 │ 00:01:44 verbose #1144 > > │ gamma__ / s: Complex { re: 0.99, im: -0.01 } / result: Ok(Complex { re: │ 00:01:44 verbose #1145 > > │ 1.005770302029023, im: 0.005971782405410201 }) │ 00:01:44 verbose #1146 > > │ zeta__ / s: Complex { re: 0.01, im: 0.01 } / result: Ok(Complex { re: │ 00:01:44 verbose #1147 > > │ -0.5091873433665667, im: -0.00939202213994577 }) / z: Complex { re: 0.0, im: │ 00:01:44 verbose #1148 > > │ 0.0 } │ 00:01:44 verbose #1149 > > │ assert_lt / actual: -0.5091873433665667 / expected: inf │ 00:01:44 verbose #1150 > > │ assert_lt / actual: -0.00939202213994577 / expected: inf │ 00:01:44 verbose #1151 > > │ │ 00:01:44 verbose #1152 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:44 verbose #1153 > > 00:01:44 verbose #1154 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:44 verbose #1155 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:44 verbose #1156 > > │ ## test_imaginary_axis │ 00:01:44 verbose #1157 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:44 verbose #1158 > > 00:01:44 verbose #1159 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:44 verbose #1160 > > inl test_imaginary_axis log = run_test log (3u8, 2u8) fun zeta, gamma => 00:01:44 verbose #1161 > > (join [[10; 20; 30; 40; 50; 60; 70; 80; 90; 100]]) 00:01:44 verbose #1162 > > |> listm.iter fun s => 00:01:44 verbose #1163 > > inl s = .^(0, s) 00:01:44 verbose #1164 > > inl result = zeta s 00:01:44 verbose #1165 > > result |> re |> _assert_ne 0 00:01:44 verbose #1166 > > result |> im |> _assert_ne 0 00:01:44 verbose #1167 > 00:01:44 debug #50 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40350195309bdadaf5760a4708ace3a14baeacb06ab7dc6ac97a6addd6d6cb6c/main.spi 00:01:44 verbose #1168 > > 00:01:44 verbose #1169 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:44 verbose #1170 > > //// test 00:01:44 verbose #1171 > > ///! rust -d num-complex pyo3 00:01:44 verbose #1172 > > 00:01:44 verbose #1173 > > test_imaginary_axis true 00:01:44 verbose #1174 > 00:01:44 debug #51 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ecb96dd1cac6dc7e16d502d12819ce1e407fa1298fce1a158af7d4359751d5ad/main.spi 00:01:53 verbose #1175 > > 00:01:53 verbose #1176 > > ╭─[ 8.79s - return value ]─────────────────────────────────────────────────────╮ 00:01:53 verbose #1177 > > │ zeta_ / s: (0.0, 10.0) / count: 0 │ 00:01:53 verbose #1178 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │ 00:01:53 verbose #1179 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:01:53 verbose #1180 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:53 verbose #1181 > > │ / arg: None │ 00:01:53 verbose #1182 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │ 00:01:53 verbose #1183 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:01:53 verbose #1184 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:53 verbose #1185 > > │ / arg: None │ 00:01:53 verbose #1186 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │ 00:01:53 verbose #1187 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:01:53 verbose #1188 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:53 verbose #1189 > > │ / arg: None │ 00:01:53 verbose #1190 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │ 00:01:53 verbose #1191 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:01:53 verbose #1192 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:53 verbose #1193 > > │ / arg: None │ 00:01:53 verbose #1194 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=10j, a=1, derivative=0, │ 00:01:53 verbose #1195 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:01:53 verbose #1196 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:01:53 verbose #1197 > > │ / arg: None │ 00:01:53 verbose #1198 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=10j, kwargs={}, name='zeta' / │ 00:01:53 verbose #1199 > > │ f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:01:53 verbose #1200 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:01:53 verbose #1201 > > │ / arg: None │ 00:01:53 verbose #1202 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=10j, kwargs={}, name='zeta' / │ 00:01:53 verbose #1203 > > │ f_lineno: 990 / f_code.co_f.../ arg: None │ 00:01:53 verbose #1204 > > │ line(gamma_) / f_code.co_name: to_fixed / f_locals: s=(0, 1, 0, 1), prec=83 │ 00:01:53 verbose #1205 > > │ / f_lineno: 511 / f_code.co_filename: /mpmath/libmp/libmpf.py / │ 00:01:53 verbose #1206 > > │ f_back.f_lineno: 2031 / f_back.f_code.co_filename: │ 00:01:53 verbose #1207 > > │ /mpmath/libmp/gammazeta.py / arg: None │ 00:01:53 verbose #1208 > > │ line(gamma_) / f_code.co_name: to_fixed / f_locals: s=(0, 1, 0, 1), prec=83, │ 00:01:53 verbose #1209 > > │ sign=0, man=1, exp=0, bc=1 / f_lineno: 512 / f_code.co_filename: │ 00:01:53 verbose #1210 > > │ /mpmath/libmp/libmpf.py / f_back.f_lineno: 2031 / f_back.f_code.co_filename: │ 00:01:53 verbose #1211 > > │ /mpmath/libmp/gammazeta.py / arg: None │ 00:01:53 verbose #1212 > > │ line(gamma_) / f_code.co_name: to_fixed / f_locals: s=(0, 1, 0, 1), prec=83, │ 00:01:53 verbose #1213 > > │ sign=0, man=1, exp=0, bc=1, offset=83 / f_lineno: 513 / f_code.co_filename: │ 00:01:53 verbose #1214 > > │ /mpmath/libmp/libmpf.py / f_back.f_lineno: 2031 / f_back.f_code.co_filename: │ 00:01:53 verbose #1215 > > │ /mpmath/libmp/gammazeta.py / arg: None │ 00:01:53 verbose #1216 > > │ line(gamma_) / f_code.co_name: to_fixed / f_locals: s=(0, 1, 0, 1), prec=83, │ 00:01:53 verbose #1217 > > │ sign=0, man=1, exp=0, bc=1, offset=83 / f_lineno: 517 / f_code.co_filename: │ 00:01:53 verbose #1218 > > │ /mpmath/libmp/libmpf.py / f_back.f_lineno: 2031 / f_back.f_code.co_filename: │ 00:01:53 verbose #1219 > > │ /mpmath/libmp/gammazeta.py / arg: None │ 00:01:53 verbose #1220 > > │ gamma_ / result: (-1.51425318049776e-67 + 2.79082155561748e-69j) / count: │ 00:01:53 verbose #1221 > > │ 289 │ 00:01:53 verbose #1222 > > │ gamma__ / s: Complex { re: 1.0, im: -100.0 } / result: Ok(Complex { re: │ 00:01:53 verbose #1223 > > │ -1.514253180497756e-67, im: 2.7908215556174775e-69 }) │ 00:01:53 verbose #1224 > > │ zeta__ / s: Complex { re: 0.0, im: 100.0 } / result: Ok(Complex { re: │ 00:01:53 verbose #1225 > > │ 6.51721042625301, im: 0.18128842533791736 }) / z: Complex { re: 0.0, im: 0.0 │ 00:01:53 verbose #1226 > > │ } │ 00:01:53 verbose #1227 > > │ assert_ne / actual: 6.51721042625301 / expected: 0.0 │ 00:01:53 verbose #1228 > > │ assert_ne / actual: 0.18128842533791736 / expected: 0.0 │ 00:01:53 verbose #1229 > > │ │ 00:01:53 verbose #1230 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:53 verbose #1231 > > 00:01:53 verbose #1232 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:53 verbose #1233 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:53 verbose #1234 > > │ ## test_critical_strip │ 00:01:53 verbose #1235 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:53 verbose #1236 > > 00:01:53 verbose #1237 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:53 verbose #1238 > > inl test_critical_strip log = run_test log (3u8, 2u8) fun zeta, gamma => 00:01:53 verbose #1239 > > (join [[ 00:01:53 verbose #1240 > > .^(0.5, 14.134725) 00:01:53 verbose #1241 > > .^(0.75, 20.5) 00:01:53 verbose #1242 > > .^(1.25, 30.1) 00:01:53 verbose #1243 > > .^(0.25, 40.0) 00:01:53 verbose #1244 > > .^(1.0, 50.0) 00:01:53 verbose #1245 > > ]]) 00:01:53 verbose #1246 > > |> listm.iter fun s => 00:01:53 verbose #1247 > > inl result = zeta s 00:01:53 verbose #1248 > > result |> re |> _assert_ne 0 00:01:53 verbose #1249 > > result |> im |> _assert_ne 0 00:01:53 verbose #1250 > 00:01:52 debug #52 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f0020b30359322a7222ee209f2292cc745f171b2783f327ad37cdbbab804371c/main.spi 00:01:53 verbose #1251 > > 00:01:53 verbose #1252 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:53 verbose #1253 > > //// test 00:01:53 verbose #1254 > > ///! rust -d num-complex pyo3 00:01:53 verbose #1255 > > 00:01:53 verbose #1256 > > test_critical_strip true 00:01:53 verbose #1257 > 00:01:53 debug #53 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e91132074d3f3fe379e0ea55b8225336fa94dee93767c02ebbdc98dd40b201ce/main.spi 00:02:01 verbose #1258 > > 00:02:02 verbose #1259 > > ╭─[ 8.57s - return value ]─────────────────────────────────────────────────────╮ 00:02:02 verbose #1260 > > │ zeta_ / s: (0.5, 14.134725) / count: 0 │ 00:02:02 verbose #1261 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:02:02 verbose #1262 > > │ derivative=0, method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:02:02 verbose #1263 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:02 verbose #1264 > > │ / arg: None │ 00:02:02 verbose #1265 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:02:02 verbose #1266 > > │ derivative=0, method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:02:02 verbose #1267 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:02 verbose #1268 > > │ / arg: None │ 00:02:02 verbose #1269 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:02:02 verbose #1270 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 531 / │ 00:02:02 verbose #1271 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:02:02 verbose #1272 > > │ f_back.f_code.co_filename: / arg: None │ 00:02:02 verbose #1273 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:02:02 verbose #1274 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 532 / │ 00:02:02 verbose #1275 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:02:02 verbose #1276 > > │ f_back.f_code.co_filename: / arg: None │ 00:02:02 verbose #1277 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(0.5+14.134725j), a=1, │ 00:02:02 verbose #1278 > > │ derivative=0, method=None, kwargs={}, d=0 / f_lineno: 533 / │ 00:02:02 verbose #1279 > > │ f_code.co_filename: /mpmath/functions/zeta.py / f_back.f_lineno: 25 / │ 00:02:02 verbose #1280 > > │ f_back.f_code.co_filename: / arg: None │ 00:02:02 verbose #1281 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(0.5+14.134725j), kwargs={}, │ 00:02:02 verbose #1282 > > │ name='zeta' / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:02:02 verbose #1283 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:02:02 verbose #1284 > > │ / arg: None │ 00:02:02 verbose #1285 > > │ line(zeta_) / f_code...5012210, sim=241793223535862290161314995 / f_lineno: │ 00:02:02 verbose #1286 > > │ 1648 / f_code.co_filename: /mpmath/libmp/gammazeta.py / f_back.f_lineno: │ 00:02:02 verbose #1287 > > │ 2050 / f_back.f_code.co_filename: /mpmath/libmp/gammazeta.py / arg: None │ 00:02:02 verbose #1288 > > │ line(gamma_) / f_code.co_name: complex_stirling_series / f_locals: x=0, │ 00:02:02 verbose #1289 > > │ y=-241785163922925834941235200, prec=82, _m=12089258196146291747061760000, │ 00:02:02 verbose #1290 > > │ tre=0, tim=396, ure=-1934281311383406679530, uim=0, │ 00:02:02 verbose #1291 > > │ sre=4443714077719696485012210, sim=241793223535862290161314995 / f_lineno: │ 00:02:02 verbose #1292 > > │ 1649 / f_code.co_filename: /mpmath/libmp/gammazeta.py / f_back.f_lineno: │ 00:02:02 verbose #1293 > > │ 2050 / f_back.f_code.co_filename: /mpmath/libmp/gammazeta.py / arg: None │ 00:02:02 verbose #1294 > > │ line(gamma_) / f_code.co_name: complex_stirling_series / f_locals: x=0, │ 00:02:02 verbose #1295 > > │ y=-241785163922925834941235200, prec=82, _m=12089258196146291747061760000, │ 00:02:02 verbose #1296 > > │ tre=0, tim=396, ure=-1934281311383406679530, uim=0, │ 00:02:02 verbose #1297 > > │ sre=4443714077719696485012210, sim=241793223535862290161314997 / f_lineno: │ 00:02:02 verbose #1298 > > │ 1650 / f_code.co_filename: /mpmath/libmp/gammazeta.py / f_back.f_lineno: │ 00:02:02 verbose #1299 > > │ 2050 / f_back.f_code.co_filename: /mpmath/libmp/gammazeta.py / arg: None │ 00:02:02 verbose #1300 > > │ gamma_ / result: (2.63173210619768e-35 - 8.16464935465334e-36j) / count: 262 │ 00:02:02 verbose #1301 > > │ gamma__ / s: Complex { re: 0.0, im: -50.0 } / result: Ok(Complex { re: │ 00:02:02 verbose #1302 > > │ 2.6317321061976804e-35, im: -8.164649354653339e-36 }) │ 00:02:02 verbose #1303 > > │ zeta__ / s: Complex { re: 1.0, im: 50.0 } / result: Ok(Complex { re: │ 00:02:02 verbose #1304 > > │ 0.44103873082309397, im: 0.281582455029683 }) / z: Complex { re: 0.0, im: │ 00:02:02 verbose #1305 > > │ 0.0 } │ 00:02:02 verbose #1306 > > │ assert_ne / actual: 0.44103873082309397 / expected: 0.0 │ 00:02:02 verbose #1307 > > │ assert_ne / actual: 0.281582455029683 / expected: 0.0 │ 00:02:02 verbose #1308 > > │ │ 00:02:02 verbose #1309 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:02 verbose #1310 > > 00:02:02 verbose #1311 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:02 verbose #1312 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:02 verbose #1313 > > │ ## test_reflection_formula_for_specific_value │ 00:02:02 verbose #1314 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:02 verbose #1315 > > 00:02:02 verbose #1316 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:02 verbose #1317 > > inl test_reflection_formula_for_specific_value log = run_test log (3u8, 2u8) fun 00:02:02 verbose #1318 > > zeta, gamma => 00:02:02 verbose #1319 > > (join [[ 00:02:02 verbose #1320 > > .^(3, 4) 00:02:02 verbose #1321 > > .^(2.5, -3.5) 00:02:02 verbose #1322 > > .^(1.5, 2.5) 00:02:02 verbose #1323 > > .^(0.5, 14.134725) 00:02:02 verbose #1324 > > ]]) 00:02:02 verbose #1325 > > |> listm.iter fun s => 00:02:02 verbose #1326 > > inl lhs = zeta s 00:02:02 verbose #1327 > > inl reflection_coefficient = 00:02:02 verbose #1328 > > (.^(2, 0) .** s) 00:02:02 verbose #1329 > > .* (.^(pi, 0) .** (s .- .^(1, 0))) 00:02:02 verbose #1330 > > .* (.^(pi, 0) .* s ./ .^(2, 0) |> complex_sin) 00:02:02 verbose #1331 > > .* gamma (.^(1, 0) .- s) 00:02:02 verbose #1332 > > 00:02:02 verbose #1333 > > inl one_minus_s = .^(1 - re s, -(im s)) 00:02:02 verbose #1334 > > inl rhs = reflection_coefficient .* zeta one_minus_s 00:02:02 verbose #1335 > > 00:02:02 verbose #1336 > > re lhs - re rhs |> abs |> _assert_lt 0.0001 00:02:02 verbose #1337 > > im lhs - im rhs |> abs |> _assert_lt 0.0001 00:02:02 verbose #1338 > 00:02:01 debug #54 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d4cac77be4645e374a88957c6f32ecc7f6c533f2d37121594b86087ebf30b244/main.spi 00:02:02 verbose #1339 > > 00:02:02 verbose #1340 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:02 verbose #1341 > > //// test 00:02:02 verbose #1342 > > ///! rust -d num-complex pyo3 00:02:02 verbose #1343 > > 00:02:02 verbose #1344 > > test_reflection_formula_for_specific_value true 00:02:02 verbose #1345 > 00:02:01 debug #55 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e5917d9ad84c3c43a18e3546a3d507beb97362a4aabaa81c0d071f7b300510d4/main.spi 00:02:11 verbose #1346 > > 00:02:11 verbose #1347 > > ╭─[ 8.94s - return value ]─────────────────────────────────────────────────────╮ 00:02:11 verbose #1348 > > │ zeta_ / s: (3.0, 4.0) / count: 0 │ 00:02:11 verbose #1349 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │ 00:02:11 verbose #1350 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:02:11 verbose #1351 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:11 verbose #1352 > > │ / arg: None │ 00:02:11 verbose #1353 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │ 00:02:11 verbose #1354 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:02:11 verbose #1355 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:11 verbose #1356 > > │ / arg: None │ 00:02:11 verbose #1357 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │ 00:02:11 verbose #1358 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:02:11 verbose #1359 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:11 verbose #1360 > > │ / arg: None │ 00:02:11 verbose #1361 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │ 00:02:11 verbose #1362 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:02:11 verbose #1363 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:11 verbose #1364 > > │ / arg: None │ 00:02:11 verbose #1365 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(3+4j), a=1, derivative=0, │ 00:02:11 verbose #1366 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:02:11 verbose #1367 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:11 verbose #1368 > > │ / arg: None │ 00:02:11 verbose #1369 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(3+4j), kwargs={}, name='zeta' │ 00:02:11 verbose #1370 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:02:11 verbose #1371 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:02:11 verbose #1372 > > │ / arg: None │ 00:02:11 verbose #1373 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(3+4j), kwargs={}, name='zeta' │ 00:02:11 verbose #1374 > > │ / f_linen...o: 2045 / f_code.co_filename: /mpmath/libmp/gammazeta.py / │ 00:02:11 verbose #1375 > > │ f_back.f_lineno: 1007 / f_back.f_code.co_filename: /mpmath/ctx_mp_python.py │ 00:02:11 verbose #1376 > > │ / arg: None │ 00:02:11 verbose #1377 > > │ line(gamma_) / f_code.co_name: mpc_gamma / f_locals: z=((0, 1, -1, 1), (0, │ 00:02:11 verbose #1378 > > │ 3978571390186527, -48, 52)), prec=53, rnd='n', type=0, a=(0, 1, -1, 1), │ 00:02:11 verbose #1379 > > │ b=(0, 3978571390186527, -48, 52), asign=0, aman=1, aexp=-1, abc=1, bsign=0, │ 00:02:11 verbose #1380 > > │ bman=3978571390186527, bexp=-48, bbc=52, wp=79, amag=0, bmag=4, mag=4, an=0, │ 00:02:11 verbose #1381 > > │ bn=14, absn=14j, gamma_size=56, need_reflection=0, zorig=((0, 1, -1, 1), (0, │ 00:02:11 verbose #1382 > > │ 3978571390186527, -48, 52)), yfinal=0, balance_prec=0, n_for_stirling=15, │ 00:02:11 verbose #1383 > > │ need_reduction=True, afix=2115620184325601055735808, │ 00:02:11 verbose #1384 > > │ bfix=8543917002826194402410496, r=0, zprered=((0, 1, -1, 1), (0, │ 00:02:11 verbose #1385 > > │ 3978571390186527, -48, 52)), d=5, rre=-542313259704087430481959845, │ 00:02:11 verbose #1386 > > │ one=604462909807314587353088, rim=-1657865507045117397880679064, k=2 / │ 00:02:11 verbose #1387 > > │ f_lineno: 2043 / f_code.co_filename: /mpmath/libmp/gammazeta.py / │ 00:02:11 verbose #1388 > > │ f_back.f_lineno: 1007 / f_back.f_code.co_filename: /mpmath/ctx_mp_python.py │ 00:02:11 verbose #1389 > > │ / arg: None │ 00:02:11 verbose #1390 > > │ gamma_ / result: (-1.4455538437607e-10 - 5.52278876877407e-10j) / count: 318 │ 00:02:11 verbose #1391 > > │ gamma__ / s: Complex { re: 0.5, im: 14.134725 } / result: Ok(Complex { re: │ 00:02:11 verbose #1392 > > │ -1.4455538437606964e-10, im: -5.522788768774066e-10 }) │ 00:02:11 verbose #1393 > > │ zeta__ / s: Complex { re: 0.5, im: -14.134725 } / result: Ok(Complex { re: │ 00:02:11 verbose #1394 > > │ 1.7674298413849186e-8, im: 1.1102028930923156e-7 }) / z: Complex { re: 0.0, │ 00:02:11 verbose #1395 > > │ im: 0.0 } │ 00:02:11 verbose #1396 > > │ assert_lt / actual: 4.433688083284228e-22 / expected: 0.0001 │ 00:02:11 verbose #1397 > > │ assert_lt / actual: 1.3234889800848443e-22 / expected: 0.0001 │ 00:02:11 verbose #1398 > > │ │ 00:02:11 verbose #1399 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:11 verbose #1400 > > 00:02:11 verbose #1401 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:11 verbose #1402 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:11 verbose #1403 > > │ ## test_euler_product_formula │ 00:02:11 verbose #1404 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:11 verbose #1405 > > 00:02:11 verbose #1406 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:11 verbose #1407 > > inl test_euler_product_formula log = run_test log (3u8, 2u8) fun zeta, gamma => 00:02:11 verbose #1408 > > inl s_values = join [[2; 2.5; 3; 3.5; 4; 4.5; 5]] 00:02:11 verbose #1409 > > inl primes = join [[2; 3; 5; 7; 11; 13; 17; 19; 23; 29; 31; 37; 41; 43; 47; 00:02:11 verbose #1410 > > 53; 59; 61; 67; 71]] 00:02:11 verbose #1411 > > s_values 00:02:11 verbose #1412 > > |> listm.iter fun s_re => 00:02:11 verbose #1413 > > inl s = .^(s_re, 0) 00:02:11 verbose #1414 > > inl product = 00:02:11 verbose #1415 > > (1, primes) 00:02:11 verbose #1416 > > ||> listm.fold fun acc x => 00:02:11 verbose #1417 > > acc * 1 / (1 - x ** -s_re) 00:02:11 verbose #1418 > > 00:02:11 verbose #1419 > > inl result = zeta s 00:02:11 verbose #1420 > > re result - product |> abs |> _assert_lt 0.01 00:02:11 verbose #1421 > > result |> im |> _assert_lt 0.01 00:02:11 verbose #1422 > 00:02:10 debug #56 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f9d87bdba69e1d20c171ed89162cc6efb3856a72e234ea0789c8666d5e4ce718/main.spi 00:02:11 verbose #1423 > > 00:02:11 verbose #1424 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:11 verbose #1425 > > //// test 00:02:11 verbose #1426 > > ///! rust -d num-complex pyo3 00:02:11 verbose #1427 > > 00:02:11 verbose #1428 > > test_euler_product_formula true 00:02:11 verbose #1429 > 00:02:10 debug #57 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77fa2bb315fb23aa5bf4f80c445374307dd2dc2223d0cc2e5887fbaf9baa4888/main.spi 00:02:19 verbose #1430 > > 00:02:19 verbose #1431 > > ╭─[ 8.72s - return value ]─────────────────────────────────────────────────────╮ 00:02:19 verbose #1432 > > │ zeta_ / s: (2.0, 0.0) / count: 0 │ 00:02:19 verbose #1433 > > │ call(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:02:19 verbose #1434 > > │ method=None, kwargs={} / f_lineno: 528 / f_code.co_filename: │ 00:02:19 verbose #1435 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:19 verbose #1436 > > │ / arg: None │ 00:02:19 verbose #1437 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:02:19 verbose #1438 > > │ method=None, kwargs={} / f_lineno: 530 / f_code.co_filename: │ 00:02:19 verbose #1439 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:19 verbose #1440 > > │ / arg: None │ 00:02:19 verbose #1441 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:02:19 verbose #1442 > > │ method=None, kwargs={}, d=0 / f_lineno: 531 / f_code.co_filename: │ 00:02:19 verbose #1443 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:19 verbose #1444 > > │ / arg: None │ 00:02:19 verbose #1445 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:02:19 verbose #1446 > > │ method=None, kwargs={}, d=0 / f_lineno: 532 / f_code.co_filename: │ 00:02:19 verbose #1447 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:19 verbose #1448 > > │ / arg: None │ 00:02:19 verbose #1449 > > │ line(zeta_) / f_code.co_name: zeta / f_locals: s=(2+0j), a=1, derivative=0, │ 00:02:19 verbose #1450 > > │ method=None, kwargs={}, d=0 / f_lineno: 533 / f_code.co_filename: │ 00:02:19 verbose #1451 > > │ /mpmath/functions/zeta.py / f_back.f_lineno: 25 / f_back.f_code.co_filename: │ 00:02:19 verbose #1452 > > │ / arg: None │ 00:02:19 verbose #1453 > > │ call(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │ 00:02:19 verbose #1454 > > │ / f_lineno: 989 / f_code.co_filename: /mpmath/ctx_mp_python.py / │ 00:02:19 verbose #1455 > > │ f_back.f_lineno: 533 / f_back.f_code.co_filename: /mpmath/functions/zeta.py │ 00:02:19 verbose #1456 > > │ / arg: None │ 00:02:19 verbose #1457 > > │ line(zeta_) / f_code.co_name: f / f_locals: x=(2+0j), kwargs={}, name='zeta' │ 00:02:19 verbose #1458 > > │ / f_linen..._back.f_lineno: 985 / f_back.f_code.co_filename: │ 00:02:19 verbose #1459 > > │ /mpmath/libmp/gammazeta.py / arg: None │ 00:02:19 verbose #1460 > > │ line(zeta_) / f_code.co_name: mpf_zeta_int / f_locals: s=5, prec=53, │ 00:02:19 verbose #1461 > > │ rnd='n', wp=73, m=19.25, needed_terms=623488, n=33, d=[1, 2179, 792067, │ 00:02:19 verbose #1462 > > │ 115062531, 8930212611, 429314925315, 13983537177347, 327666966438659, │ 00:02:19 verbose #1463 > > │ 5764846406968067, 78615943485956867, 851604426176701187, │ 00:02:19 verbose #1464 > > │ 7470527451121689347, 53898915046387983107, 323897845985013506819, │ 00:02:19 verbose #1465 > > │ 1638178356374090130179, 7034281785235908174595, 25833609859980306522883, │ 00:02:19 verbose #1466 > > │ 81661917475887913739011, 223448095548034217779971, 532029677981012660429571, │ 00:02:19 verbose #1467 > > │ 1108048631855905753375491, 2029946562680066824315651, │ 00:02:19 verbose #1468 > > │ 3292927237466655352791811, 4769455369342763680768771, │ 00:02:19 verbose #1469 > > │ 6235511670496346417767171, 7463408621503347142796035, │ 00:02:19 verbose #1470 > > │ 8322751284048216428487427, 8818779962777819524211459, │ 00:02:19 verbose #1471 > > │ 9050689474911140452082435, 9136270117622166323831555, │ 00:02:19 verbose #1472 > > │ 9160252037839493347779331, 9165045885455648617505539, │ 00:02:19 verbose #1473 > > │ 9165654628010081032708867, 9165691521498228451812099], │ 00:02:19 verbose #1474 > > │ t=-84153986440240940095109733900764881301998910956, k=26 / f_lineno: 954 / │ 00:02:19 verbose #1475 > > │ f_code.co_filename: /mpmath/libmp/gammazeta.py / f_back.f_lineno: 985 / │ 00:02:19 verbose #1476 > > │ f_back.f_code.co_filename: /mpmath/libmp/gammazeta.py / arg: None │ 00:02:19 verbose #1477 > > │ zeta_ / result: (1.03692775514337 + 0.0j) / count: 228 │ 00:02:19 verbose #1478 > > │ zeta / count: 0 / s: Complex { re: 5.0, im: 0.0 } │ 00:02:19 verbose #1479 > > │ zeta__ / s: Complex { re: 5.0, im: 0.0 } / result: Ok(Complex { re: │ 00:02:19 verbose #1480 > > │ 1.03692775514337, im: 0.0 }) / z: Complex { re: NaN, im: NaN } │ 00:02:19 verbose #1481 > > │ assert_lt / actual: 2.0033654735129858e-9 / expected: 0.01 │ 00:02:19 verbose #1482 > > │ assert_lt / actual: 0.0 / expected: 0.01 │ 00:02:19 verbose #1483 > > │ │ 00:02:19 verbose #1484 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:19 verbose #1485 > > 00:02:19 verbose #1486 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:19 verbose #1487 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:19 verbose #1488 > > │ ## graph │ 00:02:19 verbose #1489 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:19 verbose #1490 > > 00:02:19 verbose #1491 > > ── mermaid ───────────────────────────────────────────────────────────────────── 00:02:19 verbose #1492 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:19 verbose #1493 > > │ <div class="mermaidMarkdownContainer" style="background-color:white"> │ 00:02:19 verbose #1494 > > │ <link rel="stylesheet" │ 00:02:19 verbose #1495 > > │ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min. │ 00:02:19 verbose #1496 > > │ css"> │ 00:02:19 verbose #1497 > > │ <div id="57b65e480a49451c9bd783a28b1eb2b3"></div> │ 00:02:19 verbose #1498 > > │ <script type="module"> │ 00:02:19 verbose #1499 > > │ │ 00:02:19 verbose #1500 > > │ import mermaid from │ 00:02:19 verbose #1501 > > │ 'https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.esm.min.mjs'; │ 00:02:19 verbose #1502 > > │ let renderTarget = │ 00:02:19 verbose #1503 > > │ document.getElementById('57b65e480a49451c9bd783a28b1eb2b3'); │ 00:02:19 verbose #1504 > > │ try { │ 00:02:19 verbose #1505 > > │ const {svg, bindFunctions} = await │ 00:02:19 verbose #1506 > > │ mermaid.mermaidAPI.render( │ 00:02:19 verbose #1507 > > │ 'mermaid_57b65e480a49451c9bd783a28b1eb2b3', │ 00:02:19 verbose #1508 > > │ `graph TD │ 00:02:19 verbose #1509 > > │ zeta("zeta()") --> convert │ 00:02:19 verbose #1510 > > │ zeta --> f["f()"] │ 00:02:19 verbose #1511 > > │ f --> mpc_f["mpc_zeta()"] │ 00:02:19 verbose #1512 > > │ f --> mpf_f["mpf_zeta()"] │ 00:02:19 verbose #1513 > > │ convert --> from_float │ 00:02:19 verbose #1514 > > │ from_float --> from_man_exp │ 00:02:19 verbose #1515 > > │ from_man_exp --> python_bitcount │ 00:02:19 verbose #1516 > > │ python_bitcount --> _normalize │ 00:02:19 verbose #1517 > > │ _normalize --> make_mpc │ 00:02:19 verbose #1518 > > │ make_mpc --> mpc_zeta["mpc_zeta()"] │ 00:02:19 verbose #1519 > > │ mpc_zeta --> mpf_zeta["mpf_zeta()"] │ 00:02:19 verbose #1520 > > │ mpf_zeta --> to_int │ 00:02:19 verbose #1521 > > │ to_int --> mpf_zeta_int["mpf_zeta_int()"] │ 00:02:19 verbose #1522 > > │ mpf_zeta_int --> borwein_coefficients │ 00:02:19 verbose #1523 > > │ borwein_coefficients --> from_man_exp_2("from_man_exp()") │ 00:02:19 verbose #1524 > > │ from_man_exp_2 --> python_bitcount_2("python_bitcount()") │ 00:02:19 verbose #1525 > > │ python_bitcount_2 --> _normalize_2("_normalize()") │ 00:02:19 verbose #1526 > > │ _normalize_2 --> make_mpc_2("make_mpc()") │ 00:02:19 verbose #1527 > > │ make_mpc_2 --> stop_trace │ 00:02:19 verbose #1528 > > │ mpf_zeta_int --> mpf_bernoulli │ 00:02:19 verbose #1529 > > │ mpf_bernoulli --> bernoulli_size │ 00:02:19 verbose #1530 > > │ bernoulli_size --> mpf_rdiv_int │ 00:02:19 verbose #1531 > > │ mpf_rdiv_int --> python_bitcount_3("python_bitcount()") │ 00:02:19 verbose #1532 > > │ python_bitcount_3 --> _normalize1 │ 00:02:19 verbose #1533 > > │ _normalize1 --> from_man_exp_3("from_man_exp()") │ 00:02:19 verbose #1534 > > │ from_man_exp_3 --> _normalize_3("_normalize()") │ 00:02:19 verbose #1535 > > │ _normalize_3 --> mpf_sub │ 00:02:19 verbose #1536 > > │ mpf_sub --> mpf_add │ 00:02:19 verbose #1537 > > │ mpf_add --> mpf_neg │ 00:02:19 verbose #1538 > > │ mpf_neg --> _normalize1_2("_normalize1()") │ 00:02:19 verbose #1539 > > │ _normalize1_2 --> from_int │ 00:02:19 verbose #1540 > > │ from_int --> mpf_div │ 00:02:19 verbose #1541 > > │ mpf_div --> python_bitcount_4("python_bitcount()") │ 00:02:19 verbose #1542 > > │ python_bitcount_4 --> _normalize1_3("_normalize1()") │ 00:02:19 verbose #1543 > > │ _normalize1_3 --> make_mpc_3("make_mpc()") │ 00:02:19 verbose #1544 > > │ make_mpc_3 --> final_stop["stop_trace()"]`); │ 00:02:19 verbose #1545 > > │ renderTarget.innerHTML = svg; │ 00:02:19 verbose #1546 > > │ bindFunctions?.(renderTarget); │ 00:02:19 verbose #1547 > > │ } │ 00:02:19 verbose #1548 > > │ catch (error) { │ 00:02:19 verbose #1549 > > │ console.log(error); │ 00:02:19 verbose #1550 > > │ } │ 00:02:19 verbose #1551 > > │ </script> │ 00:02:19 verbose #1552 > > │ </div> │ 00:02:19 verbose #1553 > > │ │ 00:02:19 verbose #1554 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:19 verbose #1555 > > 00:02:19 verbose #1556 > > ── mermaid ───────────────────────────────────────────────────────────────────── 00:02:19 verbose #1557 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:19 verbose #1558 > > │ <div class="mermaidMarkdownContainer" style="background-color:white"> │ 00:02:19 verbose #1559 > > │ <link rel="stylesheet" │ 00:02:19 verbose #1560 > > │ href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min. │ 00:02:19 verbose #1561 > > │ css"> │ 00:02:19 verbose #1562 > > │ <div id="8c6022fbe9eb490aa4559333eb3e9abb"></div> │ 00:02:19 verbose #1563 > > │ <script type="module"> │ 00:02:19 verbose #1564 > > │ │ 00:02:19 verbose #1565 > > │ import mermaid from │ 00:02:19 verbose #1566 > > │ 'https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.esm.min.mjs'; │ 00:02:19 verbose #1567 > > │ let renderTarget = │ 00:02:19 verbose #1568 > > │ document.getElementById('8c6022fbe9eb490aa4559333eb3e9abb'); │ 00:02:19 verbose #1569 > > │ try { │ 00:02:19 verbose #1570 > > │ const {svg, bindFunctions} = await │ 00:02:19 verbose #1571 > > │ mermaid.mermaidAPI.render( │ 00:02:19 verbose #1572 > > │ 'mermaid_8c6022fbe9eb490aa4559333eb3e9abb', │ 00:02:19 verbose #1573 > > │ `graph TD │ 00:02:19 verbose #1574 > > │ zeta_rust("zeta() - Rust") --> num_traits("num-traits") │ 00:02:19 verbose #1575 > > │ zeta_rust --> num_bigint("num-bigint") │ 00:02:19 verbose #1576 > > │ zeta_rust --> rust_decimal("rust_decimal for precision") │ 00:02:19 verbose #1577 > > │ zeta_rust --> error_handling("Rust Error Handling") │ 00:02:19 verbose #1578 > > │ │ 00:02:19 verbose #1579 > > │ num_traits --> num_traits_usage("Use for common traits") │ 00:02:19 verbose #1580 > > │ num_bigint --> bigint_operations("Arbitrary-precision arithmetic │ 00:02:19 verbose #1581 > > │ operations") │ 00:02:19 verbose #1582 > > │ rust_decimal --> decimal_operations("High-precision decimal operations") │ 00:02:19 verbose #1583 > > │ error_handling --> result_type("Use Result<T, E> for error handling") │ 00:02:19 verbose #1584 > > │ │ 00:02:19 verbose #1585 > > │ bigint_operations --> convert_rust("convert() - Rust") │ 00:02:19 verbose #1586 > > │ bigint_operations --> normalize_rust("_normalize() - Rust") │ 00:02:19 verbose #1587 > > │ │ 00:02:19 verbose #1588 > > │ convert_rust --> from_float_rust("from_float() - Rust") │ 00:02:19 verbose #1589 > > │ from_float_rust --> from_man_exp_rust("from_man_exp() - Rust") │ 00:02:19 verbose #1590 > > │ from_man_exp_rust --> bitcount_rust("bitcount() - Rust") │ 00:02:19 verbose #1591 > > │ bitcount_rust --> normalize_rust │ 00:02:19 verbose #1592 > > │ normalize_rust --> mpc_zeta_rust("mpc_zeta() - Rust") │ 00:02:19 verbose #1593 > > │ mpc_zeta_rust --> mpf_zeta_rust("mpf_zeta() - Rust") │ 00:02:19 verbose #1594 > > │ mpf_zeta_rust --> to_int_rust("to_int() - Rust") │ 00:02:19 verbose #1595 > > │ to_int_rust --> mpf_zeta_int_rust("mpf_zeta_int() - Rust") │ 00:02:19 verbose #1596 > > │ │ 00:02:19 verbose #1597 > > │ mpf_zeta_int_rust --> borwein_coefficients_rust("borwein_coefficients() │ 00:02:19 verbose #1598 > > │ - Rust") │ 00:02:19 verbose #1599 > > │ borwein_coefficients_rust --> from_man_exp_rust_2("from_man_exp() - │ 00:02:19 verbose #1600 > > │ Rust") │ 00:02:19 verbose #1601 > > │ from_man_exp_rust_2 --> bitcount_rust_2("bitcount() - Rust") │ 00:02:19 verbose #1602 > > │ bitcount_rust_2 --> normalize_rust_2("_normalize() - Rust") │ 00:02:19 verbose #1603 > > │ normalize_rust_2 --> make_mpc_rust("make_mpc() - Rust") │ 00:02:19 verbose #1604 > > │ │ 00:02:19 verbose #1605 > > │ mpf_zeta_int_rust --> mpf_bernoulli_rust("mpf_bernoulli() - Rust") │ 00:02:19 verbose #1606 > > │ mpf_bernoulli_rust --> bernoulli_size_rust("bernoulli_size() - Rust") │ 00:02:19 verbose #1607 > > │ bernoulli_size_rust --> mpf_rdiv_int_rust("mpf_rdiv_int() - Rust") │ 00:02:19 verbose #1608 > > │ mpf_rdiv_int_rust --> bitcount_rust_3("bitcount() - Rust") │ 00:02:19 verbose #1609 > > │ bitcount_rust_3 --> normalize1_rust("_normalize1() - Rust") │ 00:02:19 verbose #1610 > > │ normalize1_rust --> from_man_exp_rust_3("from_man_exp() - Rust") │ 00:02:19 verbose #1611 > > │ from_man_exp_rust_3 --> normalize_rust_3("_normalize() - Rust") │ 00:02:19 verbose #1612 > > │ normalize_rust_3 --> mpf_sub_rust("mpf_sub() - Rust") │ 00:02:19 verbose #1613 > > │ mpf_sub_rust --> mpf_add_rust("mpf_add() - Rust") │ 00:02:19 verbose #1614 > > │ mpf_add_rust --> mpf_neg_rust("mpf_neg() - Rust") │ 00:02:19 verbose #1615 > > │ mpf_neg_rust --> normalize1_rust_2("_normalize1() - Rust") │ 00:02:19 verbose #1616 > > │ normalize1_rust_2 --> from_int_rust("from_int() - Rust") │ 00:02:19 verbose #1617 > > │ from_int_rust --> mpf_div_rust("mpf_div() - Rust") │ 00:02:19 verbose #1618 > > │ mpf_div_rust --> bitcount_rust_4("bitcount() - Rust") │ 00:02:19 verbose #1619 > > │ bitcount_rust_4 --> normalize1_rust_3("_normalize1() - Rust") │ 00:02:19 verbose #1620 > > │ │ 00:02:19 verbose #1621 > > │ style zeta_rust fill:#f9f,stroke:#333,stroke-width:4px │ 00:02:19 verbose #1622 > > │ style num_traits fill:#bbf,stroke:#333,stroke-width:2px │ 00:02:19 verbose #1623 > > │ style num_bigint fill:#bbf,stroke:#333,stroke-width:2px │ 00:02:19 verbose #1624 > > │ style rust_decimal fill:#bbf,stroke:#333,stroke-width:2px │ 00:02:19 verbose #1625 > > │ style error_handling fill:#bbf,stroke:#333,stroke-width:2px │ 00:02:19 verbose #1626 > > │ style bigint_operations fill:#bfb,stroke:#333,stroke-width:2px │ 00:02:19 verbose #1627 > > │ style decimal_operations fill:#bfb,stroke:#333,stroke-width:2px │ 00:02:19 verbose #1628 > > │ style result_type fill:#bfb,stroke:#333,stroke-width:2px`); │ 00:02:19 verbose #1629 > > │ renderTarget.innerHTML = svg; │ 00:02:19 verbose #1630 > > │ bindFunctions?.(renderTarget); │ 00:02:19 verbose #1631 > > │ } │ 00:02:19 verbose #1632 > > │ catch (error) { │ 00:02:19 verbose #1633 > > │ console.log(error); │ 00:02:19 verbose #1634 > > │ } │ 00:02:19 verbose #1635 > > │ </script> │ 00:02:19 verbose #1636 > > │ </div> │ 00:02:19 verbose #1637 > > │ │ 00:02:19 verbose #1638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:19 verbose #1639 > > 00:02:19 verbose #1640 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:19 verbose #1641 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:19 verbose #1642 > > │ ## tests │ 00:02:19 verbose #1643 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:19 verbose #1644 > > 00:02:19 verbose #1645 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:19 verbose #1646 > > inl tests () = 00:02:19 verbose #1647 > > testing.run_tests_log { 00:02:19 verbose #1648 > > test_zeta_at_known_values_ 00:02:19 verbose #1649 > > test_zeta_at_2_minus2 00:02:19 verbose #1650 > > test_trivial_zero_at_negative_even___ 00:02:19 verbose #1651 > > test_non_trivial_zero___ 00:02:19 verbose #1652 > > test_real_part_greater_than_one___ 00:02:19 verbose #1653 > > test_zeta_at_1___ 00:02:19 verbose #1654 > > test_symmetry_across_real_axis___ 00:02:19 verbose #1655 > > test_behavior_near_origin___ 00:02:19 verbose #1656 > > test_imaginary_axis 00:02:19 verbose #1657 > > test_critical_strip 00:02:19 verbose #1658 > > test_reflection_formula_for_specific_value 00:02:19 verbose #1659 > > test_euler_product_formula 00:02:19 verbose #1660 > > } 00:02:19 verbose #1661 > 00:02:19 debug #58 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5e5dac6f9e93b1802e33f87857f25745ca4885df65665c9ed357caaca0acbf63/main.spi 00:02:19 verbose #1662 > > 00:02:19 verbose #1663 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:19 verbose #1664 > > ///! _ 00:02:19 verbose #1665 > > 00:02:19 verbose #1666 > > inl main (_args : array_base string) = 00:02:19 verbose #1667 > > inl value = 1i32 00:02:19 verbose #1668 > > console.write_line ($'$"value: {!value}"' : string) 00:02:19 verbose #1669 > > 0i32 00:02:19 verbose #1670 > > 00:02:19 verbose #1671 > > inl main () = 00:02:19 verbose #1672 > > $'let tests () = !tests ()' : () 00:02:19 verbose #1673 > > $'let main args = !main args' : () 00:02:20 verbose #1674 > 00:02:19 debug #59 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8d54e23e2d07385e920de5d8a5a599cf43c2d37cd0216ff3d3270d4d501bc449/main.spi 00:02:20 verbose #1675 > 00:02:19 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 123484 } 00:02:20 verbose #1676 > 00:02:19 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:21 verbose #1677 > 00:02:19 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/math/math.dib.ipynb to html 00:02:21 verbose #1678 > 00:02:19 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:02:21 verbose #1679 > 00:02:19 verbose #7 ! validate(nb) 00:02:21 verbose #1680 > 00:02:20 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:02:21 verbose #1681 > 00:02:20 verbose #9 ! return _pygments_highlight( 00:02:22 verbose #1682 > 00:02:21 verbose #10 ! [NbConvertApp] Writing 7171060 bytes to /home/runner/work/polyglot/polyglot/lib/math/math.dib.html 00:02:22 verbose #1683 > 00:02:21 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 889 } 00:02:22 verbose #1684 > 00:02:21 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 889 } 00:02:22 verbose #1685 > 00:02:21 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/math/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/math/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:22 verbose #1686 > 00:02:21 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:02:22 verbose #1687 > 00:02:21 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:02:22 verbose #1688 > 00:02:21 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 124432 } 00:02:22 debug #1689 runtime.execute_with_options_async / { exit_code = 0; output_length = 130401 } 00:02:22 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path math.dib --retries 5 00:02:22 verbose #30 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:02:23 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 writeDibCode / output: Spi / path: math.dib 00:00:00 debug #2 parseDibCode / output: Spi / file: math.dib 00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 verbose #29 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 debug #3 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:01 debug #4 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:01 debug #5 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:01 verbose #6 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # math\nopen testing\nopen rust.rust_operators\nopen rust\n\n/// ## comp...gs = !main args\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/math/math.spi"}} / result: 00:00:01 verbose #7 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/math/math.spi"}} / result: 00:00:01 verbose #7 > 00:00:01 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/math/math.spi 00:00:02 debug #8 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:02 debug #9 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:02 debug #10 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:02 debug #11 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:03 debug #12 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:03 debug #13 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:03 debug #14 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:03 debug #15 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:04 debug #16 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:04 debug #17 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:04 debug #18 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("pyo3::Python")>] #endif type pyo3_Python = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fa...ine v4 v1 0 let v0 : (unit -> unit) = closure0() let tests () = v0 () let v1 : ((string []) -> int32) = closure5() let main args = v1 args () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: math.spi 00:00:04 debug #19 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("pyo3::Python")>] #endif type pyo3_Python = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fa...ine v4 v1 0 let v0 : (unit -> unit) = closure0() let tests () = v0 () let v1 : ((string []) -> int32) = closure5() let main args = v1 args () / errors: [] / typeErrorCount: 0 / retry: 0 / path: math.spi 00:00:04 debug #20 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:04 verbose #30 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:00:04 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 persistCodeProject / packages: [Fable.Core] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: math / hash: / code.Length: 133129 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet publish "/home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/lib/math/dist" --runtime linux-x64; cancellation_token = None; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot/target/Builder/math" } } 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj 00:00:01 verbose #9 > Starting restore process. 00:00:02 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj (in 280 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj] 00:00:12 verbose #13 > math -> /home/runner/work/polyglot/polyglot/target/Builder/math/bin/Release/net9.0/linux-x64/math.dll 00:00:12 verbose #14 > math -> /home/runner/work/polyglot/polyglot/lib/math/dist 00:00:12 debug #15 runtime.execute_with_options_async / { exit_code = 0; output_length = 1049 } targetDir: /home/runner/work/polyglot/polyglot/target/Builder/math Fable 4.19.3: F# to Rust compiler (status: alpha) Thanks to the contributor! @mastoj Stand with Ukraine! https://standwithukraine.com.ua/ Parsing target/Builder/math/math.fsproj... target/Builder/math> dotnet restore math.fable-temp.csproj -p:FABLE_COMPILER=true -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true -p:_LINUX=true Determining projects to restore... Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b The last full restore is still up to date. Nothing left to do. Total time taken: 0 milliseconds Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b Restoring /home/runner/work/polyglot/polyglot/target/Builder/math/math.fable-temp.csproj Starting restore process. Total time taken: 0 milliseconds Restored /home/runner/work/polyglot/polyglot/target/Builder/math/math.fable-temp.csproj (in 300 ms). target/Builder/math> dotnet restore /home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj Determining projects to restore... Restored /home/runner/work/polyglot/polyglot/target/Builder/math/math.fsproj (in 277 ms). Project and references (14 source files) parsed in 4997ms Started Fable compilation... Fable compilation finished in 6115ms ./lib/spiral/crypto.fsx(1398,0): (1398,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/common.fsx(1270,0): (1270,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/common.fsx(1277,0): (1277,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/date_time.fsx(1056,0): (1056,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/async_.fsx(80,0): (80,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/sm.fsx(426,0): (426,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/threading.fsx(141,0): (141,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/platform.fsx(108,0): (108,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/networking.fsx(4875,0): (4875,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/networking.fsx(4884,0): (4884,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/trace.fsx(1140,0): (1140,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/trace.fsx(1143,0): (1143,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/runtime.fsx(5448,0): (5448,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/runtime.fsx(5459,0): (5459,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/file_system.fsx(11602,0): (11602,67) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./lib/spiral/file_system.fsx(11641,0): (11641,2) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! ./target/Builder/math/math.fs(33,0): (35,3) warning FABLE: For Rust, support for F# static and module do bindings is disabled by default. It can be enabled with the 'static_do_bindings' feature. Use at your own risk! Downloading crates ... Downloaded approx v0.5.1 Downloaded num-rational v0.4.2 Downloaded rawpointer v0.2.1 Downloaded nalgebra-macros v0.1.0 Downloaded matrixmultiply v0.3.8 Downloaded pyo3-macros v0.21.2 Downloaded pyo3-build-config v0.21.2 Downloaded simba v0.6.0 Downloaded safe_arch v0.7.2 Downloaded pyo3-macros-backend v0.21.2 Downloaded rand_distr v0.4.3 Downloaded wide v0.7.25 Downloaded statrs v0.16.1 Downloaded portable-atomic v1.6.0 Downloaded pyo3-ffi v0.21.2 Downloaded float-cmp v0.9.0 Downloaded pyo3 v0.21.2 Downloaded nalgebra v0.29.0 Compiling libm v0.2.8 Compiling num-traits v0.2.19 Compiling target-lexicon v0.12.15 Compiling once_cell v1.19.0 Compiling syn v2.0.70 Compiling rand_core v0.6.4 Compiling futures-core v0.3.30 Compiling paste v1.0.15 Compiling bytemuck v1.16.1 Compiling pyo3-build-config v0.21.2 Compiling syn v1.0.109 Compiling safe_arch v0.7.2 Compiling futures-channel v0.3.30 Compiling rand_chacha v0.3.1 Compiling matrixmultiply v0.3.8 Compiling futures-io v0.3.30 Compiling rand v0.8.5 Compiling pyo3-ffi v0.21.2 Compiling approx v0.5.1 Compiling num-complex v0.4.6 Compiling num-integer v0.1.46 Compiling wide v0.7.25 Compiling memoffset v0.9.1 Compiling heck v0.4.1 Compiling rawpointer v0.2.1 Compiling portable-atomic v1.6.0 Compiling simba v0.6.0 Compiling pyo3-macros-backend v0.21.2 Compiling futures-macro v0.3.30 Compiling futures-util v0.3.30 Compiling nalgebra-macros v0.1.0 Compiling num-rational v0.4.2 Compiling rand_distr v0.4.3 Compiling pyo3 v0.21.2 Compiling futures-executor v0.3.30 Compiling chrono v0.4.38 Compiling pyo3-macros v0.21.2 Compiling futures v0.3.30 Compiling nalgebra v0.29.0 Compiling unindent v0.2.3 Compiling indoc v2.0.5 Compiling lazy_static v1.5.0 Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust) Compiling float-cmp v0.9.0 Compiling statrs v0.16.1 Compiling math v0.0.1 (/home/runner/work/polyglot/polyglot/lib/math) Finished `release` profile [optimized] target(s) in 26.07s Running unittests math.rs (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/math-01d7fd732be7efea) running 12 tests test module_b7a9935b::Math::test_behavior_near_origin___ ... ok test module_b7a9935b::Math::test_critical_strip ... ok test module_b7a9935b::Math::test_euler_product_formula ... ok test module_b7a9935b::Math::test_non_trivial_zero___ ... ok test module_b7a9935b::Math::test_symmetry_across_real_axis___ ... ok test module_b7a9935b::Math::test_real_part_greater_than_one___ ... ok test module_b7a9935b::Math::test_zeta_at_1___ ... ok test module_b7a9935b::Math::test_reflection_formula_for_specific_value ... ok test module_b7a9935b::Math::test_zeta_at_2_minus2 ... ok test module_b7a9935b::Math::test_imaginary_axis ... ok test module_b7a9935b::Math::test_zeta_at_known_values_ ... ok test module_b7a9935b::Math::test_trivial_zero_at_negative_even___ ... ok test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
In [ ]:
{ pwsh ../apps/plot/build.ps1 } | Invoke-Block
Downloading crates ... Downloaded plotters-svg v0.3.6 Downloaded plotters-backend v0.3.6 Downloaded plotters v0.3.6 Compiling num-traits v0.2.19 Compiling futures-core v0.3.30 Compiling futures-io v0.3.30 Compiling getrandom v0.2.15 Compiling futures-channel v0.3.30 Compiling plotters-backend v0.3.6 Compiling uuid v1.10.0 Compiling futures-util v0.3.30 Compiling plotters-svg v0.3.6 Compiling chrono v0.4.38 Compiling plotters v0.3.6 Compiling futures-executor v0.3.30 Compiling futures v0.3.30 Compiling fable_library_rust v0.1.0 (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-library-rust) Compiling plot v0.0.1 (/home/runner/work/polyglot/polyglot/apps/plot) Finished `release` profile [optimized] target(s) in 12.69s
In [ ]:
{ pwsh ../apps/perf/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path Perf.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Perf.dib", "--retries", "3"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # Perf (Polyglot) │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:15 verbose #15 > > 00:00:15 verbose #16 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:15 verbose #17 > > //// test 00:00:15 verbose #18 > > 00:00:15 verbose #19 > > open testing 00:00:15 verbose #20 > > open benchmark 00:00:16 verbose #21 > 00:00:16 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0fe24d3dc606a5d07b53d5ea3fede53fab8fac286f91bf9a11131630555d4050/main.spi 00:00:19 verbose #22 > > 00:00:19 verbose #23 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #24 > > #if !INTERACTIVE 00:00:19 verbose #25 > > open Lib 00:00:19 verbose #26 > > #endif 00:00:19 verbose #27 > > 00:00:19 verbose #28 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:19 verbose #29 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:19 verbose #30 > > │ ## TestCaseResult │ 00:00:19 verbose #31 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 verbose #32 > > 00:00:19 verbose #33 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #34 > > type TestCaseResult = 00:00:19 verbose #35 > > { 00:00:19 verbose #36 > > Input: string 00:00:19 verbose #37 > > Expected: string 00:00:19 verbose #38 > > Result: string 00:00:19 verbose #39 > > TimeList: int64 list 00:00:19 verbose #40 > > } 00:00:19 verbose #41 > > 00:00:19 verbose #42 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:19 verbose #43 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:19 verbose #44 > > │ ## run │ 00:00:19 verbose #45 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 verbose #46 > > 00:00:19 verbose #47 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #48 > > let run count (solutions: (string * ('TInput -> 'TExpected)) list) (input, 00:00:19 verbose #49 > > expected) = 00:00:19 verbose #50 > > let inputStr = 00:00:19 verbose #51 > > match box input with 00:00:19 verbose #52 > > | :? System.Collections.ICollection as input -> 00:00:19 verbose #53 > > System.Linq.Enumerable.Cast<obj> input 00:00:19 verbose #54 > > |> Seq.map string 00:00:19 verbose #55 > > |> SpiralSm.concat "," 00:00:19 verbose #56 > > | _ -> input.ToString () 00:00:19 verbose #57 > > 00:00:19 verbose #58 > > printfn "" 00:00:19 verbose #59 > > printfn $"Solution: {inputStr} " 00:00:19 verbose #60 > > 00:00:19 verbose #61 > > let performanceInvoke (fn: unit -> 'T) = 00:00:19 verbose #62 > > GC.Collect () 00:00:19 verbose #63 > > let stopwatch = System.Diagnostics.Stopwatch () 00:00:19 verbose #64 > > stopwatch.Start () 00:00:19 verbose #65 > > let time1 = stopwatch.ElapsedMilliseconds 00:00:19 verbose #66 > > 00:00:19 verbose #67 > > let result = 00:00:19 verbose #68 > > [[| 0 .. count |]] 00:00:19 verbose #69 > > |> Array.Parallel.map (fun _ -> 00:00:19 verbose #70 > > fn () 00:00:19 verbose #71 > > ) 00:00:19 verbose #72 > > |> Array.last 00:00:19 verbose #73 > > 00:00:19 verbose #74 > > let time2 = stopwatch.ElapsedMilliseconds - time1 00:00:19 verbose #75 > > 00:00:19 verbose #76 > > result, time2 00:00:19 verbose #77 > > 00:00:19 verbose #78 > > let resultsWithTime = 00:00:19 verbose #79 > > solutions 00:00:19 verbose #80 > > |> List.mapi (fun i (testName, solution) -> 00:00:19 verbose #81 > > let result, time = performanceInvoke (fun () -> solution input) 00:00:19 verbose #82 > > printfn $"Test case %d{i + 1}. %s{testName}. Time: %A{time} " 00:00:19 verbose #83 > > result, time 00:00:19 verbose #84 > > ) 00:00:19 verbose #85 > > 00:00:19 verbose #86 > > 00:00:19 verbose #87 > > match resultsWithTime |> List.map fst with 00:00:19 verbose #88 > > | ([[]] | [[ _ ]]) -> () 00:00:19 verbose #89 > > | (head :: tail) when tail |> List.forall ((=) head) -> () 00:00:19 verbose #90 > > | results -> failwithf $"Challenge error: %A{results}" 00:00:19 verbose #91 > > 00:00:19 verbose #92 > > { 00:00:19 verbose #93 > > Input = inputStr 00:00:19 verbose #94 > > Expected = expected.ToString () 00:00:19 verbose #95 > > Result = resultsWithTime |> Seq.map fst |> Seq.head |> _.ToString() 00:00:19 verbose #96 > > TimeList = resultsWithTime |> List.map snd 00:00:19 verbose #97 > > } 00:00:19 verbose #98 > > 00:00:19 verbose #99 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:19 verbose #100 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:19 verbose #101 > > │ ## runAll │ 00:00:19 verbose #102 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 verbose #103 > > 00:00:19 verbose #104 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #105 > > let runAll testName count (solutions: (string * ('TInput -> 'TExpected)) list) 00:00:19 verbose #106 > > testCases = 00:00:19 verbose #107 > > printfn "" 00:00:19 verbose #108 > > printfn "" 00:00:19 verbose #109 > > printfn $"Test: {testName}" 00:00:19 verbose #110 > > testCases 00:00:19 verbose #111 > > |> Seq.map (run count solutions) 00:00:19 verbose #112 > > |> Seq.toList 00:00:19 verbose #113 > > 00:00:19 verbose #114 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:19 verbose #115 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:19 verbose #116 > > │ ## sortResultList │ 00:00:19 verbose #117 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 verbose #118 > > 00:00:19 verbose #119 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #120 > > let sortResultList resultList = 00:00:19 verbose #121 > > let table = 00:00:19 verbose #122 > > let rows = 00:00:19 verbose #123 > > resultList 00:00:19 verbose #124 > > |> List.map (fun result -> 00:00:19 verbose #125 > > let best = 00:00:19 verbose #126 > > result.TimeList 00:00:19 verbose #127 > > |> List.mapi (fun i time -> 00:00:19 verbose #128 > > i + 1, time 00:00:19 verbose #129 > > ) 00:00:19 verbose #130 > > |> List.sortBy snd 00:00:19 verbose #131 > > |> List.head 00:00:19 verbose #132 > > |> _.ToString() 00:00:19 verbose #133 > > let row = 00:00:19 verbose #134 > > [[ 00:00:19 verbose #135 > > result.Input 00:00:19 verbose #136 > > result.Expected 00:00:19 verbose #137 > > result.Result 00:00:19 verbose #138 > > best 00:00:19 verbose #139 > > ]] 00:00:19 verbose #140 > > let color = 00:00:19 verbose #141 > > match result.Expected = result.Result with 00:00:19 verbose #142 > > | true -> Some ConsoleColor.DarkGreen 00:00:19 verbose #143 > > | false -> Some ConsoleColor.DarkRed 00:00:19 verbose #144 > > row, color 00:00:19 verbose #145 > > ) 00:00:19 verbose #146 > > let header = 00:00:19 verbose #147 > > [[ 00:00:19 verbose #148 > > [[ 00:00:19 verbose #149 > > "Input" 00:00:19 verbose #150 > > "Expected" 00:00:19 verbose #151 > > "Result" 00:00:19 verbose #152 > > "Best" 00:00:19 verbose #153 > > ]] 00:00:19 verbose #154 > > [[ 00:00:19 verbose #155 > > "---" 00:00:19 verbose #156 > > "---" 00:00:19 verbose #157 > > "---" 00:00:19 verbose #158 > > "---" 00:00:19 verbose #159 > > ]] 00:00:19 verbose #160 > > ]] 00:00:19 verbose #161 > > |> List.map (fun row -> row, None) 00:00:19 verbose #162 > > header @ rows 00:00:19 verbose #163 > > 00:00:19 verbose #164 > > let formattedTable = 00:00:19 verbose #165 > > let lengthMap = 00:00:19 verbose #166 > > table 00:00:19 verbose #167 > > |> List.map fst 00:00:19 verbose #168 > > |> List.transpose 00:00:19 verbose #169 > > |> List.map (fun column -> 00:00:19 verbose #170 > > column 00:00:19 verbose #171 > > |> List.map String.length 00:00:19 verbose #172 > > |> List.sortDescending 00:00:19 verbose #173 > > |> List.tryHead 00:00:19 verbose #174 > > |> Option.defaultValue 0 00:00:19 verbose #175 > > ) 00:00:19 verbose #176 > > |> List.indexed 00:00:19 verbose #177 > > |> Map.ofList 00:00:19 verbose #178 > > table 00:00:19 verbose #179 > > |> List.map (fun (row, color) -> 00:00:19 verbose #180 > > let newRow = 00:00:19 verbose #181 > > row 00:00:19 verbose #182 > > |> List.mapi (fun i cell -> 00:00:19 verbose #183 > > cell.PadRight lengthMap.[[i]] 00:00:19 verbose #184 > > ) 00:00:19 verbose #185 > > newRow, color 00:00:19 verbose #186 > > ) 00:00:19 verbose #187 > > 00:00:19 verbose #188 > > printfn "" 00:00:19 verbose #189 > > formattedTable 00:00:19 verbose #190 > > |> List.iter (fun (row, color) -> 00:00:19 verbose #191 > > match color with 00:00:19 verbose #192 > > | Some color -> Console.ForegroundColor <- color 00:00:19 verbose #193 > > | None -> Console.ResetColor () 00:00:19 verbose #194 > > 00:00:19 verbose #195 > > printfn "%s" (String.Join ("\t| ", row)) 00:00:19 verbose #196 > > 00:00:19 verbose #197 > > Console.ResetColor () 00:00:19 verbose #198 > > ) 00:00:19 verbose #199 > > 00:00:19 verbose #200 > > let averages = 00:00:19 verbose #201 > > resultList 00:00:19 verbose #202 > > |> List.map (fun result -> result.TimeList |> List.map float) 00:00:19 verbose #203 > > |> List.transpose 00:00:19 verbose #204 > > |> List.map List.average 00:00:19 verbose #205 > > |> List.map int64 00:00:19 verbose #206 > > |> List.indexed 00:00:19 verbose #207 > > 00:00:19 verbose #208 > > printfn "" 00:00:19 verbose #209 > > printfn "Average Ranking " 00:00:19 verbose #210 > > averages 00:00:19 verbose #211 > > |> List.sortBy snd 00:00:19 verbose #212 > > |> List.iter (fun (i, avg) -> 00:00:19 verbose #213 > > printfn $"Test case %d{i + 1}. Average Time: %A{avg} " 00:00:19 verbose #214 > > ) 00:00:19 verbose #215 > > 00:00:19 verbose #216 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #217 > > let mutable _count = 00:00:19 verbose #218 > > if ("CI" |> System.Environment.GetEnvironmentVariable |> fun x -> $"%A{x}") 00:00:19 verbose #219 > > <> "<null>" 00:00:19 verbose #220 > > then 2000000 00:00:19 verbose #221 > > else 2000 00:00:19 verbose #222 > > 00:00:19 verbose #223 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #224 > > inl is_fast () = 00:00:19 verbose #225 > > false 00:00:19 verbose #226 > 00:00:19 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/af72357aa5b9c8336ba97493cc77aac4861a203d5a854c174807f06c5afe1c3d/main.spi 00:00:19 verbose #227 > > 00:00:19 verbose #228 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:19 verbose #229 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:19 verbose #230 > > │ ## empty3Tests │ 00:00:19 verbose #231 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 verbose #232 > > 00:00:19 verbose #233 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:19 verbose #234 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:19 verbose #235 > > │ Test: Empty3 │ 00:00:19 verbose #236 > > │ │ 00:00:19 verbose #237 > > │ Solution: (a, a) │ 00:00:19 verbose #238 > > │ Test case 1. A. Time: 91L │ 00:00:19 verbose #239 > > │ │ 00:00:19 verbose #240 > > │ Solution: (a, a) │ 00:00:19 verbose #241 > > │ Test case 1. A. Time: 56L │ 00:00:19 verbose #242 > > │ │ 00:00:19 verbose #243 > > │ Input | Expected | Result | Best │ 00:00:19 verbose #244 > > │ --- | --- | --- | --- │ 00:00:19 verbose #245 > > │ (a, a) | a | a | (1, 91) │ 00:00:19 verbose #246 > > │ (a, a) | a | a | (1, 56) │ 00:00:19 verbose #247 > > │ │ 00:00:19 verbose #248 > > │ Averages │ 00:00:19 verbose #249 > > │ Test case 1. Average Time: 73L │ 00:00:19 verbose #250 > > │ │ 00:00:19 verbose #251 > > │ Ranking │ 00:00:19 verbose #252 > > │ Test case 1. Average Time: 73L │ 00:00:19 verbose #253 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:19 verbose #254 > > 00:00:19 verbose #255 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:19 verbose #256 > > //// test 00:00:19 verbose #257 > > 00:00:19 verbose #258 > > let solutions = [[ 00:00:19 verbose #259 > > "A", 00:00:19 verbose #260 > > fun (a, _b) -> 00:00:19 verbose #261 > > a 00:00:19 verbose #262 > > ]] 00:00:19 verbose #263 > > let testCases = seq { 00:00:19 verbose #264 > > ("a", "a"), "a" 00:00:19 verbose #265 > > ("a", "a"), "a" 00:00:19 verbose #266 > > } 00:00:19 verbose #267 > > let rec empty3Tests = runAll (nameof empty3Tests) _count solutions testCases 00:00:19 verbose #268 > > empty3Tests 00:00:19 verbose #269 > > |> sortResultList 00:00:20 verbose #270 > > 00:00:20 verbose #271 > > ╭─[ 479.59ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:20 verbose #272 > > │ │ 00:00:20 verbose #273 > > │ │ 00:00:20 verbose #274 > > │ Test: empty3Tests │ 00:00:20 verbose #275 > > │ │ 00:00:20 verbose #276 > > │ Solution: (a, a) │ 00:00:20 verbose #277 > > │ Test case 1. A. Time: 45L │ 00:00:20 verbose #278 > > │ │ 00:00:20 verbose #279 > > │ Solution: (a, a) │ 00:00:20 verbose #280 > > │ Test case 1. A. Time: 32L │ 00:00:20 verbose #281 > > │ │ 00:00:20 verbose #282 > > │ Input | Expected | Result | Best │ 00:00:20 verbose #283 > > │ --- | --- | --- | --- │ 00:00:20 verbose #284 > > │ (a, a) | a | a | (1, 45) │ 00:00:20 verbose #285 > > │ (a, a) | a | a | (1, 32) │ 00:00:20 verbose #286 > > │ │ 00:00:20 verbose #287 > > │ Average Ranking │ 00:00:20 verbose #288 > > │ Test case 1. Average Time: 38L │ 00:00:20 verbose #289 > > │ │ 00:00:20 verbose #290 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #291 > > 00:00:20 verbose #292 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #293 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #294 > > │ ## empty2Tests │ 00:00:20 verbose #295 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #296 > > 00:00:20 verbose #297 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #298 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #299 > > │ Test: Empty2 │ 00:00:20 verbose #300 > > │ │ 00:00:20 verbose #301 > > │ Solution: (a, a) │ 00:00:20 verbose #302 > > │ Test case 1. A. Time: 59L │ 00:00:20 verbose #303 > > │ │ 00:00:20 verbose #304 > > │ Solution: (a, a) │ 00:00:20 verbose #305 > > │ Test case 1. A. Time: 53L │ 00:00:20 verbose #306 > > │ │ 00:00:20 verbose #307 > > │ Input | Expected | Result | Best │ 00:00:20 verbose #308 > > │ --- | --- | --- | --- │ 00:00:20 verbose #309 > > │ (a, a) | a | a | (1, 59) │ 00:00:20 verbose #310 > > │ (a, a) | a | a | (1, 53) │ 00:00:20 verbose #311 > > │ │ 00:00:20 verbose #312 > > │ Averages │ 00:00:20 verbose #313 > > │ Test case 1. Average Time: 56L │ 00:00:20 verbose #314 > > │ │ 00:00:20 verbose #315 > > │ Ranking │ 00:00:20 verbose #316 > > │ Test case 1. Average Time: 56L │ 00:00:20 verbose #317 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #318 > > 00:00:20 verbose #319 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #320 > > //// test 00:00:20 verbose #321 > > 00:00:20 verbose #322 > > let solutions = [[ 00:00:20 verbose #323 > > "A", 00:00:20 verbose #324 > > fun (a, _b) -> 00:00:20 verbose #325 > > a 00:00:20 verbose #326 > > ]] 00:00:20 verbose #327 > > let testCases = seq { 00:00:20 verbose #328 > > ("a", "a"), "a" 00:00:20 verbose #329 > > ("a", "a"), "a" 00:00:20 verbose #330 > > } 00:00:20 verbose #331 > > let rec empty2Tests = runAll (nameof empty2Tests) _count solutions testCases 00:00:20 verbose #332 > > empty2Tests 00:00:20 verbose #333 > > |> sortResultList 00:00:20 verbose #334 > > 00:00:20 verbose #335 > > ╭─[ 361.48ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:20 verbose #336 > > │ │ 00:00:20 verbose #337 > > │ │ 00:00:20 verbose #338 > > │ Test: empty2Tests │ 00:00:20 verbose #339 > > │ │ 00:00:20 verbose #340 > > │ Solution: (a, a) │ 00:00:20 verbose #341 > > │ Test case 1. A. Time: 25L │ 00:00:20 verbose #342 > > │ │ 00:00:20 verbose #343 > > │ Solution: (a, a) │ 00:00:20 verbose #344 > > │ Test case 1. A. Time: 31L │ 00:00:20 verbose #345 > > │ │ 00:00:20 verbose #346 > > │ Input | Expected | Result | Best │ 00:00:20 verbose #347 > > │ --- | --- | --- | --- │ 00:00:20 verbose #348 > > │ (a, a) | a | a | (1, 25) │ 00:00:20 verbose #349 > > │ (a, a) | a | a | (1, 31) │ 00:00:20 verbose #350 > > │ │ 00:00:20 verbose #351 > > │ Average Ranking │ 00:00:20 verbose #352 > > │ Test case 1. Average Time: 28L │ 00:00:20 verbose #353 > > │ │ 00:00:20 verbose #354 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #355 > > 00:00:20 verbose #356 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #357 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #358 > > │ ## emptyTests │ 00:00:20 verbose #359 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #360 > > 00:00:20 verbose #361 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #362 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #363 > > │ Test: Empty │ 00:00:20 verbose #364 > > │ │ 00:00:20 verbose #365 > > │ Solution: 0 │ 00:00:20 verbose #366 > > │ Test case 1. A. Time: 61L │ 00:00:20 verbose #367 > > │ │ 00:00:20 verbose #368 > > │ Solution: 2 │ 00:00:20 verbose #369 > > │ Test case 1. A. Time: 62L │ 00:00:20 verbose #370 > > │ │ 00:00:20 verbose #371 > > │ Solution: 5 │ 00:00:20 verbose #372 > > │ Test case 1. A. Time: 70L │ 00:00:20 verbose #373 > > │ │ 00:00:20 verbose #374 > > │ Input | Expected | Result | Best │ 00:00:20 verbose #375 > > │ --- | --- | --- | --- │ 00:00:20 verbose #376 > > │ 0 | 0 | 0 | (1, 61) │ 00:00:20 verbose #377 > > │ 2 | 2 | 2 | (1, 62) │ 00:00:20 verbose #378 > > │ 5 | 5 | 5 | (1, 70) │ 00:00:20 verbose #379 > > │ │ 00:00:20 verbose #380 > > │ Averages │ 00:00:20 verbose #381 > > │ Test case 1. Average Time: 64L │ 00:00:20 verbose #382 > > │ │ 00:00:20 verbose #383 > > │ Ranking │ 00:00:20 verbose #384 > > │ Test case 1. Average Time: 64L │ 00:00:20 verbose #385 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #386 > > 00:00:20 verbose #387 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #388 > > //// test 00:00:20 verbose #389 > > 00:00:20 verbose #390 > > let solutions = [[ 00:00:20 verbose #391 > > "A", 00:00:20 verbose #392 > > fun n -> 00:00:20 verbose #393 > > n + 0 00:00:20 verbose #394 > > ]] 00:00:20 verbose #395 > > let testCases = seq { 00:00:20 verbose #396 > > 0, 0 00:00:20 verbose #397 > > 2, 2 00:00:20 verbose #398 > > 5, 5 00:00:20 verbose #399 > > } 00:00:20 verbose #400 > > let rec emptyTests = runAll (nameof emptyTests) _count solutions testCases 00:00:20 verbose #401 > > emptyTests 00:00:20 verbose #402 > > |> sortResultList 00:00:20 verbose #403 > > 00:00:20 verbose #404 > > ╭─[ 520.08ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:20 verbose #405 > > │ │ 00:00:20 verbose #406 > > │ │ 00:00:20 verbose #407 > > │ Test: emptyTests │ 00:00:20 verbose #408 > > │ │ 00:00:20 verbose #409 > > │ Solution: 0 │ 00:00:20 verbose #410 > > │ Test case 1. A. Time: 22L │ 00:00:20 verbose #411 > > │ │ 00:00:20 verbose #412 > > │ Solution: 2 │ 00:00:20 verbose #413 > > │ Test case 1. A. Time: 23L │ 00:00:20 verbose #414 > > │ │ 00:00:20 verbose #415 > > │ Solution: 5 │ 00:00:20 verbose #416 > > │ Test case 1. A. Time: 21L │ 00:00:20 verbose #417 > > │ │ 00:00:20 verbose #418 > > │ Input | Expected | Result | Best │ 00:00:20 verbose #419 > > │ --- | --- | --- | --- │ 00:00:20 verbose #420 > > │ 0 | 0 | 0 | (1, 22) │ 00:00:20 verbose #421 > > │ 2 | 2 | 2 | (1, 23) │ 00:00:20 verbose #422 > > │ 5 | 5 | 5 | (1, 21) │ 00:00:20 verbose #423 > > │ │ 00:00:20 verbose #424 > > │ Average Ranking │ 00:00:20 verbose #425 > > │ Test case 1. Average Time: 22L │ 00:00:20 verbose #426 > > │ │ 00:00:20 verbose #427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #428 > > 00:00:20 verbose #429 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #430 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #431 > > │ ## uniqueLettersTests │ 00:00:20 verbose #432 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #433 > > 00:00:20 verbose #434 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:21 verbose #435 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:21 verbose #436 > > │ Test: UniqueLetters │ 00:00:21 verbose #437 > > │ │ 00:00:21 verbose #438 > > │ Solution: abc │ 00:00:21 verbose #439 > > │ Test case 1. A. Time: 1512L │ 00:00:21 verbose #440 > > │ Test case 2. B. Time: 1947L │ 00:00:21 verbose #441 > > │ Test case 3. C. Time: 2023L │ 00:00:21 verbose #442 > > │ Test case 4. D. Time: 1358L │ 00:00:21 verbose #443 > > │ Test case 5. E. Time: 1321L │ 00:00:21 verbose #444 > > │ Test case 6. F. Time: 1346L │ 00:00:21 verbose #445 > > │ Test case 7. G. Time: 1304L │ 00:00:21 verbose #446 > > │ Test case 8. H. Time: 1383L │ 00:00:21 verbose #447 > > │ Test case 9. I. Time: 1495L │ 00:00:21 verbose #448 > > │ Test case 10. J. Time: 1245L │ 00:00:21 verbose #449 > > │ Test case 11. K. Time: 1219L │ 00:00:21 verbose #450 > > │ │ 00:00:21 verbose #451 > > │ Solution: accabb │ 00:00:21 verbose #452 > > │ Test case 1. A. Time: 1648L │ 00:00:21 verbose #453 > > │ Test case 2. B. Time: 2061L │ 00:00:21 verbose #454 > > │ Test case 3. C. Time: 2413L │ 00:00:21 verbose #455 > > │ Test case 4. D. Time: 1561L │ 00:00:21 verbose #456 > > │ Test case 5. E. Time: 1593L │ 00:00:21 verbose #457 > > │ Test case 6. F. Time: 1518L │ 00:00:21 verbose #458 > > │ Test case 7. G. Time: 1415L │ 00:00:21 verbose #459 > > │ Test case 8. H. Time: 1510L │ 00:00:21 verbose #460 > > │ Test case 9. I. Time: 1445L │ 00:00:21 verbose #461 > > │ Test case 10. J. Time: 1636L │ 00:00:21 verbose #462 > > │ Test case 11. K. Time: 1317L │ 00:00:21 verbose #463 > > │ │ 00:00:21 verbose #464 > > │ Solution: pprrqqpp │ 00:00:21 verbose #465 > > │ Test case 1. A. Time: 2255L │ 00:00:21 verbose #466 > > │ Test case 2. B. Time: 2408L │ 00:00:21 verbose #467 > > │ Test case 3. C. Time: 2393L │ 00:00:21 verbose #468 > > │ Test case 4. D. Time: 1675L │ 00:00:21 verbose #469 > > │ Test case 5. E. Time: 1911L │ 00:00:21 verbose #470 > > │ Test case 6. F. Time: 2126L │ 00:00:21 verbose #471 > > │ Test case 7. G. Time: 1504L │ 00:00:21 verbose #472 > > │ Test case 8. H. Time: 1715L │ 00:00:21 verbose #473 > > │ Test case 9. I. Time: 1537L │ 00:00:21 verbose #474 > > │ Test case 10. J. Time: 1522L │ 00:00:21 verbose #475 > > │ Test case 11. K. Time: 1322L │ 00:00:21 verbose #476 > > │ │ 00:00:21 verbose #477 > > │ Solution: │ 00:00:21 verbose #478 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │ 00:00:21 verbose #479 > > │ bbb │ 00:00:21 verbose #480 > > │ Test case 1. A. Time: 13073L │ 00:00:21 verbose #481 > > │ Test case 2. B. Time: 11519L │ 00:00:21 verbose #482 > > │ Test case 3. C. Time: 8373L │ 00:00:21 verbose #483 > > │ Test case 4. D. Time: 5860L │ 00:00:21 verbose #484 > > │ Test case 5. E. Time: 6490L │ 00:00:21 verbose #485 > > │ Test case 6. F. Time: 6325L │ 00:00:21 verbose #486 > > │ Test case 7. G. Time: 5799L │ 00:00:21 verbose #487 > > │ Test case 8. H. Time: 7099L │ 00:00:21 verbose #488 > > │ Test case 9. I. Time: 6133L │ 00:00:21 verbose #489 > > │ Test case 10. J. Time: 5993L │ 00:00:21 verbose #490 > > │ Test case 11. K. Time: 2040L │ 00:00:21 verbose #491 > > │ │ 00:00:21 verbose #492 > > │ Input │ 00:00:21 verbose #493 > > │ | Expected | Result | Best │ 00:00:21 verbose #494 > > │ --- │ 00:00:21 verbose #495 > > │ │ 00:00:21 verbose #496 > > │ | --- | --- | --- │ 00:00:21 verbose #497 > > │ abc │ 00:00:21 verbose #498 > > │ │ 00:00:21 verbose #499 > > │ | abc | abc | (11, 1219) │ 00:00:21 verbose #500 > > │ accabb │ 00:00:21 verbose #501 > > │ | acb | acb | (11, 1317) │ 00:00:21 verbose #502 > > │ pprrqqpp │ 00:00:21 verbose #503 > > │ | prq | prq | (11, 1322) │ 00:00:21 verbose #504 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │ 00:00:21 verbose #505 > > │ bbb | acb | acb | (11, 2040) │ 00:00:21 verbose #506 > > │ │ 00:00:21 verbose #507 > > │ Averages │ 00:00:21 verbose #508 > > │ Test case 1. Average Time: 4622L │ 00:00:21 verbose #509 > > │ Test case 2. Average Time: 4483L │ 00:00:21 verbose #510 > > │ Test case 3. Average Time: 3800L │ 00:00:21 verbose #511 > > │ Test case 4. Average Time: 2613L │ 00:00:21 verbose #512 > > │ Test case 5. Average Time: 2828L │ 00:00:21 verbose #513 > > │ Test case 6. Average Time: 2828L │ 00:00:21 verbose #514 > > │ Test case 7. Average Time: 2505L │ 00:00:21 verbose #515 > > │ Test case 8. Average Time: 2926L │ 00:00:21 verbose #516 > > │ Test case 9. Average Time: 2652L │ 00:00:21 verbose #517 > > │ Test case 10. Average Time: 2599L │ 00:00:21 verbose #518 > > │ Test case 11. Average Time: 1474L │ 00:00:21 verbose #519 > > │ │ 00:00:21 verbose #520 > > │ Ranking │ 00:00:21 verbose #521 > > │ Test case 1. Average Time: 4622L │ 00:00:21 verbose #522 > > │ Test case 2. Average Time: 4483L │ 00:00:21 verbose #523 > > │ Test case 3. Average Time: 3800L │ 00:00:21 verbose #524 > > │ Test case 8. Average Time: 2926L │ 00:00:21 verbose #525 > > │ Test case 5. Average Time: 2828L │ 00:00:21 verbose #526 > > │ Test case 6. Average Time: 2828L │ 00:00:21 verbose #527 > > │ Test case 9. Average Time: 2652L │ 00:00:21 verbose #528 > > │ Test case 4. Average Time: 2613L │ 00:00:21 verbose #529 > > │ Test case 10. Average Time: 2599L │ 00:00:21 verbose #530 > > │ Test case 7. Average Time: 2505L │ 00:00:21 verbose #531 > > │ Test case 11. Average Time: 1474L │ 00:00:21 verbose #532 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:21 verbose #533 > > 00:00:21 verbose #534 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:21 verbose #535 > > //// test 00:00:21 verbose #536 > > 00:00:21 verbose #537 > > let solutions = [[ 00:00:21 verbose #538 > > "A", 00:00:21 verbose #539 > > fun input -> 00:00:21 verbose #540 > > input 00:00:21 verbose #541 > > |> Seq.toList 00:00:21 verbose #542 > > |> List.fold (fun acc x -> if List.contains x acc then acc else acc @ [[ 00:00:21 verbose #543 > > x ]]) [[]] 00:00:21 verbose #544 > > |> Seq.toArray 00:00:21 verbose #545 > > |> String 00:00:21 verbose #546 > > 00:00:21 verbose #547 > > "B", 00:00:21 verbose #548 > > fun input -> 00:00:21 verbose #549 > > input 00:00:21 verbose #550 > > |> Seq.rev 00:00:21 verbose #551 > > |> fun list -> Seq.foldBack (fun x acc -> if List.contains x acc then 00:00:21 verbose #552 > > acc else x :: acc) list [[]] 00:00:21 verbose #553 > > |> Seq.rev 00:00:21 verbose #554 > > |> Seq.toArray 00:00:21 verbose #555 > > |> String 00:00:21 verbose #556 > > 00:00:21 verbose #557 > > "C", 00:00:21 verbose #558 > > fun input -> 00:00:21 verbose #559 > > input 00:00:21 verbose #560 > > |> Seq.rev 00:00:21 verbose #561 > > |> fun list -> Seq.foldBack (fun x (set, acc) -> if Set.contains x set 00:00:21 verbose #562 > > then set, acc else set.Add x, x :: acc) list (Set.empty, [[]]) 00:00:21 verbose #563 > > |> snd 00:00:21 verbose #564 > > |> Seq.rev 00:00:21 verbose #565 > > |> Seq.toArray 00:00:21 verbose #566 > > |> String 00:00:21 verbose #567 > > 00:00:21 verbose #568 > > "D", 00:00:21 verbose #569 > > fun input -> 00:00:21 verbose #570 > > input 00:00:21 verbose #571 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc 00:00:21 verbose #572 > > else set.Add x, Array.append acc [[| x |]]) (Set.empty, [[||]]) 00:00:21 verbose #573 > > |> snd 00:00:21 verbose #574 > > |> String 00:00:21 verbose #575 > > 00:00:21 verbose #576 > > "E", 00:00:21 verbose #577 > > fun input -> 00:00:21 verbose #578 > > input 00:00:21 verbose #579 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc 00:00:21 verbose #580 > > else set.Add x, x :: acc) (Set.empty, [[]]) 00:00:21 verbose #581 > > |> snd 00:00:21 verbose #582 > > |> List.rev 00:00:21 verbose #583 > > |> List.toArray 00:00:21 verbose #584 > > |> String 00:00:21 verbose #585 > > 00:00:21 verbose #586 > > "F", 00:00:21 verbose #587 > > fun input -> 00:00:21 verbose #588 > > input 00:00:21 verbose #589 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc 00:00:21 verbose #590 > > else set.Add x, acc @ [[ x ]]) (Set.empty, [[]]) 00:00:21 verbose #591 > > |> snd 00:00:21 verbose #592 > > |> List.toArray 00:00:21 verbose #593 > > |> String 00:00:21 verbose #594 > > 00:00:21 verbose #595 > > "G", 00:00:21 verbose #596 > > fun input -> 00:00:21 verbose #597 > > input 00:00:21 verbose #598 > > |> Seq.fold (fun (set, acc) x -> if Set.contains x set then set, acc 00:00:21 verbose #599 > > else set.Add x, x :: acc) (Set.empty, [[]]) 00:00:21 verbose #600 > > |> snd 00:00:21 verbose #601 > > |> List.toArray 00:00:21 verbose #602 > > |> Array.rev 00:00:21 verbose #603 > > |> String 00:00:21 verbose #604 > > 00:00:21 verbose #605 > > "H", 00:00:21 verbose #606 > > fun input -> 00:00:21 verbose #607 > > input 00:00:21 verbose #608 > > |> Seq.toList 00:00:21 verbose #609 > > |> fun list -> 00:00:21 verbose #610 > > let rec loop set = function 00:00:21 verbose #611 > > | head :: tail when Set.contains head set -> loop set tail 00:00:21 verbose #612 > > | head :: tail -> (loop (set.Add head) tail) @ [[ head ]] 00:00:21 verbose #613 > > | [[]] -> [[]] 00:00:21 verbose #614 > > loop Set.empty list 00:00:21 verbose #615 > > |> List.rev 00:00:21 verbose #616 > > |> List.toArray 00:00:21 verbose #617 > > |> String 00:00:21 verbose #618 > > 00:00:21 verbose #619 > > "I", 00:00:21 verbose #620 > > fun input -> 00:00:21 verbose #621 > > input 00:00:21 verbose #622 > > |> Seq.toList 00:00:21 verbose #623 > > |> fun list -> 00:00:21 verbose #624 > > let rec loop set = function 00:00:21 verbose #625 > > | head :: tail when Set.contains head set -> loop set tail 00:00:21 verbose #626 > > | head :: tail -> loop (set.Add head) tail |> Array.append [[| 00:00:21 verbose #627 > > head |]] 00:00:21 verbose #628 > > | [[]] -> [[||]] 00:00:21 verbose #629 > > loop Set.empty list 00:00:21 verbose #630 > > |> String 00:00:21 verbose #631 > > 00:00:21 verbose #632 > > "J", 00:00:21 verbose #633 > > fun input -> 00:00:21 verbose #634 > > input 00:00:21 verbose #635 > > |> Seq.toList 00:00:21 verbose #636 > > |> fun list -> 00:00:21 verbose #637 > > let rec loop set = function 00:00:21 verbose #638 > > | head :: tail when Set.contains head set -> loop set tail 00:00:21 verbose #639 > > | head :: tail -> head :: loop (set.Add head) tail 00:00:21 verbose #640 > > | [[]] -> [[]] 00:00:21 verbose #641 > > loop Set.empty list 00:00:21 verbose #642 > > |> List.toArray 00:00:21 verbose #643 > > |> String 00:00:21 verbose #644 > > 00:00:21 verbose #645 > > "K", 00:00:21 verbose #646 > > fun input -> 00:00:21 verbose #647 > > input 00:00:21 verbose #648 > > |> Seq.distinct 00:00:21 verbose #649 > > |> Seq.toArray 00:00:21 verbose #650 > > |> String 00:00:21 verbose #651 > > ]] 00:00:21 verbose #652 > > let testCases = seq { 00:00:21 verbose #653 > > "abc", "abc" 00:00:21 verbose #654 > > "accabb", "acb" 00:00:21 verbose #655 > > "pprrqqpp", "prq" 00:00:21 verbose #656 > > 00:00:21 verbose #657 > > "aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbbbbb 00:00:21 verbose #658 > > ", "acb" 00:00:21 verbose #659 > > } 00:00:21 verbose #660 > > let rec uniqueLettersTests = runAll (nameof uniqueLettersTests) _count solutions 00:00:21 verbose #661 > > testCases 00:00:21 verbose #662 > > uniqueLettersTests 00:00:21 verbose #663 > > |> sortResultList 00:01:35 verbose #664 > > 00:01:35 verbose #665 > > ╭─[ 1.24m - stdout ]───────────────────────────────────────────────────────────╮ 00:01:35 verbose #666 > > │ │ 00:01:35 verbose #667 > > │ │ 00:01:35 verbose #668 > > │ Test: uniqueLettersTests │ 00:01:35 verbose #669 > > │ │ 00:01:35 verbose #670 > > │ Solution: abc │ 00:01:35 verbose #671 > > │ Test case 1. A. Time: 1067L │ 00:01:35 verbose #672 > > │ Test case 2. B. Time: 1754L │ 00:01:35 verbose #673 > > │ Test case 3. C. Time: 2051L │ 00:01:35 verbose #674 > > │ Test case 4. D. Time: 1229L │ 00:01:35 verbose #675 > > │ Test case 5. E. Time: 1334L │ 00:01:35 verbose #676 > > │ Test case 6. F. Time: 1356L │ 00:01:35 verbose #677 > > │ Test case 7. G. Time: 1241L │ 00:01:35 verbose #678 > > │ Test case 8. H. Time: 1363L │ 00:01:35 verbose #679 > > │ Test case 9. I. Time: 1143L │ 00:01:35 verbose #680 > > │ Test case 10. J. Time: 1176L │ 00:01:35 verbose #681 > > │ Test case 11. K. Time: 1092L │ 00:01:35 verbose #682 > > │ │ 00:01:35 verbose #683 > > │ Solution: accabb │ 00:01:35 verbose #684 > > │ Test case 1. A. Time: 880L │ 00:01:35 verbose #685 > > │ Test case 2. B. Time: 1149L │ 00:01:35 verbose #686 > > │ Test case 3. C. Time: 1443L │ 00:01:35 verbose #687 > > │ Test case 4. D. Time: 1000L │ 00:01:35 verbose #688 > > │ Test case 5. E. Time: 1005L │ 00:01:35 verbose #689 > > │ Test case 6. F. Time: 926L │ 00:01:35 verbose #690 > > │ Test case 7. G. Time: 918L │ 00:01:35 verbose #691 > > │ Test case 8. H. Time: 996L │ 00:01:35 verbose #692 > > │ Test case 9. I. Time: 952L │ 00:01:35 verbose #693 > > │ Test case 10. J. Time: 815L │ 00:01:35 verbose #694 > > │ Test case 11. K. Time: 793L │ 00:01:35 verbose #695 > > │ │ 00:01:35 verbose #696 > > │ Solution: pprrqqpp │ 00:01:35 verbose #697 > > │ Test case 1. A. Time: 882L │ 00:01:35 verbose #698 > > │ Test case 2. B. Time: 1073L │ 00:01:35 verbose #699 > > │ Test case 3. C. Time: 1433L │ 00:01:35 verbose #700 > > │ Test case 4. D. Time: 1011L │ 00:01:35 verbose #701 > > │ Test case 5. E. Time: 1053L │ 00:01:35 verbose #702 > > │ Test case 6. F. Time: 1022L │ 00:01:35 verbose #703 > > │ Test case 7. G. Time: 966L │ 00:01:35 verbose #704 > > │ Test case 8. H. Time: 1028L │ 00:01:35 verbose #705 > > │ Test case 9. I. Time: 961L │ 00:01:35 verbose #706 > > │ Test case 10. J. Time: 895L │ 00:01:35 verbose #707 > > │ Test case 11. K. Time: 773L │ 00:01:35 verbose #708 > > │ │ 00:01:35 verbose #709 > > │ Solution: │ 00:01:35 verbose #710 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │ 00:01:35 verbose #711 > > │ bbb │ 00:01:35 verbose #712 > > │ Test case 1. A. Time: 2404L │ 00:01:35 verbose #713 > > │ Test case 2. B. Time: 2640L │ 00:01:35 verbose #714 > > │ Test case 3. C. Time: 4173L │ 00:01:35 verbose #715 > > │ Test case 4. D. Time: 2480L │ 00:01:35 verbose #716 > > │ Test case 5. E. Time: 2610L │ 00:01:35 verbose #717 > > │ Test case 6. F. Time: 2587L │ 00:01:35 verbose #718 > > │ Test case 7. G. Time: 2657L │ 00:01:35 verbose #719 > > │ Test case 8. H. Time: 2593L │ 00:01:35 verbose #720 > > │ Test case 9. I. Time: 2598L │ 00:01:35 verbose #721 > > │ Test case 10. J. Time: 2386L │ 00:01:35 verbose #722 > > │ Test case 11. K. Time: 1299L │ 00:01:35 verbose #723 > > │ │ 00:01:35 verbose #724 > > │ Input │ 00:01:35 verbose #725 > > │ | Expected | Result | Best │ 00:01:35 verbose #726 > > │ --- │ 00:01:35 verbose #727 > > │ | --- | --- | --- │ 00:01:35 verbose #728 > > │ abc │ 00:01:35 verbose #729 > > │ | abc | abc | (1, 1067) │ 00:01:35 verbose #730 > > │ accabb │ 00:01:35 verbose #731 > > │ | acb | acb | (11, 793) │ 00:01:35 verbose #732 > > │ pprrqqpp │ 00:01:35 verbose #733 > > │ | prq | prq | (11, 773) │ 00:01:35 verbose #734 > > │ aaaaaaaaaaaaaaccccccabbbbbbbaaacccbbbaaccccccccccacbbbbbbbbbbbbbcccccccbbbbb │ 00:01:35 verbose #735 > > │ bbb | acb | acb | (11, 1299) │ 00:01:35 verbose #736 > > │ │ 00:01:35 verbose #737 > > │ Average Ranking │ 00:01:35 verbose #738 > > │ Test case 11. Average Time: 989L │ 00:01:35 verbose #739 > > │ Test case 1. Average Time: 1308L │ 00:01:35 verbose #740 > > │ Test case 10. Average Time: 1318L │ 00:01:35 verbose #741 > > │ Test case 9. Average Time: 1413L │ 00:01:35 verbose #742 > > │ Test case 4. Average Time: 1430L │ 00:01:35 verbose #743 > > │ Test case 7. Average Time: 1445L │ 00:01:35 verbose #744 > > │ Test case 6. Average Time: 1472L │ 00:01:35 verbose #745 > > │ Test case 8. Average Time: 1495L │ 00:01:35 verbose #746 > > │ Test case 5. Average Time: 1500L │ 00:01:35 verbose #747 > > │ Test case 2. Average Time: 1654L │ 00:01:35 verbose #748 > > │ Test case 3. Average Time: 2275L │ 00:01:35 verbose #749 > > │ │ 00:01:35 verbose #750 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #751 > > 00:01:35 verbose #752 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #753 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #754 > > │ ## rotateStringsTests │ 00:01:35 verbose #755 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #756 > > 00:01:35 verbose #757 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #758 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #759 > > │ https://www.hackerrank.com/challenges/rotate-string/forum │ 00:01:35 verbose #760 > > │ │ 00:01:35 verbose #761 > > │ Test: RotateStrings │ 00:01:35 verbose #762 > > │ │ 00:01:35 verbose #763 > > │ Solution: abc │ 00:01:35 verbose #764 > > │ Test case 1. A. Time: 1842L │ 00:01:35 verbose #765 > > │ Test case 2. B. Time: 1846L │ 00:01:35 verbose #766 > > │ Test case 3. C. Time: 1936L │ 00:01:35 verbose #767 > > │ Test case 4. CA. Time: 2224L │ 00:01:35 verbose #768 > > │ Test case 5. CB. Time: 2329L │ 00:01:35 verbose #769 > > │ Test case 6. D. Time: 2474L │ 00:01:35 verbose #770 > > │ Test case 7. E. Time: 1664L │ 00:01:35 verbose #771 > > │ Test case 8. F. Time: 1517L │ 00:01:35 verbose #772 > > │ Test case 9. FA. Time: 1651L │ 00:01:35 verbose #773 > > │ Test case 10. FB. Time: 3764L │ 00:01:35 verbose #774 > > │ Test case 11. FC. Time: 5415L │ 00:01:35 verbose #775 > > │ │ 00:01:35 verbose #776 > > │ Solution: abcde │ 00:01:35 verbose #777 > > │ Test case 1. A. Time: 3356L │ 00:01:35 verbose #778 > > │ Test case 2. B. Time: 2592L │ 00:01:35 verbose #779 > > │ Test case 3. C. Time: 2346L │ 00:01:35 verbose #780 > > │ Test case 4. CA. Time: 2997L │ 00:01:35 verbose #781 > > │ Test case 5. CB. Time: 3061L │ 00:01:35 verbose #782 > > │ Test case 6. D. Time: 4051L │ 00:01:35 verbose #783 > > │ Test case 7. E. Time: 1905L │ 00:01:35 verbose #784 > > │ Test case 8. F. Time: 1771L │ 00:01:35 verbose #785 > > │ Test case 9. FA. Time: 2175L │ 00:01:35 verbose #786 > > │ Test case 10. FB. Time: 3275L │ 00:01:35 verbose #787 > > │ Test case 11. FC. Time: 5266L │ 00:01:35 verbose #788 > > │ │ 00:01:35 verbose #789 > > │ Solution: abcdefghi │ 00:01:35 verbose #790 > > │ Test case 1. A. Time: 4492L │ 00:01:35 verbose #791 > > │ Test case 2. B. Time: 3526L │ 00:01:35 verbose #792 > > │ Test case 3. C. Time: 3583L │ 00:01:35 verbose #793 > > │ Test case 4. CA. Time: 3711L │ 00:01:35 verbose #794 > > │ Test case 5. CB. Time: 4783L │ 00:01:35 verbose #795 > > │ Test case 6. D. Time: 7557L │ 00:01:35 verbose #796 > > │ Test case 7. E. Time: 3452L │ 00:01:35 verbose #797 > > │ Test case 8. F. Time: 3050L │ 00:01:35 verbose #798 > > │ Test case 9. FA. Time: 3275L │ 00:01:35 verbose #799 > > │ Test case 10. FB. Time: 4635L │ 00:01:35 verbose #800 > > │ Test case 11. FC. Time: 5616L │ 00:01:35 verbose #801 > > │ │ 00:01:35 verbose #802 > > │ Solution: abab │ 00:01:35 verbose #803 > > │ Test case 1. A. Time: 2093L │ 00:01:35 verbose #804 > > │ Test case 2. B. Time: 1843L │ 00:01:35 verbose #805 > > │ Test case 3. C. Time: 1746L │ 00:01:35 verbose #806 > > │ Test case 4. CA. Time: 2085L │ 00:01:35 verbose #807 > > │ Test case 5. CB. Time: 2139L │ 00:01:35 verbose #808 > > │ Test case 6. D. Time: 2095L │ 00:01:35 verbose #809 > > │ Test case 7. E. Time: 1723L │ 00:01:35 verbose #810 > > │ Test case 8. F. Time: 1558L │ 00:01:35 verbose #811 > > │ Test case 9. FA. Time: 1620L │ 00:01:35 verbose #812 > > │ Test case 10. FB. Time: 2319L │ 00:01:35 verbose #813 > > │ Test case 11. FC. Time: 3918L │ 00:01:35 verbose #814 > > │ │ 00:01:35 verbose #815 > > │ Solution: aa │ 00:01:35 verbose #816 > > │ Test case 1. A. Time: 1107L │ 00:01:35 verbose #817 > > │ Test case 2. B. Time: 1241L │ 00:01:35 verbose #818 > > │ Test case 3. C. Time: 1183L │ 00:01:35 verbose #819 > > │ Test case 4. CA. Time: 1563L │ 00:01:35 verbose #820 > > │ Test case 5. CB. Time: 1525L │ 00:01:35 verbose #821 > > │ Test case 6. D. Time: 1591L │ 00:01:35 verbose #822 > > │ Test case 7. E. Time: 1327L │ 00:01:35 verbose #823 > > │ Test case 8. F. Time: 1151L │ 00:01:35 verbose #824 > > │ Test case 9. FA. Time: 1180L │ 00:01:35 verbose #825 > > │ Test case 10. FB. Time: 1733L │ 00:01:35 verbose #826 > > │ Test case 11. FC. Time: 2817L │ 00:01:35 verbose #827 > > │ │ 00:01:35 verbose #828 > > │ Solution: z │ 00:01:35 verbose #829 > > │ Test case 1. A. Time: 816L │ 00:01:35 verbose #830 > > │ Test case 2. B. Time: 745L │ 00:01:35 verbose #831 > > │ Test case 3. C. Time: 928L │ 00:01:35 verbose #832 > > │ Test case 4. CA. Time: 1375L │ 00:01:35 verbose #833 > > │ Test case 5. CB. Time: 1029L │ 00:01:35 verbose #834 > > │ Test case 6. D. Time: 852L │ 00:01:35 verbose #835 > > │ Test case 7. E. Time: 712L │ 00:01:35 verbose #836 > > │ Test case 8. F. Time: 263L │ 00:01:35 verbose #837 > > │ Test case 9. FA. Time: 232L │ 00:01:35 verbose #838 > > │ Test case 10. FB. Time: 773L │ 00:01:35 verbose #839 > > │ Test case 11. FC. Time: 1789L │ 00:01:35 verbose #840 > > │ │ 00:01:35 verbose #841 > > │ Input | Expected │ 00:01:35 verbose #842 > > │ │ 00:01:35 verbose #843 > > │ | Result │ 00:01:35 verbose #844 > > │ │ 00:01:35 verbose #845 > > │ | Best │ 00:01:35 verbose #846 > > │ --- | --- │ 00:01:35 verbose #847 > > │ │ 00:01:35 verbose #848 > > │ | --- │ 00:01:35 verbose #849 > > │ │ 00:01:35 verbose #850 > > │ | --- │ 00:01:35 verbose #851 > > │ abc | bca cab abc │ 00:01:35 verbose #852 > > │ │ 00:01:35 verbose #853 > > │ | bca cab abc │ 00:01:35 verbose #854 > > │ │ 00:01:35 verbose #855 > > │ | (8, 1517) │ 00:01:35 verbose #856 > > │ abcde | bcdea cdeab deabc eabcd abcde │ 00:01:35 verbose #857 > > │ | bcdea cdeab deabc eabcd abcde │ 00:01:35 verbose #858 > > │ | (8, 1771) │ 00:01:35 verbose #859 > > │ abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd fghiabcde │ 00:01:35 verbose #860 > > │ ghiabcdef hiabcdefg iabcdefgh abcdefghi | bcdefghia cdefghiab │ 00:01:35 verbose #861 > > │ defghiabc efghiabcd fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi │ 00:01:35 verbose #862 > > │ | (8, 3050) │ 00:01:35 verbose #863 > > │ abab | baba abab baba abab │ 00:01:35 verbose #864 > > │ │ 00:01:35 verbose #865 > > │ | baba abab baba abab │ 00:01:35 verbose #866 > > │ │ 00:01:35 verbose #867 > > │ | (8, 1558) │ 00:01:35 verbose #868 > > │ aa | aa aa │ 00:01:35 verbose #869 > > │ │ 00:01:35 verbose #870 > > │ | aa aa │ 00:01:35 verbose #871 > > │ │ 00:01:35 verbose #872 > > │ | (1, 1107) │ 00:01:35 verbose #873 > > │ z | z │ 00:01:35 verbose #874 > > │ │ 00:01:35 verbose #875 > > │ | z │ 00:01:35 verbose #876 > > │ │ 00:01:35 verbose #877 > > │ | (9, 232) │ 00:01:35 verbose #878 > > │ │ 00:01:35 verbose #879 > > │ Averages │ 00:01:35 verbose #880 > > │ Test case 1. Average Time: 2284L │ 00:01:35 verbose #881 > > │ Test case 2. Average Time: 1965L │ 00:01:35 verbose #882 > > │ Test case 3. Average Time: 1953L │ 00:01:35 verbose #883 > > │ Test case 4. Average Time: 2325L │ 00:01:35 verbose #884 > > │ Test case 5. Average Time: 2477L │ 00:01:35 verbose #885 > > │ Test case 6. Average Time: 3103L │ 00:01:35 verbose #886 > > │ Test case 7. Average Time: 1797L │ 00:01:35 verbose #887 > > │ Test case 8. Average Time: 1551L │ 00:01:35 verbose #888 > > │ Test case 9. Average Time: 1688L │ 00:01:35 verbose #889 > > │ Test case 10. Average Time: 2749L │ 00:01:35 verbose #890 > > │ Test case 11. Average Time: 4136L │ 00:01:35 verbose #891 > > │ │ 00:01:35 verbose #892 > > │ Ranking │ 00:01:35 verbose #893 > > │ Test case 11. Average Time: 4136L │ 00:01:35 verbose #894 > > │ Test case 6. Average Time: 3103L │ 00:01:35 verbose #895 > > │ Test case 10. Average Time: 2749L │ 00:01:35 verbose #896 > > │ Test case 5. Average Time: 2477L │ 00:01:35 verbose #897 > > │ Test case 4. Average Time: 2325L │ 00:01:35 verbose #898 > > │ Test case 1. Average Time: 2284L │ 00:01:35 verbose #899 > > │ Test case 2. Average Time: 1965L │ 00:01:35 verbose #900 > > │ Test case 3. Average Time: 1953L │ 00:01:35 verbose #901 > > │ Test case 7. Average Time: 1797L │ 00:01:35 verbose #902 > > │ Test case 9. Average Time: 1688L │ 00:01:35 verbose #903 > > │ Test case 8. Average Time: 1551L │ 00:01:35 verbose #904 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #905 > > 00:01:35 verbose #906 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #907 > > //// test 00:01:35 verbose #908 > > 00:01:35 verbose #909 > > let solutions = [[ 00:01:35 verbose #910 > > "A", 00:01:35 verbose #911 > > fun (input: string) -> 00:01:35 verbose #912 > > let resultList = 00:01:35 verbose #913 > > List.fold (fun acc x -> 00:01:35 verbose #914 > > let rotate (text: string) (letter: string) = (text |> 00:01:35 verbose #915 > > SpiralSm.slice 1 (input.Length - 1)) + letter 00:01:35 verbose #916 > > [[ rotate (if acc.IsEmpty then input else acc.Head) (string x) 00:01:35 verbose #917 > > ]] @ acc 00:01:35 verbose #918 > > ) [[]] (Seq.toList input) 00:01:35 verbose #919 > > 00:01:35 verbose #920 > > (resultList, "") 00:01:35 verbose #921 > > ||> List.foldBack (fun acc x -> x + acc + " ") 00:01:35 verbose #922 > > |> _.TrimEnd() 00:01:35 verbose #923 > > 00:01:35 verbose #924 > > "B", 00:01:35 verbose #925 > > fun input -> 00:01:35 verbose #926 > > input 00:01:35 verbose #927 > > |> Seq.toList 00:01:35 verbose #928 > > |> List.fold (fun (acc: string list) letter -> 00:01:35 verbose #929 > > let last = 00:01:35 verbose #930 > > if acc.IsEmpty 00:01:35 verbose #931 > > then input 00:01:35 verbose #932 > > else acc.Head 00:01:35 verbose #933 > > 00:01:35 verbose #934 > > let item = last.[[1 .. input.Length - 1]] + string letter 00:01:35 verbose #935 > > 00:01:35 verbose #936 > > item :: acc 00:01:35 verbose #937 > > ) [[]] 00:01:35 verbose #938 > > |> List.rev 00:01:35 verbose #939 > > |> SpiralSm.concat " " 00:01:35 verbose #940 > > 00:01:35 verbose #941 > > "C", 00:01:35 verbose #942 > > fun input -> 00:01:35 verbose #943 > > input 00:01:35 verbose #944 > > |> Seq.toList 00:01:35 verbose #945 > > |> List.fold (fun (acc: string list) letter -> acc.Head.[[ 1 .. 00:01:35 verbose #946 > > input.Length - 1 ]] + string letter :: acc) [[ input ]] 00:01:35 verbose #947 > > |> List.rev 00:01:35 verbose #948 > > |> List.skip 1 00:01:35 verbose #949 > > |> SpiralSm.concat " " 00:01:35 verbose #950 > > 00:01:35 verbose #951 > > "CA", 00:01:35 verbose #952 > > fun input -> 00:01:35 verbose #953 > > input 00:01:35 verbose #954 > > |> Seq.fold (fun (acc: string list) letter -> acc.Head.[[ 1 .. 00:01:35 verbose #955 > > input.Length - 1 ]] + string letter :: acc) [[ input ]] 00:01:35 verbose #956 > > |> Seq.rev 00:01:35 verbose #957 > > |> Seq.skip 1 00:01:35 verbose #958 > > |> SpiralSm.concat " " 00:01:35 verbose #959 > > 00:01:35 verbose #960 > > "CB", 00:01:35 verbose #961 > > fun input -> 00:01:35 verbose #962 > > input 00:01:35 verbose #963 > > |> Seq.toArray 00:01:35 verbose #964 > > |> Array.fold (fun (acc: string[[]]) letter -> acc |> Array.append [[| 00:01:35 verbose #965 > > acc.[[0]].[[ 1 .. input.Length - 1 ]] + string letter |]]) [[| input |]] 00:01:35 verbose #966 > > |> Array.rev 00:01:35 verbose #967 > > |> Array.skip 1 00:01:35 verbose #968 > > |> SpiralSm.concat " " 00:01:35 verbose #969 > > 00:01:35 verbose #970 > > "D", 00:01:35 verbose #971 > > fun input -> 00:01:35 verbose #972 > > input 00:01:35 verbose #973 > > |> Seq.toList 00:01:35 verbose #974 > > |> fun list -> 00:01:35 verbose #975 > > let rec loop (acc: char list list) = function 00:01:35 verbose #976 > > | _ when acc.Length = list.Length -> acc 00:01:35 verbose #977 > > | head :: tail -> 00:01:35 verbose #978 > > let item = tail @ [[ head ]] 00:01:35 verbose #979 > > loop (item :: acc) item 00:01:35 verbose #980 > > | [[]] -> [[]] 00:01:35 verbose #981 > > loop [[]] list 00:01:35 verbose #982 > > |> List.rev 00:01:35 verbose #983 > > |> List.map (List.toArray >> String) 00:01:35 verbose #984 > > |> SpiralSm.concat " " 00:01:35 verbose #985 > > 00:01:35 verbose #986 > > "E", 00:01:35 verbose #987 > > fun input -> 00:01:35 verbose #988 > > input 00:01:35 verbose #989 > > |> Seq.toList 00:01:35 verbose #990 > > |> fun list -> 00:01:35 verbose #991 > > let rec loop (last: string) = function 00:01:35 verbose #992 > > | head :: tail -> 00:01:35 verbose #993 > > let item = last.[[1 .. input.Length - 1]] + string head 00:01:35 verbose #994 > > item :: loop item tail 00:01:35 verbose #995 > > | [[]] -> [[]] 00:01:35 verbose #996 > > loop input list 00:01:35 verbose #997 > > |> SpiralSm.concat " " 00:01:35 verbose #998 > > 00:01:35 verbose #999 > > "F", 00:01:35 verbose #1000 > > fun input -> 00:01:35 verbose #1001 > > Array.singleton 0 00:01:35 verbose #1002 > > |> Array.append [[| 1 .. input.Length - 1 |]] 00:01:35 verbose #1003 > > |> Array.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:01:35 verbose #1004 > > |> SpiralSm.concat " " 00:01:35 verbose #1005 > > 00:01:35 verbose #1006 > > "FA", 00:01:35 verbose #1007 > > fun input -> 00:01:35 verbose #1008 > > List.singleton 0 00:01:35 verbose #1009 > > |> List.append [[ 1 .. input.Length - 1 ]] 00:01:35 verbose #1010 > > |> List.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:01:35 verbose #1011 > > |> SpiralSm.concat " " 00:01:35 verbose #1012 > > 00:01:35 verbose #1013 > > "FB", 00:01:35 verbose #1014 > > fun input -> 00:01:35 verbose #1015 > > Seq.singleton 0 00:01:35 verbose #1016 > > |> Seq.append (seq { 1 .. input.Length - 1 }) 00:01:35 verbose #1017 > > |> Seq.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:01:35 verbose #1018 > > |> SpiralSm.concat " " 00:01:35 verbose #1019 > > 00:01:35 verbose #1020 > > "FC", 00:01:35 verbose #1021 > > fun input -> 00:01:35 verbose #1022 > > Array.singleton 0 00:01:35 verbose #1023 > > |> Array.append [[| 1 .. input.Length - 1 |]] 00:01:35 verbose #1024 > > |> Array.Parallel.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:01:35 verbose #1025 > > |> SpiralSm.concat " " 00:01:35 verbose #1026 > > ]] 00:01:35 verbose #1027 > > let testCases = seq { 00:01:35 verbose #1028 > > "abc", "bca cab abc" 00:01:35 verbose #1029 > > "abcde", "bcdea cdeab deabc eabcd abcde" 00:01:35 verbose #1030 > > "abcdefghi", "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef 00:01:35 verbose #1031 > > hiabcdefg iabcdefgh abcdefghi" 00:01:35 verbose #1032 > > "abab", "baba abab baba abab" 00:01:35 verbose #1033 > > "aa", "aa aa" 00:01:35 verbose #1034 > > "z", "z" 00:01:35 verbose #1035 > > } 00:01:35 verbose #1036 > > let rec rotateStringsTests = runAll (nameof rotateStringsTests) _count solutions 00:01:35 verbose #1037 > > testCases 00:01:35 verbose #1038 > > rotateStringsTests 00:01:35 verbose #1039 > > |> sortResultList 00:03:21 verbose #1040 > > 00:03:21 verbose #1041 > > ╭─[ 1.77m - stdout ]───────────────────────────────────────────────────────────╮ 00:03:21 verbose #1042 > > │ │ 00:03:21 verbose #1043 > > │ │ 00:03:21 verbose #1044 > > │ Test: rotateStringsTests │ 00:03:21 verbose #1045 > > │ │ 00:03:21 verbose #1046 > > │ Solution: abc │ 00:03:21 verbose #1047 > > │ Test case 1. A. Time: 1257L │ 00:03:21 verbose #1048 > > │ Test case 2. B. Time: 1052L │ 00:03:21 verbose #1049 > > │ Test case 3. C. Time: 1032L │ 00:03:21 verbose #1050 > > │ Test case 4. CA. Time: 1238L │ 00:03:21 verbose #1051 > > │ Test case 5. CB. Time: 1172L │ 00:03:21 verbose #1052 > > │ Test case 6. D. Time: 1251L │ 00:03:21 verbose #1053 > > │ Test case 7. E. Time: 1006L │ 00:03:21 verbose #1054 > > │ Test case 8. F. Time: 1008L │ 00:03:21 verbose #1055 > > │ Test case 9. FA. Time: 1196L │ 00:03:21 verbose #1056 > > │ Test case 10. FB. Time: 1761L │ 00:03:21 verbose #1057 > > │ Test case 11. FC. Time: 2406L │ 00:03:21 verbose #1058 > > │ │ 00:03:21 verbose #1059 > > │ Solution: abcde │ 00:03:21 verbose #1060 > > │ Test case 1. A. Time: 1632L │ 00:03:21 verbose #1061 > > │ Test case 2. B. Time: 1359L │ 00:03:21 verbose #1062 > > │ Test case 3. C. Time: 1351L │ 00:03:21 verbose #1063 > > │ Test case 4. CA. Time: 1477L │ 00:03:21 verbose #1064 > > │ Test case 5. CB. Time: 1524L │ 00:03:21 verbose #1065 > > │ Test case 6. D. Time: 1846L │ 00:03:21 verbose #1066 > > │ Test case 7. E. Time: 1250L │ 00:03:21 verbose #1067 > > │ Test case 8. F. Time: 1039L │ 00:03:21 verbose #1068 > > │ Test case 9. FA. Time: 1282L │ 00:03:21 verbose #1069 > > │ Test case 10. FB. Time: 1921L │ 00:03:21 verbose #1070 > > │ Test case 11. FC. Time: 2621L │ 00:03:21 verbose #1071 > > │ │ 00:03:21 verbose #1072 > > │ Solution: abcdefghi │ 00:03:21 verbose #1073 > > │ Test case 1. A. Time: 2863L │ 00:03:21 verbose #1074 > > │ Test case 2. B. Time: 2071L │ 00:03:21 verbose #1075 > > │ Test case 3. C. Time: 2251L │ 00:03:21 verbose #1076 > > │ Test case 4. CA. Time: 2127L │ 00:03:21 verbose #1077 > > │ Test case 5. CB. Time: 2709L │ 00:03:21 verbose #1078 > > │ Test case 6. D. Time: 3788L │ 00:03:21 verbose #1079 > > │ Test case 7. E. Time: 2061L │ 00:03:21 verbose #1080 > > │ Test case 8. F. Time: 1727L │ 00:03:21 verbose #1081 > > │ Test case 9. FA. Time: 2191L │ 00:03:21 verbose #1082 > > │ Test case 10. FB. Time: 2647L │ 00:03:21 verbose #1083 > > │ Test case 11. FC. Time: 3247L │ 00:03:21 verbose #1084 > > │ │ 00:03:21 verbose #1085 > > │ Solution: abab │ 00:03:21 verbose #1086 > > │ Test case 1. A. Time: 1358L │ 00:03:21 verbose #1087 > > │ Test case 2. B. Time: 1167L │ 00:03:21 verbose #1088 > > │ Test case 3. C. Time: 1247L │ 00:03:21 verbose #1089 > > │ Test case 4. CA. Time: 1413L │ 00:03:21 verbose #1090 > > │ Test case 5. CB. Time: 1398L │ 00:03:21 verbose #1091 > > │ Test case 6. D. Time: 1494L │ 00:03:21 verbose #1092 > > │ Test case 7. E. Time: 1085L │ 00:03:21 verbose #1093 > > │ Test case 8. F. Time: 933L │ 00:03:21 verbose #1094 > > │ Test case 9. FA. Time: 1088L │ 00:03:21 verbose #1095 > > │ Test case 10. FB. Time: 1714L │ 00:03:21 verbose #1096 > > │ Test case 11. FC. Time: 2438L │ 00:03:21 verbose #1097 > > │ │ 00:03:21 verbose #1098 > > │ Solution: aa │ 00:03:21 verbose #1099 > > │ Test case 1. A. Time: 888L │ 00:03:21 verbose #1100 > > │ Test case 2. B. Time: 813L │ 00:03:21 verbose #1101 > > │ Test case 3. C. Time: 875L │ 00:03:21 verbose #1102 > > │ Test case 4. CA. Time: 1033L │ 00:03:21 verbose #1103 > > │ Test case 5. CB. Time: 973L │ 00:03:21 verbose #1104 > > │ Test case 6. D. Time: 950L │ 00:03:21 verbose #1105 > > │ Test case 7. E. Time: 753L │ 00:03:21 verbose #1106 > > │ Test case 8. F. Time: 698L │ 00:03:21 verbose #1107 > > │ Test case 9. FA. Time: 757L │ 00:03:21 verbose #1108 > > │ Test case 10. FB. Time: 1374L │ 00:03:21 verbose #1109 > > │ Test case 11. FC. Time: 2043L │ 00:03:21 verbose #1110 > > │ │ 00:03:21 verbose #1111 > > │ Solution: z │ 00:03:21 verbose #1112 > > │ Test case 1. A. Time: 518L │ 00:03:21 verbose #1113 > > │ Test case 2. B. Time: 500L │ 00:03:21 verbose #1114 > > │ Test case 3. C. Time: 546L │ 00:03:21 verbose #1115 > > │ Test case 4. CA. Time: 830L │ 00:03:21 verbose #1116 > > │ Test case 5. CB. Time: 674L │ 00:03:21 verbose #1117 > > │ Test case 6. D. Time: 564L │ 00:03:21 verbose #1118 > > │ Test case 7. E. Time: 479L │ 00:03:21 verbose #1119 > > │ Test case 8. F. Time: 123L │ 00:03:21 verbose #1120 > > │ Test case 9. FA. Time: 128L │ 00:03:21 verbose #1121 > > │ Test case 10. FB. Time: 398L │ 00:03:21 verbose #1122 > > │ Test case 11. FC. Time: 798L │ 00:03:21 verbose #1123 > > │ │ 00:03:21 verbose #1124 > > │ Input | Expected │ 00:03:21 verbose #1125 > > │ │ 00:03:21 verbose #1126 > > │ | Result │ 00:03:21 verbose #1127 > > │ │ 00:03:21 verbose #1128 > > │ | Best │ 00:03:21 verbose #1129 > > │ --- | --- │ 00:03:21 verbose #1130 > > │ │ 00:03:21 verbose #1131 > > │ | --- │ 00:03:21 verbose #1132 > > │ │ 00:03:21 verbose #1133 > > │ | --- │ 00:03:21 verbose #1134 > > │ abc | bca cab abc │ 00:03:21 verbose #1135 > > │ │ 00:03:21 verbose #1136 > > │ | bca cab abc │ 00:03:21 verbose #1137 > > │ │ 00:03:21 verbose #1138 > > │ | (7, 1006) │ 00:03:21 verbose #1139 > > │ abcde | bcdea cdeab deabc eabcd abcde │ 00:03:21 verbose #1140 > > │ | bcdea cdeab deabc eabcd abcde │ 00:03:21 verbose #1141 > > │ | (8, 1039) │ 00:03:21 verbose #1142 > > │ abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │ 00:03:21 verbose #1143 > > │ hiabcdefg iabcdefgh abcdefghi | bcdefghia cdefghiab defghiabc efghiabcd │ 00:03:21 verbose #1144 > > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi | (8, 1727) │ 00:03:21 verbose #1145 > > │ abab | baba abab baba abab │ 00:03:21 verbose #1146 > > │ | baba abab baba abab │ 00:03:21 verbose #1147 > > │ | (8, 933) │ 00:03:21 verbose #1148 > > │ aa | aa aa │ 00:03:21 verbose #1149 > > │ │ 00:03:21 verbose #1150 > > │ | aa aa │ 00:03:21 verbose #1151 > > │ │ 00:03:21 verbose #1152 > > │ | (8, 698) │ 00:03:21 verbose #1153 > > │ z | z │ 00:03:21 verbose #1154 > > │ │ 00:03:21 verbose #1155 > > │ | z │ 00:03:21 verbose #1156 > > │ │ 00:03:21 verbose #1157 > > │ | (8, 123) │ 00:03:21 verbose #1158 > > │ │ 00:03:21 verbose #1159 > > │ Average Ranking │ 00:03:21 verbose #1160 > > │ Test case 8. Average Time: 921L │ 00:03:21 verbose #1161 > > │ Test case 7. Average Time: 1105L │ 00:03:21 verbose #1162 > > │ Test case 9. Average Time: 1107L │ 00:03:21 verbose #1163 > > │ Test case 2. Average Time: 1160L │ 00:03:21 verbose #1164 > > │ Test case 3. Average Time: 1217L │ 00:03:21 verbose #1165 > > │ Test case 4. Average Time: 1353L │ 00:03:21 verbose #1166 > > │ Test case 5. Average Time: 1408L │ 00:03:21 verbose #1167 > > │ Test case 1. Average Time: 1419L │ 00:03:21 verbose #1168 > > │ Test case 10. Average Time: 1635L │ 00:03:21 verbose #1169 > > │ Test case 6. Average Time: 1648L │ 00:03:21 verbose #1170 > > │ Test case 11. Average Time: 2258L │ 00:03:21 verbose #1171 > > │ │ 00:03:21 verbose #1172 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:21 verbose #1173 > > 00:03:21 verbose #1174 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:21 verbose #1175 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:21 verbose #1176 > > │ ## rotate_strings_tests │ 00:03:21 verbose #1177 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:21 verbose #1178 > > 00:03:21 verbose #1179 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:21 verbose #1180 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:21 verbose #1181 > > │ ``` │ 00:03:21 verbose #1182 > > │ 02:21:12 verbose #1 benchmark.run_all / {count = 2000000; test_name = │ 00:03:21 verbose #1183 > > │ rotate_strings_tests} │ 00:03:21 verbose #1184 > > │ │ 00:03:21 verbose #1185 > > │ 02:21:12 verbose #2 benchmark.run / {input_str = "abc"} │ 00:03:21 verbose #1186 > > │ 02:21:13 verbose #3 benchmark.run / solutions.map / {i = 1; test_name = │ 00:03:21 verbose #1187 > > │ F; time = 638} │ 00:03:21 verbose #1188 > > │ 02:21:14 verbose #4 benchmark.run / solutions.map / {i = 2; test_name = │ 00:03:21 verbose #1189 > > │ FA; time = 779} │ 00:03:21 verbose #1190 > > │ │ 00:03:21 verbose #1191 > > │ 02:21:14 verbose #5 benchmark.run / {input_str = "abcde"} │ 00:03:21 verbose #1192 > > │ 02:21:15 verbose #6 benchmark.run / solutions.map / {i = 1; test_name = │ 00:03:21 verbose #1193 > > │ F; time = 745} │ 00:03:21 verbose #1194 > > │ 02:21:16 verbose #7 benchmark.run / solutions.map / {i = 2; test_name = │ 00:03:21 verbose #1195 > > │ FA; time = 809} │ 00:03:21 verbose #1196 > > │ │ 00:03:21 verbose #1197 > > │ 02:21:16 verbose #8 benchmark.run / {input_str = "abcdefghi"} │ 00:03:21 verbose #1198 > > │ 02:21:17 verbose #9 benchmark.run / solutions.map / {i = 1; test_name = │ 00:03:21 verbose #1199 > > │ F; time = 1092} │ 00:03:21 verbose #1200 > > │ 02:21:18 verbose #10 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:21 verbose #1201 > > │ = FA; time = 1304} │ 00:03:21 verbose #1202 > > │ │ 00:03:21 verbose #1203 > > │ 02:21:18 verbose #11 benchmark.run / {input_str = "abab"} │ 00:03:21 verbose #1204 > > │ 02:21:19 verbose #12 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:21 verbose #1205 > > │ = F; time = 536} │ 00:03:21 verbose #1206 > > │ 02:21:20 verbose #13 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:21 verbose #1207 > > │ = FA; time = 620} │ 00:03:21 verbose #1208 > > │ │ 00:03:21 verbose #1209 > > │ 02:21:20 verbose #14 benchmark.run / {input_str = "aa"} │ 00:03:21 verbose #1210 > > │ 02:21:21 verbose #15 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:21 verbose #1211 > > │ = F; time = 365} │ 00:03:21 verbose #1212 > > │ 02:21:21 verbose #16 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:21 verbose #1213 > > │ = FA; time = 396} │ 00:03:21 verbose #1214 > > │ │ 00:03:21 verbose #1215 > > │ 02:21:21 verbose #17 benchmark.run / {input_str = "z"} │ 00:03:21 verbose #1216 > > │ 02:21:22 verbose #18 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:21 verbose #1217 > > │ = F; time = 158} │ 00:03:21 verbose #1218 > > │ 02:21:22 verbose #19 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:21 verbose #1219 > > │ = FA; time = 143} │ 00:03:21 verbose #1220 > > │ ``` │ 00:03:21 verbose #1221 > > │ input | expected │ 00:03:21 verbose #1222 > > │ │ 00:03:21 verbose #1223 > > │ | result │ 00:03:21 verbose #1224 > > │ │ 00:03:21 verbose #1225 > > │ | best │ 00:03:21 verbose #1226 > > │ --- | --- │ 00:03:21 verbose #1227 > > │ │ 00:03:21 verbose #1228 > > │ | --- │ 00:03:21 verbose #1229 > > │ │ 00:03:21 verbose #1230 > > │ | --- │ 00:03:21 verbose #1231 > > │ "abc" | "bca cab abc" │ 00:03:21 verbose #1232 > > │ │ 00:03:21 verbose #1233 > > │ | "bca cab abc" │ 00:03:21 verbose #1234 > > │ │ 00:03:21 verbose #1235 > > │ | 1, 638 │ 00:03:21 verbose #1236 > > │ "abcde" | "bcdea cdeab deabc eabcd abcde" │ 00:03:21 verbose #1237 > > │ | "bcdea cdeab deabc eabcd abcde" │ 00:03:21 verbose #1238 > > │ | 1, 745 │ 00:03:21 verbose #1239 > > │ "abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │ 00:03:21 verbose #1240 > > │ hiabcdefg iabcdefgh abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd │ 00:03:21 verbose #1241 > > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi" | 1, 1092 │ 00:03:21 verbose #1242 > > │ "abab" | "baba abab baba abab" │ 00:03:21 verbose #1243 > > │ | "baba abab baba abab" │ 00:03:21 verbose #1244 > > │ | 1, 536 │ 00:03:21 verbose #1245 > > │ "aa" | "aa aa" │ 00:03:21 verbose #1246 > > │ │ 00:03:21 verbose #1247 > > │ | "aa aa" │ 00:03:21 verbose #1248 > > │ │ 00:03:21 verbose #1249 > > │ | 1, 365 │ 00:03:21 verbose #1250 > > │ "z" | "z" │ 00:03:21 verbose #1251 > > │ │ 00:03:21 verbose #1252 > > │ | "z" │ 00:03:21 verbose #1253 > > │ │ 00:03:21 verbose #1254 > > │ | 2, 143 │ 00:03:21 verbose #1255 > > │ ``` │ 00:03:21 verbose #1256 > > │ 02:21:22 verbose #20 benchmark.sort_result_list / averages.iter / {avg │ 00:03:21 verbose #1257 > > │ = 589; i = 1} │ 00:03:21 verbose #1258 > > │ 02:21:22 verbose #21 benchmark.sort_result_list / averages.iter / {avg │ 00:03:21 verbose #1259 > > │ = 675; i = 2} │ 00:03:21 verbose #1260 > > │ ``` │ 00:03:21 verbose #1261 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:21 verbose #1262 > > 00:03:21 verbose #1263 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:21 verbose #1264 > > //// test 00:03:21 verbose #1265 > > //// timeout=60000 00:03:21 verbose #1266 > > 00:03:21 verbose #1267 > > inl get_solutions () = 00:03:21 verbose #1268 > > [[ 00:03:21 verbose #1269 > > // "A", 00:03:21 verbose #1270 > > // fun (input : string) => 00:03:21 verbose #1271 > > // let resultList = 00:03:21 verbose #1272 > > // List.fold (fun acc x => 00:03:21 verbose #1273 > > // let rotate (text : string) (letter : string) = 00:03:21 verbose #1274 > > text.Substring (1, input.Length - 1) + letter 00:03:21 verbose #1275 > > // [[ rotate (if acc.IsEmpty then input else acc.Head) 00:03:21 verbose #1276 > > (string x) ]] ++ acc 00:03:21 verbose #1277 > > // ) [[]] (Seq.toList input) 00:03:21 verbose #1278 > > 00:03:21 verbose #1279 > > // List.foldBack (fun acc x => x + acc + " ") resultList "" 00:03:21 verbose #1280 > > // |> fun x => x.TrimEnd () 00:03:21 verbose #1281 > > 00:03:21 verbose #1282 > > // "B", 00:03:21 verbose #1283 > > // fun input => 00:03:21 verbose #1284 > > // input 00:03:21 verbose #1285 > > // |> Seq.toList 00:03:21 verbose #1286 > > // |> List.fold (fun (acc : string list) letter => 00:03:21 verbose #1287 > > // let last = 00:03:21 verbose #1288 > > // if acc.IsEmpty 00:03:21 verbose #1289 > > // then input 00:03:21 verbose #1290 > > // else acc.Head 00:03:21 verbose #1291 > > 00:03:21 verbose #1292 > > // let item = last.[[1 .. input.Length - 1]] + string letter 00:03:21 verbose #1293 > > 00:03:21 verbose #1294 > > // item :: acc 00:03:21 verbose #1295 > > // ) [[]] 00:03:21 verbose #1296 > > // |> List.rev 00:03:21 verbose #1297 > > // |> SpiralSm.concat " " 00:03:21 verbose #1298 > > 00:03:21 verbose #1299 > > // "C", 00:03:21 verbose #1300 > > // fun input => 00:03:21 verbose #1301 > > // input 00:03:21 verbose #1302 > > // |> Seq.toList 00:03:21 verbose #1303 > > // |> List.fold (fun (acc : list string) letter => acc.Head.[[ 1 .. 00:03:21 verbose #1304 > > input.Length - 1 ]] + string letter :: acc) [[ input ]] 00:03:21 verbose #1305 > > // |> List.rev 00:03:21 verbose #1306 > > // |> List.skip 1 00:03:21 verbose #1307 > > // |> SpiralSm.concat " " 00:03:21 verbose #1308 > > 00:03:21 verbose #1309 > > // "CA", 00:03:21 verbose #1310 > > // fun input => 00:03:21 verbose #1311 > > // input 00:03:21 verbose #1312 > > // |> Seq.fold (fun (acc : list string) letter => acc.Head.[[ 1 .. 00:03:21 verbose #1313 > > input.Length - 1 ]] + string letter :: acc) [[ input ]] 00:03:21 verbose #1314 > > // |> Seq.rev 00:03:21 verbose #1315 > > // |> Seq.skip 1 00:03:21 verbose #1316 > > // |> SpiralSm.concat " " 00:03:21 verbose #1317 > > 00:03:21 verbose #1318 > > // "CB", 00:03:21 verbose #1319 > > // fun input => 00:03:21 verbose #1320 > > // input 00:03:21 verbose #1321 > > // |> Seq.toArray 00:03:21 verbose #1322 > > // |> Array.fold (fun (acc : a _ string) letter => acc |> 00:03:21 verbose #1323 > > Array.append (a ;[[ acc.[[0]].[[ 1 .. input.Length - 1 ]] + string letter ]])) 00:03:21 verbose #1324 > > (a ;[[ input ]]) 00:03:21 verbose #1325 > > // |> Array.rev 00:03:21 verbose #1326 > > // |> Array.skip 1 00:03:21 verbose #1327 > > // |> SpiralSm.concat " " 00:03:21 verbose #1328 > > 00:03:21 verbose #1329 > > // "D", 00:03:21 verbose #1330 > > // fun input => 00:03:21 verbose #1331 > > // input 00:03:21 verbose #1332 > > // |> Seq.toList 00:03:21 verbose #1333 > > // |> fun list => 00:03:21 verbose #1334 > > // let rec loop (acc : list (list char)) = function 00:03:21 verbose #1335 > > // | _ when acc.Length = list.Length => acc 00:03:21 verbose #1336 > > // | head :: tail => 00:03:21 verbose #1337 > > // let item = tail ++ [[ head ]] 00:03:21 verbose #1338 > > // loop (item :: acc) item 00:03:21 verbose #1339 > > // | [[]] => [[]] 00:03:21 verbose #1340 > > // loop [[]] list 00:03:21 verbose #1341 > > // |> List.rev 00:03:21 verbose #1342 > > // |> List.map (List.toArray >> String) 00:03:21 verbose #1343 > > // |> SpiralSm.concat " " 00:03:21 verbose #1344 > > 00:03:21 verbose #1345 > > // "E", 00:03:21 verbose #1346 > > // fun input => 00:03:21 verbose #1347 > > // input 00:03:21 verbose #1348 > > // |> Seq.toList 00:03:21 verbose #1349 > > // |> fun list => 00:03:21 verbose #1350 > > // let rec loop (last : string) = function 00:03:21 verbose #1351 > > // | head :: tail => 00:03:21 verbose #1352 > > // let item = last.[[1 .. input.Length - 1]] + string 00:03:21 verbose #1353 > > head 00:03:21 verbose #1354 > > // item :: loop item tail 00:03:21 verbose #1355 > > // | [[]] => [[]] 00:03:21 verbose #1356 > > // loop input list 00:03:21 verbose #1357 > > // |> SpiralSm.concat " " 00:03:21 verbose #1358 > > 00:03:21 verbose #1359 > > "F", 00:03:21 verbose #1360 > > fun input => 00:03:21 verbose #1361 > > // Array.singleton 0 00:03:21 verbose #1362 > > // |> Array.append [[| 1 .. input.Length - 1 |]] 00:03:21 verbose #1363 > > // |> Array.map (fun i -> input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:03:21 verbose #1364 > > // |> SpiralSm.concat " " 00:03:21 verbose #1365 > > inl input_length = input |> sm.length 00:03:21 verbose #1366 > > am.singleton 0i32 00:03:21 verbose #1367 > > |> am.append (am'.init_series 1 (input_length - 1) 1 |> fun x => a x 00:03:21 verbose #1368 > > : _ int _) 00:03:21 verbose #1369 > > |> fun (a x) => x 00:03:21 verbose #1370 > > |> am'.map_base fun i => 00:03:21 verbose #1371 > > inl a = input |> sm'.slice i (input_length - 1) 00:03:21 verbose #1372 > > inl b = input |> sm'.slice 0 (i - 1) 00:03:21 verbose #1373 > > a +. b 00:03:21 verbose #1374 > > |> fun x => a x : _ int _ 00:03:21 verbose #1375 > > |> seq.of_array 00:03:21 verbose #1376 > > |> sm'.concat " " 00:03:21 verbose #1377 > > 00:03:21 verbose #1378 > > "FA", 00:03:21 verbose #1379 > > fun input => 00:03:21 verbose #1380 > > // List.singleton 0 00:03:21 verbose #1381 > > // |> List.append [[ 1 .. input.Length - 1 ]] 00:03:21 verbose #1382 > > // // |> List.map (fun i => input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:03:21 verbose #1383 > > // |> SpiralSm.concat " " 00:03:21 verbose #1384 > > inl input_length = input |> sm.length 00:03:21 verbose #1385 > > listm.singleton 0i32 00:03:21 verbose #1386 > > |> listm.append (listm'.init_series 1 (input_length - 1) 1) 00:03:21 verbose #1387 > > |> listm.map (fun i => 00:03:21 verbose #1388 > > inl a = input |> sm'.slice i (input_length - 1) 00:03:21 verbose #1389 > > inl b = if i = 0 then "" else input |> sm'.slice 0 (i - 1) 00:03:21 verbose #1390 > > a +. b 00:03:21 verbose #1391 > > ) 00:03:21 verbose #1392 > > |> listm'.box 00:03:21 verbose #1393 > > |> listm'.to_array' 00:03:21 verbose #1394 > > |> fun x => a x : _ int _ 00:03:21 verbose #1395 > > |> seq.of_array 00:03:21 verbose #1396 > > |> sm'.concat " " 00:03:21 verbose #1397 > > 00:03:21 verbose #1398 > > // "FB", 00:03:21 verbose #1399 > > // fun input => 00:03:21 verbose #1400 > > // Seq.singleton 0 00:03:21 verbose #1401 > > // // |> Seq.append (seq { 1 .. input.Length - 1 }) 00:03:21 verbose #1402 > > // // |> Seq.map (fun i => input.[[ i .. ]] + input.[[ .. i - 1 ]]) 00:03:21 verbose #1403 > > // |> SpiralSm.concat " " 00:03:21 verbose #1404 > > 00:03:21 verbose #1405 > > // "FC", 00:03:21 verbose #1406 > > // fun input => 00:03:21 verbose #1407 > > // Array.singleton 0 00:03:21 verbose #1408 > > // |> Array.append (a ;[[ 1 .. input.Length - 1 ]]) 00:03:21 verbose #1409 > > //// |> Array.Parallel.map (fun i => input.[[ i .. ]] + input.[[ .. i 00:03:21 verbose #1410 > > - 1 ]]) 00:03:21 verbose #1411 > > // |> SpiralSm.concat " " 00:03:21 verbose #1412 > > ]] 00:03:21 verbose #1413 > > 00:03:21 verbose #1414 > > inl rec rotate_strings_tests () = 00:03:21 verbose #1415 > > inl test_cases = [[ 00:03:21 verbose #1416 > > "abc", "bca cab abc" 00:03:21 verbose #1417 > > "abcde", "bcdea cdeab deabc eabcd abcde" 00:03:21 verbose #1418 > > "abcdefghi", "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde 00:03:21 verbose #1419 > > ghiabcdef hiabcdefg iabcdefgh abcdefghi" 00:03:21 verbose #1420 > > "abab", "baba abab baba abab" 00:03:21 verbose #1421 > > "aa", "aa aa" 00:03:21 verbose #1422 > > "z", "z" 00:03:21 verbose #1423 > > ]] 00:03:21 verbose #1424 > > 00:03:21 verbose #1425 > > inl solutions = get_solutions () 00:03:21 verbose #1426 > > 00:03:21 verbose #1427 > > // inl is_fast () = true 00:03:21 verbose #1428 > > 00:03:21 verbose #1429 > > inl count = 00:03:21 verbose #1430 > > if is_fast () 00:03:21 verbose #1431 > > then 1000i32 00:03:21 verbose #1432 > > else 2000000i32 00:03:21 verbose #1433 > > 00:03:21 verbose #1434 > > run_all (reflection.nameof { rotate_strings_tests }) count solutions 00:03:21 verbose #1435 > > test_cases 00:03:21 verbose #1436 > > |> sort_result_list 00:03:21 verbose #1437 > > 00:03:21 verbose #1438 > > rotate_strings_tests () 00:03:21 verbose #1439 > 00:03:21 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cf6e4db8b1c0fd8e1ac38b1afd3c052faa998d7764d773b7bd7a8d599095fc0e/main.spi 00:03:37 verbose #1440 > > 00:03:37 verbose #1441 > > ╭─[ 16.19s - stdout ]──────────────────────────────────────────────────────────╮ 00:03:37 verbose #1442 > > │ │ 00:03:37 verbose #1443 > > │ ``` │ 00:03:37 verbose #1444 > > │ 00:00:00 verbose #1 benchmark.run_all / { test_name = │ 00:03:37 verbose #1445 > > │ rotate_strings_tests; count = 2000000 } │ 00:03:37 verbose #1446 > > │ │ 00:03:37 verbose #1447 > > │ 00:00:00 verbose #2 benchmark.run / { input_str = "abc" } │ 00:03:37 verbose #1448 > > │ 00:00:01 verbose #3 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:37 verbose #1449 > > │ = F; time = 1007 } │ 00:03:37 verbose #1450 > > │ 00:00:02 verbose #4 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:37 verbose #1451 > > │ = FA; time = 1193 } │ 00:03:37 verbose #1452 > > │ │ 00:03:37 verbose #1453 > > │ 00:00:02 verbose #5 benchmark.run / { input_str = "abcde" } │ 00:03:37 verbose #1454 > > │ 00:00:03 verbose #6 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:37 verbose #1455 > > │ = F; time = 1071 } │ 00:03:37 verbose #1456 > > │ 00:00:05 verbose #7 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:37 verbose #1457 > > │ = FA; time = 1337 } │ 00:03:37 verbose #1458 > > │ │ 00:03:37 verbose #1459 > > │ 00:00:05 verbose #8 benchmark.run / { input_str = "abcdefghi" } │ 00:03:37 verbose #1460 > > │ 00:00:07 verbose #9 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:37 verbose #1461 > > │ = F; time = 1870 } │ 00:03:37 verbose #1462 > > │ 00:00:10 verbose #10 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:37 verbose #1463 > > │ = FA; time = 2304 } │ 00:03:37 verbose #1464 > > │ │ 00:03:37 verbose #1465 > > │ 00:00:10 verbose #11 benchmark.run / { input_str = "abab" } │ 00:03:37 verbose #1466 > > │ 00:00:11 verbose #12 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:37 verbose #1467 > > │ = F; time = 927 } │ 00:03:37 verbose #1468 > > │ 00:00:12 verbose #13 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:37 verbose #1469 > > │ = FA; time = 1172 } │ 00:03:37 verbose #1470 > > │ │ 00:03:37 verbose #1471 > > │ 00:00:12 verbose #14 benchmark.run / { input_str = "aa" } │ 00:03:37 verbose #1472 > > │ 00:00:13 verbose #15 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:37 verbose #1473 > > │ = F; time = 631 } │ 00:03:37 verbose #1474 > > │ 00:00:14 verbose #16 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:37 verbose #1475 > > │ = FA; time = 728 } │ 00:03:37 verbose #1476 > > │ │ 00:03:37 verbose #1477 > > │ 00:00:14 verbose #17 benchmark.run / { input_str = "z" } │ 00:03:37 verbose #1478 > > │ 00:00:14 verbose #18 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:37 verbose #1479 > > │ = F; time = 128 } │ 00:03:37 verbose #1480 > > │ 00:00:15 verbose #19 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:37 verbose #1481 > > │ = FA; time = 115 } │ 00:03:37 verbose #1482 > > │ ``` │ 00:03:37 verbose #1483 > > │ input | expected │ 00:03:37 verbose #1484 > > │ │ 00:03:37 verbose #1485 > > │ | result │ 00:03:37 verbose #1486 > > │ │ 00:03:37 verbose #1487 > > │ | best │ 00:03:37 verbose #1488 > > │ --- | --- │ 00:03:37 verbose #1489 > > │ │ 00:03:37 verbose #1490 > > │ | --- │ 00:03:37 verbose #1491 > > │ │ 00:03:37 verbose #1492 > > │ | --- │ 00:03:37 verbose #1493 > > │ "abc" | "bca cab abc" │ 00:03:37 verbose #1494 > > │ │ 00:03:37 verbose #1495 > > │ | "bca cab abc" │ 00:03:37 verbose #1496 > > │ │ 00:03:37 verbose #1497 > > │ | 1, 1007 │ 00:03:37 verbose #1498 > > │ "abcde" | "bcdea cdeab deabc eabcd abcde" │ 00:03:37 verbose #1499 > > │ | "bcdea cdeab deabc eabcd abcde" │ 00:03:37 verbose #1500 > > │ | 1, 1071 │ 00:03:37 verbose #1501 > > │ "abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd fghiabcde ghiabcdef │ 00:03:37 verbose #1502 > > │ hiabcdefg iabcdefgh abcdefghi" | "bcdefghia cdefghiab defghiabc efghiabcd │ 00:03:37 verbose #1503 > > │ fghiabcde ghiabcdef hiabcdefg iabcdefgh abcdefghi" | 1, 1870 │ 00:03:37 verbose #1504 > > │ "abab" | "baba abab baba abab" │ 00:03:37 verbose #1505 > > │ | "baba abab baba abab" │ 00:03:37 verbose #1506 > > │ | 1, 927 │ 00:03:37 verbose #1507 > > │ "aa" | "aa aa" │ 00:03:37 verbose #1508 > > │ │ 00:03:37 verbose #1509 > > │ | "aa aa" │ 00:03:37 verbose #1510 > > │ │ 00:03:37 verbose #1511 > > │ | 1, 631 │ 00:03:37 verbose #1512 > > │ "z" | "z" │ 00:03:37 verbose #1513 > > │ │ 00:03:37 verbose #1514 > > │ | "z" │ 00:03:37 verbose #1515 > > │ │ 00:03:37 verbose #1516 > > │ | 2, 115 │ 00:03:37 verbose #1517 > > │ ``` │ 00:03:37 verbose #1518 > > │ 00:00:15 verbose #20 benchmark.sort_result_list / averages.iter / { i = │ 00:03:37 verbose #1519 > > │ 1; avg = 939 } │ 00:03:37 verbose #1520 > > │ 00:00:15 verbose #21 benchmark.sort_result_list / averages.iter / { i = │ 00:03:37 verbose #1521 > > │ 2; avg = 1141 } │ 00:03:37 verbose #1522 > > │ ``` │ 00:03:37 verbose #1523 > > │ │ 00:03:37 verbose #1524 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:37 verbose #1525 > > 00:03:37 verbose #1526 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:37 verbose #1527 > > //// test 00:03:37 verbose #1528 > > 00:03:37 verbose #1529 > > // rotate_strings_tests () 00:03:37 verbose #1530 > > () 00:03:37 verbose #1531 > 00:03:37 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ffbdf638a179ab054b52361d40c49795bf15c33906a7feb238e04c589e007e2a/main.spi 00:03:37 verbose #1532 > > 00:03:37 verbose #1533 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:37 verbose #1534 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:37 verbose #1535 > > │ ## binary_search_tests │ 00:03:37 verbose #1536 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:37 verbose #1537 > > 00:03:37 verbose #1538 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:37 verbose #1539 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:37 verbose #1540 > > │ ``` │ 00:03:37 verbose #1541 > > │ 02:19:29 verbose #1 benchmark.run_all / {count = 10000000; test_name = │ 00:03:37 verbose #1542 > > │ binary_search_tests} │ 00:03:37 verbose #1543 > > │ │ 00:03:37 verbose #1544 > > │ 02:19:29 verbose #2 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1545 > > │ 8; 9; 11|], 6, 7)} │ 00:03:37 verbose #1546 > > │ 02:19:30 verbose #3 benchmark.run / solutions.map / {i = 1; test_name = │ 00:03:37 verbose #1547 > > │ semi_open_1; time = 662} │ 00:03:37 verbose #1548 > > │ 02:19:30 verbose #4 benchmark.run / solutions.map / {i = 2; test_name = │ 00:03:37 verbose #1549 > > │ closed_1; time = 619} │ 00:03:37 verbose #1550 > > │ 02:19:31 verbose #5 benchmark.run / solutions.map / {i = 3; test_name = │ 00:03:37 verbose #1551 > > │ semi_open_2; time = 644} │ 00:03:37 verbose #1552 > > │ 02:19:32 verbose #6 benchmark.run / solutions.map / {i = 4; test_name = │ 00:03:37 verbose #1553 > > │ closed_2; time = 610} │ 00:03:37 verbose #1554 > > │ │ 00:03:37 verbose #1555 > > │ 02:19:32 verbose #7 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1556 > > │ 8; 9; 11|], 1, 7)} │ 00:03:37 verbose #1557 > > │ 02:19:33 verbose #8 benchmark.run / solutions.map / {i = 1; test_name = │ 00:03:37 verbose #1558 > > │ semi_open_1; time = 607} │ 00:03:37 verbose #1559 > > │ 02:19:33 verbose #9 benchmark.run / solutions.map / {i = 2; test_name = │ 00:03:37 verbose #1560 > > │ closed_1; time = 559} │ 00:03:37 verbose #1561 > > │ 02:19:34 verbose #10 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1562 > > │ = semi_open_2; time = 612} │ 00:03:37 verbose #1563 > > │ 02:19:35 verbose #11 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1564 > > │ = closed_2; time = 577} │ 00:03:37 verbose #1565 > > │ │ 00:03:37 verbose #1566 > > │ 02:19:35 verbose #12 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1567 > > │ 8; 9; 11|], 11, 7)} │ 00:03:37 verbose #1568 > > │ 02:19:35 verbose #13 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1569 > > │ = semi_open_1; time = 550} │ 00:03:37 verbose #1570 > > │ 02:19:36 verbose #14 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1571 > > │ = closed_1; time = 580} │ 00:03:37 verbose #1572 > > │ 02:19:37 verbose #15 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1573 > > │ = semi_open_2; time = 624} │ 00:03:37 verbose #1574 > > │ 02:19:37 verbose #16 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1575 > > │ = closed_2; time = 590} │ 00:03:37 verbose #1576 > > │ │ 00:03:37 verbose #1577 > > │ 02:19:37 verbose #17 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1578 > > │ 8; 9; 11|], 12, 7)} │ 00:03:37 verbose #1579 > > │ 02:19:38 verbose #18 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1580 > > │ = semi_open_1; time = 574} │ 00:03:37 verbose #1581 > > │ 02:19:39 verbose #19 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1582 > > │ = closed_1; time = 577} │ 00:03:37 verbose #1583 > > │ 02:19:39 verbose #20 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1584 > > │ = semi_open_2; time = 582} │ 00:03:37 verbose #1585 > > │ 02:19:40 verbose #21 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1586 > > │ = closed_2; time = 585} │ 00:03:37 verbose #1587 > > │ │ 00:03:37 verbose #1588 > > │ 02:19:40 verbose #22 benchmark.run / {input_str = struct ([|1; 2; 3; │ 00:03:37 verbose #1589 > > │ 4...00; ...|], 60, 1000)} │ 00:03:37 verbose #1590 > > │ 02:19:41 verbose #23 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1591 > > │ = semi_open_1; time = 610} │ 00:03:37 verbose #1592 > > │ 02:19:42 verbose #24 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1593 > > │ = closed_1; time = 672} │ 00:03:37 verbose #1594 > > │ 02:19:42 verbose #25 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1595 > > │ = semi_open_2; time = 636} │ 00:03:37 verbose #1596 > > │ 02:19:43 verbose #26 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1597 > > │ = closed_2; time = 629} │ 00:03:37 verbose #1598 > > │ │ 00:03:37 verbose #1599 > > │ 02:19:43 verbose #27 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1600 > > │ 8; 9; 11|], 6, 7)} │ 00:03:37 verbose #1601 > > │ 02:19:44 verbose #28 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1602 > > │ = semi_open_1; time = 599} │ 00:03:37 verbose #1603 > > │ 02:19:44 verbose #29 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1604 > > │ = closed_1; time = 561} │ 00:03:37 verbose #1605 > > │ 02:19:45 verbose #30 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1606 > > │ = semi_open_2; time = 604} │ 00:03:37 verbose #1607 > > │ 02:19:46 verbose #31 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1608 > > │ = closed_2; time = 573} │ 00:03:37 verbose #1609 > > │ │ 00:03:37 verbose #1610 > > │ 02:19:46 verbose #32 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1611 > > │ 8; 9; 11|], 1, 7)} │ 00:03:37 verbose #1612 > > │ 02:19:47 verbose #33 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1613 > > │ = semi_open_1; time = 635} │ 00:03:37 verbose #1614 > > │ 02:19:47 verbose #34 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1615 > > │ = closed_1; time = 603} │ 00:03:37 verbose #1616 > > │ 02:19:48 verbose #35 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1617 > > │ = semi_open_2; time = 644} │ 00:03:37 verbose #1618 > > │ 02:19:49 verbose #36 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1619 > > │ = closed_2; time = 628} │ 00:03:37 verbose #1620 > > │ │ 00:03:37 verbose #1621 > > │ 02:19:49 verbose #37 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1622 > > │ 8; 9; 11|], 11, 7)} │ 00:03:37 verbose #1623 > > │ 02:19:49 verbose #38 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1624 > > │ = semi_open_1; time = 643} │ 00:03:37 verbose #1625 > > │ 02:19:50 verbose #39 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1626 > > │ = closed_1; time = 606} │ 00:03:37 verbose #1627 > > │ 02:19:51 verbose #40 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1628 > > │ = semi_open_2; time = 636} │ 00:03:37 verbose #1629 > > │ 02:19:52 verbose #41 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1630 > > │ = closed_2; time = 624} │ 00:03:37 verbose #1631 > > │ │ 00:03:37 verbose #1632 > > │ 02:19:52 verbose #42 benchmark.run / {input_str = struct ([|1; 3; 4; 6; │ 00:03:37 verbose #1633 > > │ 8; 9; 11|], 12, 7)} │ 00:03:37 verbose #1634 > > │ 02:19:52 verbose #43 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1635 > > │ = semi_open_1; time = 689} │ 00:03:37 verbose #1636 > > │ 02:19:53 verbose #44 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1637 > > │ = closed_1; time = 613} │ 00:03:37 verbose #1638 > > │ 02:19:54 verbose #45 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1639 > > │ = semi_open_2; time = 623} │ 00:03:37 verbose #1640 > > │ 02:19:55 verbose #46 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1641 > > │ = closed_2; time = 613} │ 00:03:37 verbose #1642 > > │ │ 00:03:37 verbose #1643 > > │ 02:19:55 verbose #47 benchmark.run / {input_str = struct ([|1; 2; 3; │ 00:03:37 verbose #1644 > > │ 4...100; ...|], 60, 100)} │ 00:03:37 verbose #1645 > > │ 02:19:55 verbose #48 benchmark.run / solutions.map / {i = 1; test_name │ 00:03:37 verbose #1646 > > │ = semi_open_1; time = 630} │ 00:03:37 verbose #1647 > > │ 02:19:56 verbose #49 benchmark.run / solutions.map / {i = 2; test_name │ 00:03:37 verbose #1648 > > │ = closed_1; time = 633} │ 00:03:37 verbose #1649 > > │ 02:19:57 verbose #50 benchmark.run / solutions.map / {i = 3; test_name │ 00:03:37 verbose #1650 > > │ = semi_open_2; time = 653} │ 00:03:37 verbose #1651 > > │ 02:19:58 verbose #51 benchmark.run / solutions.map / {i = 4; test_name │ 00:03:37 verbose #1652 > > │ = closed_2; time = 646} │ 00:03:37 verbose #1653 > > │ ``` │ 00:03:37 verbose #1654 > > │ input | expected | result | best │ 00:03:37 verbose #1655 > > │ --- | --- | --- | --- │ 00:03:37 verbose #1656 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 6, 7) | US4_0 3 | US4_0 3 | 4, 610 │ 00:03:37 verbose #1657 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 1, 7) | US4_0 0 | US4_0 0 | 2, 559 │ 00:03:37 verbose #1658 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 11, 7) | US4_0 6 | US4_0 6 | 1, 550 │ 00:03:37 verbose #1659 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 12, 7) | US4_1 | US4_1 | 1, 574 │ 00:03:37 verbose #1660 > > │ struct ([1; 2; 3; 4...00; ...], 60, 1000) | US4_0 59 | US4_0 59 | 1, 610 │ 00:03:37 verbose #1661 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 6, 7) | US4_0 3 | US4_0 3 | 2, 561 │ 00:03:37 verbose #1662 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 1, 7) | US4_0 0 | US4_0 0 | 2, 603 │ 00:03:37 verbose #1663 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 11, 7) | US4_0 6 | US4_0 6 | 2, 606 │ 00:03:37 verbose #1664 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 12, 7) | US4_1 | US4_1 | 2, 613 │ 00:03:37 verbose #1665 > > │ struct ([1; 2; 3; 4...100; ...], 60, 100) | US4_0 59 | US4_0 59 | 1, 630 │ 00:03:37 verbose #1666 > > │ ``` │ 00:03:37 verbose #1667 > > │ 02:19:58 verbose #52 benchmark.sort_result_list / averages.iter / {avg │ 00:03:37 verbose #1668 > > │ = 602; i = 2} │ 00:03:37 verbose #1669 > > │ 02:19:58 verbose #53 benchmark.sort_result_list / averages.iter / {avg │ 00:03:37 verbose #1670 > > │ = 607; i = 4} │ 00:03:37 verbose #1671 > > │ 02:19:58 verbose #54 benchmark.sort_result_list / averages.iter / {avg │ 00:03:37 verbose #1672 > > │ = 619; i = 1} │ 00:03:37 verbose #1673 > > │ 02:19:58 verbose #55 benchmark.sort_result_list / averages.iter / {avg │ 00:03:37 verbose #1674 > > │ = 625; i = 3} │ 00:03:37 verbose #1675 > > │ ``` │ 00:03:37 verbose #1676 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:37 verbose #1677 > > 00:03:37 verbose #1678 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:37 verbose #1679 > > //// test 00:03:37 verbose #1680 > > //// timeout=90000 00:03:37 verbose #1681 > > 00:03:37 verbose #1682 > > inl binary_search_semi_open_1 arr target left right = 00:03:37 verbose #1683 > > inl rec body left right = 00:03:37 verbose #1684 > > if left >= right 00:03:37 verbose #1685 > > then None 00:03:37 verbose #1686 > > else 00:03:37 verbose #1687 > > inl mid = (left + right) / 2 00:03:37 verbose #1688 > > inl item = index arr mid 00:03:37 verbose #1689 > > if item = target 00:03:37 verbose #1690 > > then Some mid 00:03:37 verbose #1691 > > elif item < target 00:03:37 verbose #1692 > > then loop (mid + 1) right 00:03:37 verbose #1693 > > else loop left mid 00:03:37 verbose #1694 > > and inl loop left right = 00:03:37 verbose #1695 > > if var_is right |> not 00:03:37 verbose #1696 > > then body left right 00:03:37 verbose #1697 > > else 00:03:37 verbose #1698 > > inl left = dyn left 00:03:37 verbose #1699 > > join body left right 00:03:37 verbose #1700 > > loop left right 00:03:37 verbose #1701 > > 00:03:37 verbose #1702 > > inl binary_search_closed_1 arr target left right = 00:03:37 verbose #1703 > > inl rec body left right = 00:03:37 verbose #1704 > > if left > right 00:03:37 verbose #1705 > > then None 00:03:37 verbose #1706 > > else 00:03:37 verbose #1707 > > inl mid = (left + right) / 2 00:03:37 verbose #1708 > > inl item = index arr mid 00:03:37 verbose #1709 > > if item = target 00:03:37 verbose #1710 > > then Some mid 00:03:37 verbose #1711 > > elif item < target 00:03:37 verbose #1712 > > then loop (mid + 1) right 00:03:37 verbose #1713 > > else loop left (mid - 1) 00:03:37 verbose #1714 > > and inl loop left right = 00:03:37 verbose #1715 > > if var_is right |> not 00:03:37 verbose #1716 > > then body left right 00:03:37 verbose #1717 > > else 00:03:37 verbose #1718 > > inl left = dyn left 00:03:37 verbose #1719 > > join body left right 00:03:37 verbose #1720 > > loop left right 00:03:37 verbose #1721 > > 00:03:37 verbose #1722 > > inl binary_search_semi_open_2 arr target left right = 00:03:37 verbose #1723 > > let rec body left right = 00:03:37 verbose #1724 > > if left >= right 00:03:37 verbose #1725 > > then None 00:03:37 verbose #1726 > > else 00:03:37 verbose #1727 > > inl mid = (left + right) / 2 00:03:37 verbose #1728 > > inl item = index arr mid 00:03:37 verbose #1729 > > if item = target 00:03:37 verbose #1730 > > then Some mid 00:03:37 verbose #1731 > > elif item < target 00:03:37 verbose #1732 > > then loop (mid + 1) right 00:03:37 verbose #1733 > > else loop left mid 00:03:37 verbose #1734 > > and inl loop left right = body left right 00:03:37 verbose #1735 > > loop left right 00:03:37 verbose #1736 > > 00:03:37 verbose #1737 > > inl binary_search_closed_2 arr target left right = 00:03:37 verbose #1738 > > let rec body left right = 00:03:37 verbose #1739 > > if left > right 00:03:37 verbose #1740 > > then None 00:03:37 verbose #1741 > > else 00:03:37 verbose #1742 > > inl mid = (left + right) / 2 00:03:37 verbose #1743 > > inl item = index arr mid 00:03:37 verbose #1744 > > if item = target 00:03:37 verbose #1745 > > then Some mid 00:03:37 verbose #1746 > > elif item < target 00:03:37 verbose #1747 > > then loop (mid + 1) right 00:03:37 verbose #1748 > > else loop left (mid - 1) 00:03:37 verbose #1749 > > and inl loop left right = body left right 00:03:37 verbose #1750 > > loop left right 00:03:37 verbose #1751 > > 00:03:37 verbose #1752 > > inl get_solutions () = 00:03:37 verbose #1753 > > [[ 00:03:37 verbose #1754 > > "semi_open_1", 00:03:37 verbose #1755 > > fun (arr, (target, len)) => 00:03:37 verbose #1756 > > binary_search_semi_open_1 arr target 0 len 00:03:37 verbose #1757 > > 00:03:37 verbose #1758 > > "closed_1", 00:03:37 verbose #1759 > > fun (arr, (target, len)) => 00:03:37 verbose #1760 > > binary_search_closed_1 arr target 0 (len - 1) 00:03:37 verbose #1761 > > 00:03:37 verbose #1762 > > "semi_open_2", 00:03:37 verbose #1763 > > fun (arr, (target, len)) => 00:03:37 verbose #1764 > > binary_search_semi_open_2 arr target 0 len 00:03:37 verbose #1765 > > 00:03:37 verbose #1766 > > "closed_2", 00:03:37 verbose #1767 > > fun (arr, (target, len)) => 00:03:37 verbose #1768 > > binary_search_closed_2 arr target 0 (len - 1) 00:03:37 verbose #1769 > > ]] 00:03:37 verbose #1770 > > 00:03:37 verbose #1771 > > inl rec binary_search_tests () = 00:03:37 verbose #1772 > > inl arr_with_len target len arr = 00:03:37 verbose #1773 > > arr, (target, (len |> optionm'.default_with fun () => length arr)) 00:03:37 verbose #1774 > > 00:03:37 verbose #1775 > > inl test_cases = [[ 00:03:37 verbose #1776 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 6 None), (Some 3i32) 00:03:37 verbose #1777 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 1 None), (Some 0i32) 00:03:37 verbose #1778 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 11 None), (Some 6i32) 00:03:37 verbose #1779 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 12 None), None 00:03:37 verbose #1780 > > ((am'.init_series 1i32 1000 1 |> fun x => a x : _ int _) |> arr_with_len 00:03:37 verbose #1781 > > 60 None), (Some 59) 00:03:37 verbose #1782 > > 00:03:37 verbose #1783 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 6 (Some 7)), (Some 00:03:37 verbose #1784 > > 3i32) 00:03:37 verbose #1785 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 1 (Some 7)), (Some 00:03:37 verbose #1786 > > 0i32) 00:03:37 verbose #1787 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 11 (Some 7)), (Some 00:03:37 verbose #1788 > > 6i32) 00:03:37 verbose #1789 > > (a ;[[ 1i32; 3; 4; 6; 8; 9; 11 ]] |> arr_with_len 12 (Some 7)), None 00:03:37 verbose #1790 > > ((am'.init_series 1i32 1000 1 |> fun x => a x : _ int _) |> arr_with_len 00:03:37 verbose #1791 > > 60 (Some 100)), (Some 59) 00:03:37 verbose #1792 > > ]] 00:03:37 verbose #1793 > > 00:03:37 verbose #1794 > > inl solutions = get_solutions () 00:03:37 verbose #1795 > > 00:03:37 verbose #1796 > > // inl is_fast () = true 00:03:37 verbose #1797 > > 00:03:37 verbose #1798 > > inl count = 00:03:37 verbose #1799 > > if is_fast () 00:03:37 verbose #1800 > > then 1000i32 00:03:37 verbose #1801 > > else 10000000i32 00:03:37 verbose #1802 > > 00:03:37 verbose #1803 > > run_all (reflection.nameof { binary_search_tests }) count solutions 00:03:37 verbose #1804 > > test_cases 00:03:37 verbose #1805 > > |> sort_result_list 00:03:37 verbose #1806 > > 00:03:37 verbose #1807 > > 00:03:37 verbose #1808 > > let main () = 00:03:37 verbose #1809 > > binary_search_tests () 00:03:38 verbose #1810 > 00:03:37 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/713602f9b8f4d82d4dcfe100ca8304d8b93c68d2b3a29765618d48f14990f769/main.spi 00:03:49 verbose #1811 > > 00:03:49 verbose #1812 > > ╭─[ 11.48s - stdout ]──────────────────────────────────────────────────────────╮ 00:03:49 verbose #1813 > > │ │ 00:03:49 verbose #1814 > > │ ``` │ 00:03:49 verbose #1815 > > │ 00:00:00 verbose #1 benchmark.run_all / { test_name = │ 00:03:49 verbose #1816 > > │ binary_search_tests; count = 10000000 } │ 00:03:49 verbose #1817 > > │ │ 00:03:49 verbose #1818 > > │ 00:00:00 verbose #2 benchmark.run / { input_str = struct ([|1; 3; 4; 6; │ 00:03:49 verbose #1819 > > │ 8; 9; 11|], 6, 7) } │ 00:03:49 verbose #1820 > > │ 00:00:00 verbose #3 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1821 > > │ = semi_open_1; time = 372 } │ 00:03:49 verbose #1822 > > │ 00:00:00 verbose #4 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1823 > > │ = closed_1; time = 157 } │ 00:03:49 verbose #1824 > > │ 00:00:01 verbose #5 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1825 > > │ = semi_open_2; time = 158 } │ 00:03:49 verbose #1826 > > │ 00:00:01 verbose #6 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1827 > > │ = closed_2; time = 162 } │ 00:03:49 verbose #1828 > > │ │ 00:03:49 verbose #1829 > > │ 00:00:01 verbose #7 benchmark.run / { input_str = struct ([|1; 3; 4; 6; │ 00:03:49 verbose #1830 > > │ 8; 9; 11|], 1, 7) } │ 00:03:49 verbose #1831 > > │ 00:00:01 verbose #8 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1832 > > │ = semi_open_1; time = 99 } │ 00:03:49 verbose #1833 > > │ 00:00:01 verbose #9 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1834 > > │ = closed_1; time = 100 } │ 00:03:49 verbose #1835 > > │ 00:00:02 verbose #10 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1836 > > │ = semi_open_2; time = 101 } │ 00:03:49 verbose #1837 > > │ 00:00:02 verbose #11 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1838 > > │ = closed_2; time = 81 } │ 00:03:49 verbose #1839 > > │ │ 00:03:49 verbose #1840 > > │ 00:00:02 verbose #12 benchmark.run / { input_str = struct ([|1; 3; 4; │ 00:03:49 verbose #1841 > > │ 6; 8; 9; 11|], 11, 7) } │ 00:03:49 verbose #1842 > > │ 00:00:02 verbose #13 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1843 > > │ = semi_open_1; time = 81 } │ 00:03:49 verbose #1844 > > │ 00:00:02 verbose #14 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1845 > > │ = closed_1; time = 82 } │ 00:03:49 verbose #1846 > > │ 00:00:03 verbose #15 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1847 > > │ = semi_open_2; time = 81 } │ 00:03:49 verbose #1848 > > │ 00:00:03 verbose #16 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1849 > > │ = closed_2; time = 87 } │ 00:03:49 verbose #1850 > > │ │ 00:03:49 verbose #1851 > > │ 00:00:03 verbose #17 benchmark.run / { input_str = struct ([|1; 3; 4; │ 00:03:49 verbose #1852 > > │ 6; 8; 9; 11|], 12, 7) } │ 00:03:49 verbose #1853 > > │ 00:00:03 verbose #18 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1854 > > │ = semi_open_1; time = 82 } │ 00:03:49 verbose #1855 > > │ 00:00:03 verbose #19 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1856 > > │ = closed_1; time = 84 } │ 00:03:49 verbose #1857 > > │ 00:00:04 verbose #20 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1858 > > │ = semi_open_2; time = 86 } │ 00:03:49 verbose #1859 > > │ 00:00:04 verbose #21 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1860 > > │ = closed_2; time = 85 } │ 00:03:49 verbose #1861 > > │ │ 00:03:49 verbose #1862 > > │ 00:00:04 verbose #22 benchmark.run / { input_str = struct ([|1; 2; 3; │ 00:03:49 verbose #1863 > > │ 4...00; ...|], 60, 1000) } │ 00:03:49 verbose #1864 > > │ 00:00:04 verbose #23 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1865 > > │ = semi_open_1; time = 106 } │ 00:03:49 verbose #1866 > > │ 00:00:04 verbose #24 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1867 > > │ = closed_1; time = 115 } │ 00:03:49 verbose #1868 > > │ 00:00:05 verbose #25 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1869 > > │ = semi_open_2; time = 107 } │ 00:03:49 verbose #1870 > > │ 00:00:05 verbose #26 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1871 > > │ = closed_2; time = 115 } │ 00:03:49 verbose #1872 > > │ │ 00:03:49 verbose #1873 > > │ 00:00:05 verbose #27 benchmark.run / { input_str = struct ([|1; 3; 4; │ 00:03:49 verbose #1874 > > │ 6; 8; 9; 11|], 6, 7) } │ 00:03:49 verbose #1875 > > │ 00:00:05 verbose #28 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1876 > > │ = semi_open_1; time = 71 } │ 00:03:49 verbose #1877 > > │ 00:00:05 verbose #29 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1878 > > │ = closed_1; time = 87 } │ 00:03:49 verbose #1879 > > │ 00:00:06 verbose #30 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1880 > > │ = semi_open_2; time = 87 } │ 00:03:49 verbose #1881 > > │ 00:00:06 verbose #31 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1882 > > │ = closed_2; time = 88 } │ 00:03:49 verbose #1883 > > │ │ 00:03:49 verbose #1884 > > │ 00:00:06 verbose #32 benchmark.run / { input_str = struct ([|1; 3; 4; │ 00:03:49 verbose #1885 > > │ 6; 8; 9; 11|], 1, 7) } │ 00:03:49 verbose #1886 > > │ 00:00:06 verbose #33 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1887 > > │ = semi_open_1; time = 98 } │ 00:03:49 verbose #1888 > > │ 00:00:06 verbose #34 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1889 > > │ = closed_1; time = 101 } │ 00:03:49 verbose #1890 > > │ 00:00:07 verbose #35 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1891 > > │ = semi_open_2; time = 97 } │ 00:03:49 verbose #1892 > > │ 00:00:07 verbose #36 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1893 > > │ = closed_2; time = 99 } │ 00:03:49 verbose #1894 > > │ │ 00:03:49 verbose #1895 > > │ 00:00:07 verbose #37 benchmark.run / { input_str = struct ([|1; 3; 4; │ 00:03:49 verbose #1896 > > │ 6; 8; 9; 11|], 11, 7) } │ 00:03:49 verbose #1897 > > │ 00:00:07 verbose #38 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1898 > > │ = semi_open_1; time = 100 } │ 00:03:49 verbose #1899 > > │ 00:00:07 verbose #39 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1900 > > │ = closed_1; time = 99 } │ 00:03:49 verbose #1901 > > │ 00:00:08 verbose #40 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1902 > > │ = semi_open_2; time = 98 } │ 00:03:49 verbose #1903 > > │ 00:00:08 verbose #41 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1904 > > │ = closed_2; time = 101 } │ 00:03:49 verbose #1905 > > │ │ 00:03:49 verbose #1906 > > │ 00:00:08 verbose #42 benchmark.run / { input_str = struct ([|1; 3; 4; │ 00:03:49 verbose #1907 > > │ 6; 8; 9; 11|], 12, 7) } │ 00:03:49 verbose #1908 > > │ 00:00:08 verbose #43 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1909 > > │ = semi_open_1; time = 102 } │ 00:03:49 verbose #1910 > > │ 00:00:08 verbose #44 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1911 > > │ = closed_1; time = 102 } │ 00:03:49 verbose #1912 > > │ 00:00:09 verbose #45 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1913 > > │ = semi_open_2; time = 102 } │ 00:03:49 verbose #1914 > > │ 00:00:09 verbose #46 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1915 > > │ = closed_2; time = 85 } │ 00:03:49 verbose #1916 > > │ │ 00:03:49 verbose #1917 > > │ 00:00:09 verbose #47 benchmark.run / { input_str = struct ([|1; 2; 3; │ 00:03:49 verbose #1918 > > │ 4...100; ...|], 60, 100) } │ 00:03:49 verbose #1919 > > │ 00:00:09 verbose #48 benchmark.run / solutions.map / { i = 1; test_name │ 00:03:49 verbose #1920 > > │ = semi_open_1; time = 105 } │ 00:03:49 verbose #1921 > > │ 00:00:09 verbose #49 benchmark.run / solutions.map / { i = 2; test_name │ 00:03:49 verbose #1922 > > │ = closed_1; time = 102 } │ 00:03:49 verbose #1923 > > │ 00:00:10 verbose #50 benchmark.run / solutions.map / { i = 3; test_name │ 00:03:49 verbose #1924 > > │ = semi_open_2; time = 98 } │ 00:03:49 verbose #1925 > > │ 00:00:10 verbose #51 benchmark.run / solutions.map / { i = 4; test_name │ 00:03:49 verbose #1926 > > │ = closed_2; time = 102 } │ 00:03:49 verbose #1927 > > │ ``` │ 00:03:49 verbose #1928 > > │ input | expected | result | best │ 00:03:49 verbose #1929 > > │ --- | --- | --- | --- │ 00:03:49 verbose #1930 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 6, 7) | US4_0 3 | US4_0 3 | 2, 157 │ 00:03:49 verbose #1931 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 1, 7) | US4_0 0 | US4_0 0 | 4, 81 │ 00:03:49 verbose #1932 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 11, 7) | US4_0 6 | US4_0 6 | 1, 81 │ 00:03:49 verbose #1933 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 12, 7) | US4_1 | US4_1 | 1, 82 │ 00:03:49 verbose #1934 > > │ struct ([1; 2; 3; 4...00; ...], 60, 1000) | US4_0 59 | US4_0 59 | 1, 106 │ 00:03:49 verbose #1935 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 6, 7) | US4_0 3 | US4_0 3 | 1, 71 │ 00:03:49 verbose #1936 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 1, 7) | US4_0 0 | US4_0 0 | 3, 97 │ 00:03:49 verbose #1937 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 11, 7) | US4_0 6 | US4_0 6 | 3, 98 │ 00:03:49 verbose #1938 > > │ struct ([1; 3; 4; 6; 8; 9; 11], 12, 7) | US4_1 | US4_1 | 4, 85 │ 00:03:49 verbose #1939 > > │ struct ([1; 2; 3; 4...100; ...], 60, 100) | US4_0 59 | US4_0 59 | 3, 98 │ 00:03:49 verbose #1940 > > │ ``` │ 00:03:49 verbose #1941 > > │ 00:00:10 verbose #52 benchmark.sort_result_list / averages.iter / { i = │ 00:03:49 verbose #1942 > > │ 4; avg = 100 } │ 00:03:49 verbose #1943 > > │ 00:00:10 verbose #53 benchmark.sort_result_list / averages.iter / { i = │ 00:03:49 verbose #1944 > > │ 3; avg = 101 } │ 00:03:49 verbose #1945 > > │ 00:00:10 verbose #54 benchmark.sort_result_list / averages.iter / { i = │ 00:03:49 verbose #1946 > > │ 2; avg = 102 } │ 00:03:49 verbose #1947 > > │ 00:00:10 verbose #55 benchmark.sort_result_list / averages.iter / { i = │ 00:03:49 verbose #1948 > > │ 1; avg = 121 } │ 00:03:49 verbose #1949 > > │ ``` │ 00:03:49 verbose #1950 > > │ │ 00:03:49 verbose #1951 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:49 verbose #1952 > > 00:03:49 verbose #1953 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:49 verbose #1954 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:49 verbose #1955 > > │ ## returnLettersWithOddCountTests │ 00:03:49 verbose #1956 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:49 verbose #1957 > > 00:03:49 verbose #1958 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:49 verbose #1959 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:49 verbose #1960 > > │ Test: ReturnLettersWithOddCount │ 00:03:49 verbose #1961 > > │ │ 00:03:49 verbose #1962 > > │ Solution: 1 │ 00:03:49 verbose #1963 > > │ Test case 1. A. Time: 645L │ 00:03:49 verbose #1964 > > │ │ 00:03:49 verbose #1965 > > │ Solution: 2 │ 00:03:49 verbose #1966 > > │ Test case 1. A. Time: 663L │ 00:03:49 verbose #1967 > > │ │ 00:03:49 verbose #1968 > > │ Solution: 3 │ 00:03:49 verbose #1969 > > │ Test case 1. A. Time: 680L │ 00:03:49 verbose #1970 > > │ │ 00:03:49 verbose #1971 > > │ Solution: 9 │ 00:03:49 verbose #1972 > > │ Test case 1. A. Time: 730L │ 00:03:49 verbose #1973 > > │ │ 00:03:49 verbose #1974 > > │ Solution: 10 │ 00:03:49 verbose #1975 > > │ Test case 1. A. Time: 815L │ 00:03:49 verbose #1976 > > │ │ 00:03:49 verbose #1977 > > │ Input | Expected | Result | Best │ 00:03:49 verbose #1978 > > │ --- | --- | --- | --- │ 00:03:49 verbose #1979 > > │ 1 | a | a | (1, 645) │ 00:03:49 verbose #1980 > > │ 2 | ba | ba | (1, 663) │ 00:03:49 verbose #1981 > > │ 3 | aaa | aaa | (1, 680) │ 00:03:49 verbose #1982 > > │ 9 | aaaaaaaaa | aaaaaaaaa | (1, 730) │ 00:03:49 verbose #1983 > > │ 10 | baaaaaaaaa | baaaaaaaaa | (1, 815) │ 00:03:49 verbose #1984 > > │ │ 00:03:49 verbose #1985 > > │ Averages │ 00:03:49 verbose #1986 > > │ Test case 1. Average Time: 706L │ 00:03:49 verbose #1987 > > │ │ 00:03:49 verbose #1988 > > │ Ranking │ 00:03:49 verbose #1989 > > │ Test case 1. Average Time: 706L │ 00:03:49 verbose #1990 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:49 verbose #1991 > > 00:03:49 verbose #1992 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:03:49 verbose #1993 > > //// test 00:03:49 verbose #1994 > > 00:03:49 verbose #1995 > > let solutions = [[ 00:03:49 verbose #1996 > > "A", 00:03:49 verbose #1997 > > fun n -> 00:03:49 verbose #1998 > > let mutable _builder = StringBuilder (new string('a', n)) 00:03:49 verbose #1999 > > if n % 2 = 0 then 00:03:49 verbose #2000 > > _builder.[[0]] <- 'b' 00:03:49 verbose #2001 > > 00:03:49 verbose #2002 > > _builder.ToString () 00:03:49 verbose #2003 > > ]] 00:03:49 verbose #2004 > > let testCases = seq { 00:03:49 verbose #2005 > > 1, "a" 00:03:49 verbose #2006 > > 2, "ba" 00:03:49 verbose #2007 > > 3, "aaa" 00:03:49 verbose #2008 > > 9, "aaaaaaaaa" 00:03:49 verbose #2009 > > 10, "baaaaaaaaa" 00:03:49 verbose #2010 > > } 00:03:49 verbose #2011 > > let rec returnLettersWithOddCountTests = 00:03:49 verbose #2012 > > runAll (nameof returnLettersWithOddCountTests) _count solutions testCases 00:03:49 verbose #2013 > > returnLettersWithOddCountTests 00:03:49 verbose #2014 > > |> sortResultList 00:03:52 verbose #2015 > > 00:03:52 verbose #2016 > > ╭─[ 2.79s - stdout ]───────────────────────────────────────────────────────────╮ 00:03:52 verbose #2017 > > │ │ 00:03:52 verbose #2018 > > │ │ 00:03:52 verbose #2019 > > │ Test: returnLettersWithOddCountTests │ 00:03:52 verbose #2020 > > │ │ 00:03:52 verbose #2021 > > │ Solution: 1 │ 00:03:52 verbose #2022 > > │ Test case 1. A. Time: 343L │ 00:03:52 verbose #2023 > > │ │ 00:03:52 verbose #2024 > > │ Solution: 2 │ 00:03:52 verbose #2025 > > │ Test case 1. A. Time: 398L │ 00:03:52 verbose #2026 > > │ │ 00:03:52 verbose #2027 > > │ Solution: 3 │ 00:03:52 verbose #2028 > > │ Test case 1. A. Time: 385L │ 00:03:52 verbose #2029 > > │ │ 00:03:52 verbose #2030 > > │ Solution: 9 │ 00:03:52 verbose #2031 > > │ Test case 1. A. Time: 379L │ 00:03:52 verbose #2032 > > │ │ 00:03:52 verbose #2033 > > │ Solution: 10 │ 00:03:52 verbose #2034 > > │ Test case 1. A. Time: 355L │ 00:03:52 verbose #2035 > > │ │ 00:03:52 verbose #2036 > > │ Input | Expected | Result | Best │ 00:03:52 verbose #2037 > > │ --- | --- | --- | --- │ 00:03:52 verbose #2038 > > │ 1 | a | a | (1, 343) │ 00:03:52 verbose #2039 > > │ 2 | ba | ba | (1, 398) │ 00:03:52 verbose #2040 > > │ 3 | aaa | aaa | (1, 385) │ 00:03:52 verbose #2041 > > │ 9 | aaaaaaaaa | aaaaaaaaa | (1, 379) │ 00:03:52 verbose #2042 > > │ 10 | baaaaaaaaa | baaaaaaaaa | (1, 355) │ 00:03:52 verbose #2043 > > │ │ 00:03:52 verbose #2044 > > │ Average Ranking │ 00:03:52 verbose #2045 > > │ Test case 1. Average Time: 372L │ 00:03:52 verbose #2046 > > │ │ 00:03:52 verbose #2047 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:52 verbose #2048 > > 00:03:52 verbose #2049 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:52 verbose #2050 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:52 verbose #2051 > > │ ## hasAnyPairCloseToEachotherTests │ 00:03:52 verbose #2052 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:52 verbose #2053 > > 00:03:52 verbose #2054 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:52 verbose #2055 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:52 verbose #2056 > > │ Test: HasAnyPairCloseToEachother │ 00:03:52 verbose #2057 > > │ │ 00:03:52 verbose #2058 > > │ Solution: 0 │ 00:03:52 verbose #2059 > > │ Test case 1. A. Time: 137L │ 00:03:52 verbose #2060 > > │ │ 00:03:52 verbose #2061 > > │ Solution: 1,2 │ 00:03:52 verbose #2062 > > │ Test case 1. A. Time: 186L │ 00:03:52 verbose #2063 > > │ │ 00:03:52 verbose #2064 > > │ Solution: 3,5 │ 00:03:52 verbose #2065 > > │ Test case 1. A. Time: 206L │ 00:03:52 verbose #2066 > > │ │ 00:03:52 verbose #2067 > > │ Solution: 3,4,6 │ 00:03:52 verbose #2068 > > │ Test case 1. A. Time: 149L │ 00:03:52 verbose #2069 > > │ │ 00:03:52 verbose #2070 > > │ Solution: 2,4,6 │ 00:03:52 verbose #2071 > > │ Test case 1. A. Time: 150L │ 00:03:52 verbose #2072 > > │ │ 00:03:52 verbose #2073 > > │ Input | Expected | Result | Best │ 00:03:52 verbose #2074 > > │ --- | --- | --- | --- │ 00:03:52 verbose #2075 > > │ 0 | False | False | (1, 137) │ 00:03:52 verbose #2076 > > │ 1,2 | True | True | (1, 186) │ 00:03:52 verbose #2077 > > │ 3,5 | False | False | (1, 206) │ 00:03:52 verbose #2078 > > │ 3,4,6 | True | True | (1, 149) │ 00:03:52 verbose #2079 > > │ 2,4,6 | False | False | (1, 150) │ 00:03:52 verbose #2080 > > │ │ 00:03:52 verbose #2081 > > │ Averages │ 00:03:52 verbose #2082 > > │ Test case 1. Average Time: 165L │ 00:03:52 verbose #2083 > > │ │ 00:03:52 verbose #2084 > > │ Ranking │ 00:03:52 verbose #2085 > > │ Test case 1. Average Time: 165L │ 00:03:52 verbose #2086 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:52 verbose #2087 > > 00:03:52 verbose #2088 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:03:52 verbose #2089 > > //// test 00:03:52 verbose #2090 > > 00:03:52 verbose #2091 > > let solutions = [[ 00:03:52 verbose #2092 > > "A", 00:03:52 verbose #2093 > > fun (a: int[[]]) -> 00:03:52 verbose #2094 > > let indices = System.Linq.Enumerable.Range(0, a.Length) |> 00:03:52 verbose #2095 > > System.Linq.Enumerable.ToArray 00:03:52 verbose #2096 > > System.Array.Sort (a, indices) 00:03:52 verbose #2097 > > 00:03:52 verbose #2098 > > indices 00:03:52 verbose #2099 > > |> Array.take (a.Length - 1) 00:03:52 verbose #2100 > > |> Array.exists (fun i -> a.[[i + 1]] - a.[[i]] = 1) 00:03:52 verbose #2101 > > ]] 00:03:52 verbose #2102 > > let testCases = seq { 00:03:52 verbose #2103 > > [[| 0 |]], false 00:03:52 verbose #2104 > > [[| 1; 2 |]], true 00:03:52 verbose #2105 > > [[| 3; 5 |]], false 00:03:52 verbose #2106 > > [[| 3; 4; 6 |]], true 00:03:52 verbose #2107 > > [[| 2; 4; 6 |]], false 00:03:52 verbose #2108 > > } 00:03:52 verbose #2109 > > let rec hasAnyPairCloseToEachotherTests = 00:03:52 verbose #2110 > > runAll (nameof hasAnyPairCloseToEachotherTests) _count solutions testCases 00:03:52 verbose #2111 > > hasAnyPairCloseToEachotherTests 00:03:52 verbose #2112 > > |> sortResultList 00:03:53 verbose #2113 > > 00:03:53 verbose #2114 > > ╭─[ 1.30s - stdout ]───────────────────────────────────────────────────────────╮ 00:03:53 verbose #2115 > > │ │ 00:03:53 verbose #2116 > > │ │ 00:03:53 verbose #2117 > > │ Test: hasAnyPairCloseToEachotherTests │ 00:03:53 verbose #2118 > > │ │ 00:03:53 verbose #2119 > > │ Solution: 0 │ 00:03:53 verbose #2120 > > │ Test case 1. A. Time: 146L │ 00:03:53 verbose #2121 > > │ │ 00:03:53 verbose #2122 > > │ Solution: 1,2 │ 00:03:53 verbose #2123 > > │ Test case 1. A. Time: 120L │ 00:03:53 verbose #2124 > > │ │ 00:03:53 verbose #2125 > > │ Solution: 3,5 │ 00:03:53 verbose #2126 > > │ Test case 1. A. Time: 64L │ 00:03:53 verbose #2127 > > │ │ 00:03:53 verbose #2128 > > │ Solution: 3,4,6 │ 00:03:53 verbose #2129 > > │ Test case 1. A. Time: 68L │ 00:03:53 verbose #2130 > > │ │ 00:03:53 verbose #2131 > > │ Solution: 2,4,6 │ 00:03:53 verbose #2132 > > │ Test case 1. A. Time: 68L │ 00:03:53 verbose #2133 > > │ │ 00:03:53 verbose #2134 > > │ Input | Expected | Result | Best │ 00:03:53 verbose #2135 > > │ --- | --- | --- | --- │ 00:03:53 verbose #2136 > > │ 0 | False | False | (1, 146) │ 00:03:53 verbose #2137 > > │ 1,2 | True | True | (1, 120) │ 00:03:53 verbose #2138 > > │ 3,5 | False | False | (1, 64) │ 00:03:53 verbose #2139 > > │ 3,4,6 | True | True | (1, 68) │ 00:03:53 verbose #2140 > > │ 2,4,6 | False | False | (1, 68) │ 00:03:53 verbose #2141 > > │ │ 00:03:53 verbose #2142 > > │ Average Ranking │ 00:03:53 verbose #2143 > > │ Test case 1. Average Time: 93L │ 00:03:53 verbose #2144 > > │ │ 00:03:53 verbose #2145 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:53 verbose #2146 > 00:03:52 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 158708 } 00:03:53 verbose #2147 > 00:03:52 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:54 verbose #2148 > 00:03:52 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.ipynb to html 00:03:54 verbose #2149 > 00:03:52 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:03:54 verbose #2150 > 00:03:52 verbose #7 ! validate(nb) 00:03:54 verbose #2151 > 00:03:53 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:03:54 verbose #2152 > 00:03:53 verbose #9 ! return _pygments_highlight( 00:03:55 verbose #2153 > 00:03:54 verbose #10 ! [NbConvertApp] Writing 458574 bytes to /home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.html 00:03:55 verbose #2154 > 00:03:54 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 890 } 00:03:55 verbose #2155 > 00:03:54 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 890 } 00:03:55 verbose #2156 > 00:03:54 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/perf/Perf.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:55 verbose #2157 > 00:03:54 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:03:55 verbose #2158 > 00:03:54 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:03:55 verbose #2159 > 00:03:54 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 159657 } 00:03:55 debug #2160 runtime.execute_with_options_async / { exit_code = 0; output_length = 166678 } 00:03:55 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Perf.dib --retries 3 00:03:55 verbose #30 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:03:55 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 writeDibCode / output: Fs / path: Perf.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: Perf.dib
In [ ]:
{ pwsh ../apps/dir-tree-html/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path DirTreeHtml.dib; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "DirTreeHtml.dib"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # DirTreeHtml (Polyglot) │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:05 verbose #15 > > 00:00:05 verbose #16 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:05 verbose #17 > > #r 00:00:05 verbose #18 > > @"../../../../../../../.nuget/packages/fsharp.control.asyncseq/3.2.1/lib/netstan 00:00:05 verbose #19 > > dard2.1/FSharp.Control.AsyncSeq.dll" 00:00:05 verbose #20 > > #r 00:00:05 verbose #21 > > @"../../../../../../../.nuget/packages/system.reactive/6.0.1-preview.1/lib/net6. 00:00:05 verbose #22 > > 0/System.Reactive.dll" 00:00:05 verbose #23 > > #r 00:00:05 verbose #24 > > @"../../../../../../../.nuget/packages/system.reactive.linq/6.0.1-preview.1/lib 00:00:05 verbose #25 > > netstandard2.0/System.Reactive.Linq.dll" 00:00:05 verbose #26 > > #r 00:00:05 verbose #27 > > @"../../../../../../../.nuget/packages/argu/6.2.4/lib/netstandard2.0/Argu.dll" 00:00:05 verbose #28 > > #r 00:00:05 verbose #29 > > @"../../../../../../../.nuget/packages/falco.markup/1.1.1/lib/netstandard2.0/Fal 00:00:05 verbose #30 > > co.Markup.dll" 00:00:16 verbose #31 > > 00:00:16 verbose #32 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #33 > > #if !INTERACTIVE 00:00:16 verbose #34 > > open Lib 00:00:16 verbose #35 > > #endif 00:00:16 verbose #36 > > 00:00:16 verbose #37 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #38 > > open SpiralFileSystem.Operators 00:00:16 verbose #39 > > open Falco.Markup 00:00:16 verbose #40 > > 00:00:16 verbose #41 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #42 > > type FileSystemNode = 00:00:16 verbose #43 > > | File of string * string * int64 00:00:16 verbose #44 > > | Folder of string * string * FileSystemNode list 00:00:16 verbose #45 > > | Root of FileSystemNode list 00:00:16 verbose #46 > > 00:00:16 verbose #47 > > let rec scanDirectory isRoot (basePath : string) (path : string) = 00:00:16 verbose #48 > > let relativePath = 00:00:16 verbose #49 > > path 00:00:16 verbose #50 > > |> SpiralSm.replace basePath "" 00:00:16 verbose #51 > > |> SpiralSm.replace "\\" "/" 00:00:16 verbose #52 > > |> SpiralSm.replace "//" "/" 00:00:16 verbose #53 > > |> SpiralSm.trim_start [[| '/' |]] 00:00:16 verbose #54 > > 00:00:16 verbose #55 > > let directories = 00:00:16 verbose #56 > > path 00:00:16 verbose #57 > > |> System.IO.Directory.GetDirectories 00:00:16 verbose #58 > > |> Array.toList 00:00:16 verbose #59 > > |> List.sort 00:00:16 verbose #60 > > |> List.map (scanDirectory false basePath) 00:00:16 verbose #61 > > let files = 00:00:16 verbose #62 > > path 00:00:16 verbose #63 > > |> System.IO.Directory.GetFiles 00:00:16 verbose #64 > > |> Array.toList 00:00:16 verbose #65 > > |> List.sort 00:00:16 verbose #66 > > |> List.map (fun f -> File (System.IO.Path.GetFileName f, relativePath, 00:00:16 verbose #67 > > System.IO.FileInfo(f).Length)) 00:00:16 verbose #68 > > 00:00:16 verbose #69 > > let children = directories @ files 00:00:16 verbose #70 > > if isRoot 00:00:16 verbose #71 > > then Root children 00:00:16 verbose #72 > > else Folder (path |> System.IO.Path.GetFileName, relativePath, children) 00:00:16 verbose #73 > > 00:00:16 verbose #74 > > let rec generateHtml fsNode = 00:00:16 verbose #75 > > let sizeLabel size = 00:00:16 verbose #76 > > match float size with 00:00:16 verbose #77 > > | size when size > 1024.0 * 1024.0 -> $"%.2f{size / 1024.0 / 1024.0} MB" 00:00:16 verbose #78 > > | size when size > 1024.0 -> $"%.2f{size / 1024.0} KB" 00:00:16 verbose #79 > > | size -> $"%.2f{size} B" 00:00:16 verbose #80 > > match fsNode with 00:00:16 verbose #81 > > | File (fileName, relativePath, size) -> 00:00:16 verbose #82 > > Elem.div [[]] [[ 00:00:16 verbose #83 > > Text.raw "📄 " 00:00:16 verbose #84 > > Elem.a [[ 00:00:16 verbose #85 > > Attr.href $"""{relativePath}{if relativePath = "" then "" else 00:00:16 verbose #86 > > "/"}{fileName}""" 00:00:16 verbose #87 > > ]] [[ 00:00:16 verbose #88 > > Text.raw fileName 00:00:16 verbose #89 > > ]] 00:00:16 verbose #90 > > Elem.span [[]] [[ 00:00:16 verbose #91 > > Text.raw $" ({size |> sizeLabel})" 00:00:16 verbose #92 > > ]] 00:00:16 verbose #93 > > ]] 00:00:16 verbose #94 > > | Folder (folderName, relativePath, children) -> 00:00:16 verbose #95 > > let size = 00:00:16 verbose #96 > > let rec loop children = 00:00:16 verbose #97 > > children 00:00:16 verbose #98 > > |> List.sumBy (function 00:00:16 verbose #99 > > | File (_, _, size) -> size 00:00:16 verbose #100 > > | Folder (_, _, children) 00:00:16 verbose #101 > > | Root children -> loop children 00:00:16 verbose #102 > > ) 00:00:16 verbose #103 > > loop children 00:00:16 verbose #104 > > Elem.details [[ 00:00:16 verbose #105 > > Attr.open' "true" 00:00:16 verbose #106 > > ]] [[ 00:00:16 verbose #107 > > Elem.summary [[]] [[ 00:00:16 verbose #108 > > Text.raw "📂 " 00:00:16 verbose #109 > > Elem.a [[ 00:00:16 verbose #110 > > Attr.href relativePath 00:00:16 verbose #111 > > ]] [[ 00:00:16 verbose #112 > > Text.raw folderName 00:00:16 verbose #113 > > ]] 00:00:16 verbose #114 > > Elem.span [[]] [[ 00:00:16 verbose #115 > > Text.raw $" ({size |> sizeLabel})" 00:00:16 verbose #116 > > ]] 00:00:16 verbose #117 > > ]] 00:00:16 verbose #118 > > Elem.div [[]] [[ 00:00:16 verbose #119 > > yield! children |> List.map generateHtml 00:00:16 verbose #120 > > ]] 00:00:16 verbose #121 > > ]] 00:00:16 verbose #122 > > | Root children -> 00:00:16 verbose #123 > > Elem.div [[]] [[ 00:00:16 verbose #124 > > yield! children |> List.map generateHtml 00:00:16 verbose #125 > > ]] 00:00:16 verbose #126 > > 00:00:16 verbose #127 > > let generateHtmlForFileSystem root = 00:00:16 verbose #128 > > $"""<!DOCTYPE html> 00:00:16 verbose #129 > > <html lang="en"> 00:00:16 verbose #130 > > <head> 00:00:16 verbose #131 > > <meta charset="UTF-8"> 00:00:16 verbose #132 > > <style> 00:00:16 verbose #133 > > body {{ 00:00:16 verbose #134 > > background-color: #222; 00:00:16 verbose #135 > > color: #ccc; 00:00:16 verbose #136 > > }} 00:00:16 verbose #137 > > a {{ 00:00:16 verbose #138 > > color: #777; 00:00:16 verbose #139 > > font-size: 15px; 00:00:16 verbose #140 > > }} 00:00:16 verbose #141 > > span {{ 00:00:16 verbose #142 > > font-size: 11px; 00:00:16 verbose #143 > > }} 00:00:16 verbose #144 > > div > div {{ 00:00:16 verbose #145 > > padding-left: 10px; 00:00:16 verbose #146 > > }} 00:00:16 verbose #147 > > details > div {{ 00:00:16 verbose #148 > > padding-left: 19px; 00:00:16 verbose #149 > > }} 00:00:16 verbose #150 > > </style> 00:00:16 verbose #151 > > </head> 00:00:16 verbose #152 > > <body> 00:00:16 verbose #153 > > {root |> generateHtml |> renderNode} 00:00:16 verbose #154 > > </body> 00:00:16 verbose #155 > > </html> 00:00:16 verbose #156 > > """ 00:00:16 verbose #157 > > 00:00:16 verbose #158 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #159 > > //// test 00:00:16 verbose #160 > > 00:00:16 verbose #161 > > let expected = """<!DOCTYPE html> 00:00:16 verbose #162 > > <html lang="en"> 00:00:16 verbose #163 > > <head> 00:00:16 verbose #164 > > <meta charset="UTF-8"> 00:00:16 verbose #165 > > <style> 00:00:16 verbose #166 > > body { 00:00:16 verbose #167 > > background-color: #222; 00:00:16 verbose #168 > > color: #ccc; 00:00:16 verbose #169 > > } 00:00:16 verbose #170 > > a { 00:00:16 verbose #171 > > color: #777; 00:00:16 verbose #172 > > font-size: 15px; 00:00:16 verbose #173 > > } 00:00:16 verbose #174 > > span { 00:00:16 verbose #175 > > font-size: 11px; 00:00:16 verbose #176 > > } 00:00:16 verbose #177 > > div > div { 00:00:16 verbose #178 > > padding-left: 10px; 00:00:16 verbose #179 > > } 00:00:16 verbose #180 > > details > div { 00:00:16 verbose #181 > > padding-left: 19px; 00:00:16 verbose #182 > > } 00:00:16 verbose #183 > > </style> 00:00:16 verbose #184 > > </head> 00:00:16 verbose #185 > > <body> 00:00:16 verbose #186 > > <div><details open="true"><summary>📂 <a href="_.root">_.root</a><span> 00:00:16 verbose #187 > > (10.00 B)</span></summary><div><details open="true"><summary>📂 <a 00:00:16 verbose #188 > > href="_.root/3">3</a><span> (6.00 B)</span></summary><div><details 00:00:16 verbose #189 > > open="true"><summary>📂 <a href="_.root/3/2">2</a><span> (3.00 00:00:16 verbose #190 > > B)</span></summary><div><details open="true"><summary>📂 <a 00:00:16 verbose #191 > > href="_.root/3/2/1">1</a><span> (1.00 B)</span></summary><div><div>📄 <a 00:00:16 verbose #192 > > href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00 00:00:16 verbose #193 > > B)</span></div></div></details><div>📄 <a 00:00:16 verbose #194 > > href="_.root/3/2/file.txt">file.txt</a><span> (2.00 00:00:16 verbose #195 > > B)</span></div></div></details><div>📄 <a 00:00:16 verbose #196 > > href="_.root/3/file.txt">file.txt</a><span> (3.00 00:00:16 verbose #197 > > B)</span></div></div></details><div>📄 <a 00:00:16 verbose #198 > > href="_.root/file.txt">file.txt</a><span> (4.00 00:00:16 verbose #199 > > B)</span></div></div></details></div> 00:00:16 verbose #200 > > </body> 00:00:16 verbose #201 > > </html> 00:00:16 verbose #202 > > """ 00:00:16 verbose #203 > > 00:00:16 verbose #204 > > let struct (tempFolder, disposable) = expected |> SpiralCrypto.hash_text |> 00:00:16 verbose #205 > > SpiralFileSystem.create_temp_dir' 00:00:16 verbose #206 > > let rec loop d n = async { 00:00:16 verbose #207 > > if n >= 0 then 00:00:16 verbose #208 > > tempFolder </> d |> System.IO.Directory.CreateDirectory |> ignore 00:00:16 verbose #209 > > do! 00:00:16 verbose #210 > > n 00:00:16 verbose #211 > > |> string 00:00:16 verbose #212 > > |> String.replicate (n + 1) 00:00:16 verbose #213 > > |> SpiralFileSystem.write_all_text_async (tempFolder </> d </> 00:00:16 verbose #214 > > $"file.txt") 00:00:16 verbose #215 > > do! loop $"{d}/{n}" (n - 1) 00:00:16 verbose #216 > > } 00:00:16 verbose #217 > > loop "_.root" 3 00:00:16 verbose #218 > > |> Async.RunSynchronously 00:00:16 verbose #219 > > 00:00:16 verbose #220 > > let html = 00:00:16 verbose #221 > > scanDirectory true tempFolder tempFolder 00:00:16 verbose #222 > > |> generateHtmlForFileSystem 00:00:16 verbose #223 > > 00:00:16 verbose #224 > > html 00:00:16 verbose #225 > > |> _assertEqual expected 00:00:16 verbose #226 > > 00:00:16 verbose #227 > > disposable.Dispose () 00:00:16 verbose #228 > > 00:00:16 verbose #229 > > html |> Microsoft.DotNet.Interactive.Formatting.Html.ToHtmlContent 00:00:16 verbose #230 > > 00:00:16 verbose #231 > > ╭─[ 131.96ms - return value ]──────────────────────────────────────────────────╮ 00:00:16 verbose #232 > > │ <!DOCTYPE html> │ 00:00:16 verbose #233 > > │ <html lang="en"> │ 00:00:16 verbose #234 > > │ <head> │ 00:00:16 verbose #235 > > │ <meta charset="UTF-8"> │ 00:00:16 verbose #236 > > │ <style> │ 00:00:16 verbose #237 > > │ body { │ 00:00:16 verbose #238 > > │ background-color: #222; │ 00:00:16 verbose #239 > > │ color: #ccc; │ 00:00:16 verbose #240 > > │ } │ 00:00:16 verbose #241 > > │ a { │ 00:00:16 verbose #242 > > │ color: #777; │ 00:00:16 verbose #243 > > │ font-size: 15px; │ 00:00:16 verbose #244 > > │ } │ 00:00:16 verbose #245 > > │ span { │ 00:00:16 verbose #246 > > │ font-size: 11px; │ 00:00:16 verbose #247 > > │ } │ 00:00:16 verbose #248 > > │ div > div { │ 00:00:16 verbose #249 > > │ padding-left: 10px; │ 00:00:16 verbose #250 > > │ } │ 00:00:16 verbose #251 > > │ details > div { │ 00:00:16 verbose #252 > > │ padding-left: 19px; │ 00:00:16 verbose #253 > > │ } │ 00:00:16 verbose #254 > > │ </style> │ 00:00:16 verbose #255 > > │ </head> │ 00:00:16 verbose #256 > > │ <body> │ 00:00:16 verbose #257 > > │ <div><details open="true"><summary>📂 <a │ 00:00:16 verbose #258 > > │ href="_.root">_.root</a><span> (10.00 B)</span></summary><div><details │ 00:00:16 verbose #259 > > │ open="true"><summary>📂 <a href="_.root/3">3</a><span> (6.00 │ 00:00:16 verbose #260 > > │ B)</span></summary><div><details open="true"><summary>📂 <a │ 00:00:16 verbose #261 > > │ href="_.root/3/2">2</a><span> (3.00 B)</span></summary><div><details │ 00:00:16 verbose #262 > > │ open="true"><summary>📂 <a href="_.root/3/2/1">1</a><span> (1.00 │ 00:00:16 verbose #263 > > │ B)</span></summary><div><div>📄 <a │ 00:00:16 verbose #264 > > │ href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00 │ 00:00:16 verbose #265 > > │ B)</span></div></div></details><div>📄 <a │ 00:00:16 verbose #266 > > │ href="_.root/3/2/file.txt">file.txt</a><span> (2.00 │ 00:00:16 verbose #267 > > │ B)</span></div></div></details><div>📄 <a │ 00:00:16 verbose #268 > > │ href="_.root/3/file.txt">file.txt</a><span> (3.00 │ 00:00:16 verbose #269 > > │ B)</span></div></div></details><div>📄 <a │ 00:00:16 verbose #270 > > │ href="_.root/file.txt">file.txt</a><span> (4.00 │ 00:00:16 verbose #271 > > │ B)</span></div></div></details></div> │ 00:00:16 verbose #272 > > │ </body> │ 00:00:16 verbose #273 > > │ </html> │ 00:00:16 verbose #274 > > │ │ 00:00:16 verbose #275 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #276 > > 00:00:16 verbose #277 > > ╭─[ 135.88ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:16 verbose #278 > > │ "<!DOCTYPE html> │ 00:00:16 verbose #279 > > │ <html lang="en"> │ 00:00:16 verbose #280 > > │ <head> │ 00:00:16 verbose #281 > > │ <meta charset="UTF-8"> │ 00:00:16 verbose #282 > > │ <style> │ 00:00:16 verbose #283 > > │ body { │ 00:00:16 verbose #284 > > │ background-color: #222; │ 00:00:16 verbose #285 > > │ color: #ccc; │ 00:00:16 verbose #286 > > │ } │ 00:00:16 verbose #287 > > │ a { │ 00:00:16 verbose #288 > > │ color: #777; │ 00:00:16 verbose #289 > > │ font-size: 15px; │ 00:00:16 verbose #290 > > │ } │ 00:00:16 verbose #291 > > │ span { │ 00:00:16 verbose #292 > > │ font-size: 11px; │ 00:00:16 verbose #293 > > │ } │ 00:00:16 verbose #294 > > │ div > div { │ 00:00:16 verbose #295 > > │ padding-left: 10px; │ 00:00:16 verbose #296 > > │ } │ 00:00:16 verbose #297 > > │ details > div { │ 00:00:16 verbose #298 > > │ padding-left: 19px; │ 00:00:16 verbose #299 > > │ } │ 00:00:16 verbose #300 > > │ </style> │ 00:00:16 verbose #301 > > │ </head> │ 00:00:16 verbose #302 > > │ <body> │ 00:00:16 verbose #303 > > │ <div><details open="true"><summary>📂 <a │ 00:00:16 verbose #304 > > │ href="_.root">_.root</a><span> (10.00 B)</span></summary><div><details │ 00:00:16 verbose #305 > > │ open="true"><summary>📂 <a href="_.root/3">3</a><span> (6.00 │ 00:00:16 verbose #306 > > │ B)</span></summary><div><details open="true"><summary>📂 <a │ 00:00:16 verbose #307 > > │ href="_.root/3/2">2</a><span> (3.00 B)</span></summary><div><details │ 00:00:16 verbose #308 > > │ open="true"><summary>📂 <a href="_.root/3/2/1">1</a><span> (1.00 │ 00:00:16 verbose #309 > > │ B)</span></summary><div><div>📄 <a │ 00:00:16 verbose #310 > > │ href="_.root/3/2/1/file.txt">file.txt</a><span> (1.00 │ 00:00:16 verbose #311 > > │ B)</span></div></div></details><div>📄 <a │ 00:00:16 verbose #312 > > │ href="_.root/3/2/file.txt">file.txt</a><span> (2.00 │ 00:00:16 verbose #313 > > │ B)</span></div></div></details><div>📄 <a │ 00:00:16 verbose #314 > > │ href="_.root/3/file.txt">file.txt</a><span> (3.00 │ 00:00:16 verbose #315 > > │ B)</span></div></div></details><div>📄 <a │ 00:00:16 verbose #316 > > │ href="_.root/file.txt">file.txt</a><span> (4.00 │ 00:00:16 verbose #317 > > │ B)</span></div></div></details></div> │ 00:00:16 verbose #318 > > │ </body> │ 00:00:16 verbose #319 > > │ </html> │ 00:00:16 verbose #320 > > │ " │ 00:00:16 verbose #321 > > │ │ 00:00:16 verbose #322 > > │ │ 00:00:16 verbose #323 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #324 > > 00:00:16 verbose #325 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #326 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #327 > > │ ## Arguments │ 00:00:16 verbose #328 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #329 > > 00:00:16 verbose #330 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #331 > > [[<RequireQualifiedAccess>]] 00:00:16 verbose #332 > > type Arguments = 00:00:16 verbose #333 > > | [[<Argu.ArguAttributes.ExactlyOnce>]] Dir of string 00:00:16 verbose #334 > > | [[<Argu.ArguAttributes.ExactlyOnce>]] Html of string 00:00:16 verbose #335 > > 00:00:16 verbose #336 > > interface Argu.IArgParserTemplate with 00:00:16 verbose #337 > > member s.Usage = 00:00:16 verbose #338 > > match s with 00:00:16 verbose #339 > > | Dir _ -> nameof Dir 00:00:16 verbose #340 > > | Html _ -> nameof Html 00:00:16 verbose #341 > > 00:00:16 verbose #342 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #343 > > //// test 00:00:16 verbose #344 > > 00:00:16 verbose #345 > > Argu.ArgumentParser.Create<Arguments>().PrintUsage () 00:00:16 verbose #346 > > 00:00:16 verbose #347 > > ╭─[ 71.33ms - return value ]───────────────────────────────────────────────────╮ 00:00:16 verbose #348 > > │ "USAGE: dotnet-repl [--help] --dir <string> --html <string> │ 00:00:16 verbose #349 > > │ │ 00:00:16 verbose #350 > > │ OPTIONS: │ 00:00:16 verbose #351 > > │ │ 00:00:16 verbose #352 > > │ --dir <string> Dir │ 00:00:16 verbose #353 > > │ --html <string> Html │ 00:00:16 verbose #354 > > │ --help display this list of options. │ 00:00:16 verbose #355 > > │ " │ 00:00:16 verbose #356 > > │ │ 00:00:16 verbose #357 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #358 > > 00:00:16 verbose #359 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #360 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #361 > > │ ## main │ 00:00:16 verbose #362 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #363 > > 00:00:16 verbose #364 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:16 verbose #365 > > let main args = 00:00:16 verbose #366 > > let argsMap = args |> Runtime.parseArgsMap<Arguments> 00:00:16 verbose #367 > > 00:00:16 verbose #368 > > let dir = 00:00:16 verbose #369 > > match argsMap.[[nameof Arguments.Dir]] with 00:00:16 verbose #370 > > | [[ Arguments.Dir dir ]] -> Some dir 00:00:16 verbose #371 > > | _ -> None 00:00:16 verbose #372 > > |> Option.get 00:00:16 verbose #373 > > 00:00:16 verbose #374 > > let htmlPath = 00:00:16 verbose #375 > > match argsMap.[[nameof Arguments.Html]] with 00:00:16 verbose #376 > > | [[ Arguments.Html html ]] -> Some html 00:00:16 verbose #377 > > | _ -> None 00:00:16 verbose #378 > > |> Option.get 00:00:16 verbose #379 > > 00:00:16 verbose #380 > > let fileSystem = scanDirectory true dir dir 00:00:16 verbose #381 > > let html = generateHtmlForFileSystem fileSystem 00:00:16 verbose #382 > > 00:00:16 verbose #383 > > html |> SpiralFileSystem.write_all_text_async htmlPath 00:00:16 verbose #384 > > |> Async.runWithTimeout 30000 00:00:16 verbose #385 > > |> function 00:00:16 verbose #386 > > | Some () -> 0 00:00:16 verbose #387 > > | None -> 1 00:00:17 verbose #388 > > 00:00:17 verbose #389 > > ── fsharp ────────────────────────────────────────────────────────────────────── 00:00:17 verbose #390 > > //// test 00:00:17 verbose #391 > > 00:00:17 verbose #392 > > let args = 00:00:17 verbose #393 > > System.Environment.GetEnvironmentVariable "ARGS" 00:00:17 verbose #394 > > |> SpiralRuntime.split_args 00:00:17 verbose #395 > > |> Result.toArray 00:00:17 verbose #396 > > |> Array.collect id 00:00:17 verbose #397 > > 00:00:17 verbose #398 > > match args with 00:00:17 verbose #399 > > | [[||]] -> 0 00:00:17 verbose #400 > > | args -> if main args = 0 then 0 else failwith "main failed" 00:00:17 verbose #401 > > 00:00:17 verbose #402 > > ╭─[ 65.05ms - return value ]───────────────────────────────────────────────────╮ 00:00:17 verbose #403 > > │ <div class="dni-plaintext"><pre>0 │ 00:00:17 verbose #404 > > │ </pre></div><style> │ 00:00:17 verbose #405 > > │ .dni-code-hint { │ 00:00:17 verbose #406 > > │ font-style: italic; │ 00:00:17 verbose #407 > > │ overflow: hidden; │ 00:00:17 verbose #408 > > │ white-space: nowrap; │ 00:00:17 verbose #409 > > │ } │ 00:00:17 verbose #410 > > │ .dni-treeview { │ 00:00:17 verbose #411 > > │ white-space: nowrap; │ 00:00:17 verbose #412 > > │ } │ 00:00:17 verbose #413 > > │ .dni-treeview td { │ 00:00:17 verbose #414 > > │ vertical-align: top; │ 00:00:17 verbose #415 > > │ text-align: start; │ 00:00:17 verbose #416 > > │ } │ 00:00:17 verbose #417 > > │ details.dni-treeview { │ 00:00:17 verbose #418 > > │ padding-left: 1em; │ 00:00:17 verbose #419 > > │ } │ 00:00:17 verbose #420 > > │ table td { │ 00:00:17 verbose #421 > > │ text-align: start; │ 00:00:17 verbose #422 > > │ } │ 00:00:17 verbose #423 > > │ table tr { │ 00:00:17 verbose #424 > > │ vertical-align: top; │ 00:00:17 verbose #425 > > │ margin: 0em 0px; │ 00:00:17 verbose #426 > > │ } │ 00:00:17 verbose #427 > > │ table tr td pre │ 00:00:17 verbose #428 > > │ { │ 00:00:17 verbose #429 > > │ vertical-align: top !important; │ 00:00:17 verbose #430 > > │ margin: 0em 0px !important; │ 00:00:17 verbose #431 > > │ } │ 00:00:17 verbose #432 > > │ table th { │ 00:00:17 verbose #433 > > │ text-align: start; │ 00:00:17 verbose #434 > > │ } │ 00:00:17 verbose #435 > > │ </style> │ 00:00:17 verbose #436 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #437 > 00:00:15 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 23599 } 00:00:17 verbose #438 > 00:00:15 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:17 verbose #439 > 00:00:16 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.ipynb to html 00:00:17 verbose #440 > 00:00:16 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:17 verbose #441 > 00:00:16 verbose #7 ! validate(nb) 00:00:18 verbose #442 > 00:00:16 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:18 verbose #443 > 00:00:16 verbose #9 ! return _pygments_highlight( 00:00:18 verbose #444 > 00:00:17 verbose #10 ! [NbConvertApp] Writing 310017 bytes to /home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.html 00:00:18 verbose #445 > 00:00:17 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 922 } 00:00:18 verbose #446 > 00:00:17 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 922 } 00:00:18 verbose #447 > 00:00:17 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/dir-tree-html/DirTreeHtml.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:18 verbose #448 > 00:00:17 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:18 verbose #449 > 00:00:17 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:18 verbose #450 > 00:00:17 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 24580 } 00:00:18 debug #451 runtime.execute_with_options_async / { exit_code = 0; output_length = 28308 } 00:00:18 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path DirTreeHtml.dib 00:00:18 verbose #29 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:00:18 verbose #30 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("&$0")>] #endif type Ref<'T> = class end module State = let mutable trace_state = None #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::env::VarError")>] #endif type std_env_VarError = class end type IOsEnviron = abstract environ: x: unit -> obj #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("str")>] #endif type Str = class end type [<Struct>] US0 = | US0_0 | US0_1 | US0_2 | US0_3 | US0_4 and Mut0 = {mutable l0 : int64} and Mut1 = {mutable l0 : (string -> unit)} and Mut2 = {mutable l0 : bool} and Mut3 = {mutable l0 : US0} and [<Struct>] US1 = | US1_0 of f0_0 : US0 | US1_1 and [<Struct>] US2 = | US2_0 of f0_0 : int64 | US2_1 and [<Struct>] US3 = | US3_0 of f0_0 : string | US3_1 and Mut4 = {mutable l0 : string} and [<Struct>] US4 = | US4_0 of f0_0 : bool | US4_1 and [<Struct>] US5 = | US5_0 of f0_0 : bool | US5_1 of f1_0 : exn and [<Struct>] US6 = | US6_0 of f0_0 : bool | US6_1 of f1_0 : exn and [<Struct>] US7 = | US7_0 of f0_0 : int32 | US7_1 let rec method0 () : string = let v0 : string = "TRACE_LEVEL" v0 and method2 () : string = let v0 : string = "" v0 and method1 (v0 : string) : string = let v3 : bool = true let mutable _v3 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v4 : string = "std::env::var(&*$0)" let v5 : Result<std_string_String, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr v0 v4 let v6 : string = "true; let _result = $0.map(|x| { //" let v7 : bool = Fable.Core.RustInterop.emitRustExpr v5 v6 let v8 : string = "x" let v9 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v8 let v10 : string = "fable_library_rust::String_::fromString($0)" let v11 : string = Fable.Core.RustInterop.emitRustExpr v9 v10 let v12 : string = "true; $0 })" let v13 : bool = Fable.Core.RustInterop.emitRustExpr v11 v12 let v14 : string = "_result" let v15 : Result<string, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr () v14 let v16 : string = method2() let v17 : string = "$0.unwrap_or($1)" let v18 : string = Fable.Core.RustInterop.emitRustExpr struct (v15, v16) v17 v18 #endif #if FABLE_COMPILER_RUST && WASM let v19 : string = "std::env::var(&*$0)" let v20 : Result<std_string_String, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr v0 v19 let v21 : string = "true; let _result = $0.map(|x| { //" let v22 : bool = Fable.Core.RustInterop.emitRustExpr v20 v21 let v23 : string = "x" let v24 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v23 let v25 : string = "fable_library_rust::String_::fromString($0)" let v26 : string = Fable.Core.RustInterop.emitRustExpr v24 v25 let v27 : string = "true; $0 })" let v28 : bool = Fable.Core.RustInterop.emitRustExpr v26 v27 let v29 : string = "_result" let v30 : Result<string, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr () v29 let v31 : string = method2() let v32 : string = "$0.unwrap_or($1)" let v33 : string = Fable.Core.RustInterop.emitRustExpr struct (v30, v31) v32 v33 #endif #if FABLE_COMPILER_RUST && CONTRACT let v34 : string = "std::env::var(&*$0)" let v35 : Result<std_string_String, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr v0 v34 let v36 : string = "true; let _result = $0.map(|x| { //" let v37 : bool = Fable.Core.RustInterop.emitRustExpr v35 v36 let v38 : string = "x" let v39 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v38 let v40 : string = "fable_library_rust::String_::fromString($0)" let v41 : string = Fable.Core.RustInterop.emitRustExpr v39 v40 let v42 : string = "true; $0 })" let v43 : bool = Fable.Core.RustInterop.emitRustExpr v41 v42 let v44 : string = "_result" let v45 : Result<string, std_env_VarError> = Fable.Core.RustInterop.emitRustExpr () v44 let v46 : string = method2() let v47 : string = "$0.unwrap_or($1)" let v48 : string = Fable.Core.RustInterop.emitRustExpr struct (v45, v46) v47 v48 #endif #if FABLE_COMPILER_TYPESCRIPT let v49 : string = "process.env[$0] ?? \"\"" let v50 : string = Fable.Core.JsInterop.emitJsExpr v0 v49 v50 #endif #if FABLE_COMPILER_PYTHON let v53 : string = "os" let v54 : IOsEnviron = Fable.Core.PyInterop.importAll v53 let v55 : string = "v54.environ" let v56 : obj = Fable.Core.PyInterop.emitPyExpr () v55 let v65 : string = "v56.get($0)" let v66 : string = Fable.Core.PyInterop.emitPyExpr v0 v65 let mutable _v66 = None #if !FABLE_COMPILER && !WASM && !CONTRACT let v75 : (string -> string option) = Option.ofObj let v76 : string option = v75 v66 v76 #else Some v66 #endif |> fun x -> _v66 <- Some x let v77 : string option = match _v66 with Some x -> x | None -> failwith "optionm'.of_obj / _v66=None" let v86 : US3 option = None let _v86 = ref v86 match v77 with | Some x -> ( (fun () -> (fun () -> let v87 : string = x let v88 : US3 = US3_0(v87) v88 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v86.Value <- x let v89 : US3 option = _v86.Value let v112 : US3 = US3_1 let v113 : US3 = v89 |> Option.defaultValue v112 let v124 : string = match v113 with | US3_1 -> (* None *) let v122 : string = "" v122 | US3_0(v121) -> (* Some *) v121 v124 #endif #else let v125 : (string -> string) = System.Environment.GetEnvironmentVariable let v126 : string = v125 v0 let mutable _v126 = None #if !FABLE_COMPILER && !WASM && !CONTRACT let v129 : (string -> string option) = Option.ofObj let v130 : string option = v129 v126 v130 #else Some v126 #endif |> fun x -> _v126 <- Some x let v131 : string option = match _v126 with Some x -> x | None -> failwith "optionm'.of_obj / _v126=None" let v140 : US3 option = None let _v140 = ref v140 match v131 with | Some x -> ( (fun () -> (fun () -> let v141 : string = x let v142 : US3 = US3_0(v141) v142 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v140.Value <- x let v143 : US3 option = _v140.Value let v166 : US3 = US3_1 let v167 : US3 = v143 |> Option.defaultValue v166 let v178 : string = match v167 with | US3_1 -> (* None *) let v176 : string = "" v176 | US3_0(v175) -> (* Some *) v175 v178 #endif |> fun x -> _v3 <- Some x let v179 : string = match _v3 with Some x -> x | None -> failwith "base.run_target / _v3=None" v179 and method3 () : string = let v0 : string = "AUTOMATION" v0 and closure1 () (v0 : string) : unit = () and closure0 () (v0 : US0) : struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option) = let v3 : bool = true let mutable _v3 : struct (US1 * US2) option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v4 : string = method0() let v5 : string = method1(v4) let v7 : bool = "Verbose" = v5 let v11 : US1 = if v7 then let v8 : US0 = US0_0 US1_0(v8) else US1_1 let v56 : US1 = match v11 with | US1_1 -> (* None *) let v15 : bool = "Debug" = v5 let v19 : US1 = if v15 then let v16 : US0 = US0_1 US1_0(v16) else US1_1 match v19 with | US1_1 -> (* None *) let v23 : bool = "Info" = v5 let v27 : US1 = if v23 then let v24 : US0 = US0_2 US1_0(v24) else US1_1 match v27 with | US1_1 -> (* None *) let v31 : bool = "Warning" = v5 let v35 : US1 = if v31 then let v32 : US0 = US0_3 US1_0(v32) else US1_1 match v35 with | US1_1 -> (* None *) let v39 : bool = "Critical" = v5 let v43 : US1 = if v39 then let v40 : US0 = US0_4 US1_0(v40) else US1_1 match v43 with | US1_1 -> (* None *) US1_1 | US1_0(v44) -> (* Some *) US1_0(v44) | US1_0(v36) -> (* Some *) US1_0(v36) | US1_0(v28) -> (* Some *) US1_0(v28) | US1_0(v20) -> (* Some *) US1_0(v20) | US1_0(v12) -> (* Some *) US1_0(v12) let v57 : string = method3() let v58 : string = method1(v57) let v60 : bool = v58 = "True" let v82 : US2 = if v60 then let v63 : System.DateTime = System.DateTime.Now let v72 : (System.DateTime -> int64) = _.Ticks let v73 : int64 = v72 v63 US2_0(v73) else US2_1 struct (v56, v82) #endif #if FABLE_COMPILER_RUST && WASM let v83 : US1 = US1_1 let v84 : US2 = US2_1 struct (v83, v84) #endif #if FABLE_COMPILER_RUST && CONTRACT let v85 : US1 = US1_1 let v86 : US2 = US2_1 struct (v85, v86) #endif #if FABLE_COMPILER_TYPESCRIPT let v87 : string = method0() let v88 : string = method1(v87) let v90 : bool = "Verbose" = v88 let v94 : US1 = if v90 then let v91 : US0 = US0_0 US1_0(v91) else US1_1 let v139 : US1 = match v94 with | US1_1 -> (* None *) let v98 : bool = "Debug" = v88 let v102 : US1 = if v98 then let v99 : US0 = US0_1 US1_0(v99) else US1_1 match v102 with | US1_1 -> (* None *) let v106 : bool = "Info" = v88 let v110 : US1 = if v106 then let v107 : US0 = US0_2 US1_0(v107) else US1_1 match v110 with | US1_1 -> (* None *) let v114 : bool = "Warning" = v88 let v118 : US1 = if v114 then let v115 : US0 = US0_3 US1_0(v115) else US1_1 match v118 with | US1_1 -> (* None *) let v122 : bool = "Critical" = v88 let v126 : US1 = if v122 then let v123 : US0 = US0_4 US1_0(v123) else US1_1 match v126 with | US1_1 -> (* None *) US1_1 | US1_0(v127) -> (* Some *) US1_0(v127) | US1_0(v119) -> (* Some *) US1_0(v119) | US1_0(v111) -> (* Some *) US1_0(v111) | US1_0(v103) -> (* Some *) US1_0(v103) | US1_0(v95) -> (* Some *) US1_0(v95) let v140 : string = method3() let v141 : string = method1(v140) let v143 : bool = v141 = "True" let v165 : US2 = if v143 then let v146 : System.DateTime = System.DateTime.Now let v155 : (System.DateTime -> int64) = _.Ticks let v156 : int64 = v155 v146 US2_0(v156) else US2_1 struct (v139, v165) #endif #if FABLE_COMPILER_PYTHON let v166 : string = method0() let v167 : string = method1(v166) let v169 : bool = "Verbose" = v167 let v173 : US1 = if v169 then let v170 : US0 = US0_0 US1_0(v170) else US1_1 let v218 : US1 = match v173 with | US1_1 -> (* None *) let v177 : bool = "Debug" = v167 let v181 : US1 = if v177 then let v178 : US0 = US0_1 US1_0(v178) else US1_1 match v181 with | US1_1 -> (* None *) let v185 : bool = "Info" = v167 let v189 : US1 = if v185 then let v186 : US0 = US0_2 US1_0(v186) else US1_1 match v189 with | US1_1 -> (* None *) let v193 : bool = "Warning" = v167 let v197 : US1 = if v193 then let v194 : US0 = US0_3 US1_0(v194) else US1_1 match v197 with | US1_1 -> (* None *) let v201 : bool = "Critical" = v167 let v205 : US1 = if v201 then let v202 : US0 = US0_4 US1_0(v202) else US1_1 match v205 with | US1_1 -> (* None *) US1_1 | US1_0(v206) -> (* Some *) US1_0(v206) | US1_0(v198) -> (* Some *) US1_0(v198) | US1_0(v190) -> (* Some *) US1_0(v190) | US1_0(v182) -> (* Some *) US1_0(v182) | US1_0(v174) -> (* Some *) US1_0(v174) let v219 : string = method3() let v220 : string = method1(v219) let v222 : bool = v220 = "True" let v244 : US2 = if v222 then let v225 : System.DateTime = System.DateTime.Now let v234 : (System.DateTime -> int64) = _.Ticks let v235 : int64 = v234 v225 US2_0(v235) else US2_1 struct (v218, v244) #endif #else let v245 : string = method0() let v246 : string = method1(v245) let v248 : bool = "Verbose" = v246 let v252 : US1 = if v248 then let v249 : US0 = US0_0 US1_0(v249) else US1_1 let v297 : US1 = match v252 with | US1_1 -> (* None *) let v256 : bool = "Debug" = v246 let v260 : US1 = if v256 then let v257 : US0 = US0_1 US1_0(v257) else US1_1 match v260 with | US1_1 -> (* None *) let v264 : bool = "Info" = v246 let v268 : US1 = if v264 then let v265 : US0 = US0_2 US1_0(v265) else US1_1 match v268 with | US1_1 -> (* None *) let v272 : bool = "Warning" = v246 let v276 : US1 = if v272 then let v273 : US0 = US0_3 US1_0(v273) else US1_1 match v276 with | US1_1 -> (* None *) let v280 : bool = "Critical" = v246 let v284 : US1 = if v280 then let v281 : US0 = US0_4 US1_0(v281) else US1_1 match v284 with | US1_1 -> (* None *) US1_1 | US1_0(v285) -> (* Some *) US1_0(v285) | US1_0(v277) -> (* Some *) US1_0(v277) | US1_0(v269) -> (* Some *) US1_0(v269) | US1_0(v261) -> (* Some *) US1_0(v261) | US1_0(v253) -> (* Some *) US1_0(v253) let v298 : string = method3() let v299 : string = method1(v298) let v301 : bool = v299 = "True" let v323 : US2 = if v301 then let v304 : System.DateTime = System.DateTime.Now let v313 : (System.DateTime -> int64) = _.Ticks let v314 : int64 = v313 v304 US2_0(v314) else US2_1 struct (v297, v323) #endif |> fun x -> _v3 <- Some x let struct (v324 : US1, v325 : US2) = match _v3 with Some x -> x | None -> failwith "base.run_target / _v3=None" let v411 : Mut2 = {l0 = true} : Mut2 let v412 : Mut0 = {l0 = 0L} : Mut0 let v415 : US0 = match v324 with | US1_1 -> (* None *) v0 | US1_0(v413) -> (* Some *) v413 let v416 : Mut3 = {l0 = v415} : Mut3 let v417 : (string -> unit) = closure1() let v418 : Mut1 = {l0 = v417} : Mut1 let v431 : int64 option = match v325 with | US2_1 -> (* None *) let v429 : int64 option = None v429 | US2_0(v419) -> (* Some *) let v422 : int64 option = Some v419 v422 struct (v412, v418, v411, v416, v431) and closure4 () () : string = let v0 : string = $"networking.test_port_open" v0 and closure5 (v0 : int32, v1 : string) () : struct (int32 * string) = struct (v0, v1) and method5 () : string = let v0 : string = "hh:mm:ss" v0 and method6 () : string = let v0 : string = "" v0 and method7 () : string = let v0 : string = "HH:mm:ss" v0 and method8 () : string = let v0 : string = "\u001b[0m" v0 and method10 (v0 : Mut4, v1 : string) : unit = let v4 : string = $"{v1}" let v11 : string = v0.l0 let v12 : string = v11 + v4 v0.l0 <- v12 () and method11 (v0 : Mut4) : unit = () and method12 (v0 : Mut4, v1 : int32) : unit = let v4 : string = $"{v1}" let v11 : string = v0.l0 let v12 : string = v11 + v4 v0.l0 <- v12 () and method9 (v0 : Mut4, v1 : int32, v2 : string) : unit = let v3 : string = "{ " method10(v0, v3) method11(v0) let v4 : string = "port" method10(v0, v4) let v5 : string = " = " method10(v0, v5) method12(v0, v1) let v6 : string = "; " method10(v0, v6) let v7 : string = "ex" method10(v0, v7) method10(v0, v5) method10(v0, v2) let v8 : string = " }" method10(v0, v8) and closure6 (v0 : US0, v1 : (unit -> string), v2 : (unit -> struct (int32 * string))) () : string = let v5 : (US0 -> struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option)) = closure0() let v6 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v5 v6 |> Some let struct (v14 : Mut0, v15 : Mut1, v16 : Mut2, v17 : Mut3, v18 : int64 option) = State.trace_state.Value let v35 : bool = true let mutable _v35 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v38 : US2 option = None let _v38 = ref v38 match v18 with | Some x -> ( (fun () -> (fun () -> let v39 : int64 = x let v40 : US2 = US2_0(v39) v40 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v38.Value <- x let v41 : US2 option = _v38.Value let v64 : US2 = US2_1 let v65 : US2 = v41 |> Option.defaultValue v64 let v163 : System.DateTime = match v65 with | US2_1 -> (* None *) let v155 : System.DateTime = System.DateTime.Now v155 | US2_0(v73) -> (* Some *) let v76 : System.DateTime = System.DateTime.Now let v85 : (System.DateTime -> int64) = _.Ticks let v86 : int64 = v85 v76 let v93 : int64 = v86 - v73 let v96 : (int64 -> System.TimeSpan) = System.TimeSpan let v97 : System.TimeSpan = v96 v93 let v106 : (System.TimeSpan -> int32) = _.Hours let v107 : int32 = v106 v97 let v116 : (System.TimeSpan -> int32) = _.Minutes let v117 : int32 = v116 v97 let v126 : (System.TimeSpan -> int32) = _.Seconds let v127 : int32 = v126 v97 let v136 : (System.TimeSpan -> int32) = _.Milliseconds let v137 : int32 = v136 v97 let v146 : System.DateTime = System.DateTime (1, 1, 1, v107, v117, v127, v137) v146 let v166 : string = method5() let v175 : (string -> string) = v163.ToString let v176 : string = v175 v166 v176 #endif #if FABLE_COMPILER_RUST && WASM let v185 : US2 option = None let _v185 = ref v185 match v18 with | Some x -> ( (fun () -> (fun () -> let v186 : int64 = x let v187 : US2 = US2_0(v186) v187 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v185.Value <- x let v188 : US2 option = _v185.Value let v211 : US2 = US2_1 let v212 : US2 = v188 |> Option.defaultValue v211 let v310 : System.DateTime = match v212 with | US2_1 -> (* None *) let v302 : System.DateTime = System.DateTime.Now v302 | US2_0(v220) -> (* Some *) let v223 : System.DateTime = System.DateTime.Now let v232 : (System.DateTime -> int64) = _.Ticks let v233 : int64 = v232 v223 let v240 : int64 = v233 - v220 let v243 : (int64 -> System.TimeSpan) = System.TimeSpan let v244 : System.TimeSpan = v243 v240 let v253 : (System.TimeSpan -> int32) = _.Hours let v254 : int32 = v253 v244 let v263 : (System.TimeSpan -> int32) = _.Minutes let v264 : int32 = v263 v244 let v273 : (System.TimeSpan -> int32) = _.Seconds let v274 : int32 = v273 v244 let v283 : (System.TimeSpan -> int32) = _.Milliseconds let v284 : int32 = v283 v244 let v293 : System.DateTime = System.DateTime (1, 1, 1, v254, v264, v274, v284) v293 let v313 : string = method5() let v322 : (string -> string) = v310.ToString let v323 : string = v322 v313 v323 #endif #if FABLE_COMPILER_RUST && CONTRACT let v330 : string = method6() v330 #endif #if FABLE_COMPILER_TYPESCRIPT let v333 : US2 option = None let _v333 = ref v333 match v18 with | Some x -> ( (fun () -> (fun () -> let v334 : int64 = x let v335 : US2 = US2_0(v334) v335 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v333.Value <- x let v336 : US2 option = _v333.Value let v359 : US2 = US2_1 let v360 : US2 = v336 |> Option.defaultValue v359 let v458 : System.DateTime = match v360 with | US2_1 -> (* None *) let v450 : System.DateTime = System.DateTime.Now v450 | US2_0(v368) -> (* Some *) let v371 : System.DateTime = System.DateTime.Now let v380 : (System.DateTime -> int64) = _.Ticks let v381 : int64 = v380 v371 let v388 : int64 = v381 - v368 let v391 : (int64 -> System.TimeSpan) = System.TimeSpan let v392 : System.TimeSpan = v391 v388 let v401 : (System.TimeSpan -> int32) = _.Hours let v402 : int32 = v401 v392 let v411 : (System.TimeSpan -> int32) = _.Minutes let v412 : int32 = v411 v392 let v421 : (System.TimeSpan -> int32) = _.Seconds let v422 : int32 = v421 v392 let v431 : (System.TimeSpan -> int32) = _.Milliseconds let v432 : int32 = v431 v392 let v441 : System.DateTime = System.DateTime (1, 1, 1, v402, v412, v422, v432) v441 let v461 : string = method7() let v470 : (string -> string) = v458.ToString let v471 : string = v470 v461 v471 #endif #if FABLE_COMPILER_PYTHON let v480 : US2 option = None let _v480 = ref v480 match v18 with | Some x -> ( (fun () -> (fun () -> let v481 : int64 = x let v482 : US2 = US2_0(v481) v482 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v480.Value <- x let v483 : US2 option = _v480.Value let v506 : US2 = US2_1 let v507 : US2 = v483 |> Option.defaultValue v506 let v605 : System.DateTime = match v507 with | US2_1 -> (* None *) let v597 : System.DateTime = System.DateTime.Now v597 | US2_0(v515) -> (* Some *) let v518 : System.DateTime = System.DateTime.Now let v527 : (System.DateTime -> int64) = _.Ticks let v528 : int64 = v527 v518 let v535 : int64 = v528 - v515 let v538 : (int64 -> System.TimeSpan) = System.TimeSpan let v539 : System.TimeSpan = v538 v535 let v548 : (System.TimeSpan -> int32) = _.Hours let v549 : int32 = v548 v539 let v558 : (System.TimeSpan -> int32) = _.Minutes let v559 : int32 = v558 v539 let v568 : (System.TimeSpan -> int32) = _.Seconds let v569 : int32 = v568 v539 let v578 : (System.TimeSpan -> int32) = _.Milliseconds let v579 : int32 = v578 v539 let v588 : System.DateTime = System.DateTime (1, 1, 1, v549, v559, v569, v579) v588 let v608 : string = method7() let v617 : (string -> string) = v605.ToString let v618 : string = v617 v608 v618 #endif #else let v627 : US2 option = None let _v627 = ref v627 match v18 with | Some x -> ( (fun () -> (fun () -> let v628 : int64 = x let v629 : US2 = US2_0(v628) v629 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v627.Value <- x let v630 : US2 option = _v627.Value let v653 : US2 = US2_1 let v654 : US2 = v630 |> Option.defaultValue v653 let v752 : System.DateTime = match v654 with | US2_1 -> (* None *) let v744 : System.DateTime = System.DateTime.Now v744 | US2_0(v662) -> (* Some *) let v665 : System.DateTime = System.DateTime.Now let v674 : (System.DateTime -> int64) = _.Ticks let v675 : int64 = v674 v665 let v682 : int64 = v675 - v662 let v685 : (int64 -> System.TimeSpan) = System.TimeSpan let v686 : System.TimeSpan = v685 v682 let v695 : (System.TimeSpan -> int32) = _.Hours let v696 : int32 = v695 v686 let v705 : (System.TimeSpan -> int32) = _.Minutes let v706 : int32 = v705 v686 let v715 : (System.TimeSpan -> int32) = _.Seconds let v716 : int32 = v715 v686 let v725 : (System.TimeSpan -> int32) = _.Milliseconds let v726 : int32 = v725 v686 let v735 : System.DateTime = System.DateTime (1, 1, 1, v696, v706, v716, v726) v735 let v755 : string = method7() let v764 : (string -> string) = v752.ToString let v765 : string = v764 v755 v765 #endif |> fun x -> _v35 <- Some x let v772 : string = match _v35 with Some x -> x | None -> failwith "base.run_target / _v35=None" let v927 : bool = match v0 with | US0_0 -> (* Verbose *) true | _ -> false let v931 : US3 = if v927 then let v928 : string = "Verbose" US3_0(v928) else US3_1 let v980 : US3 = match v931 with | US3_1 -> (* None *) let v936 : bool = match v0 with | US0_1 -> (* Debug *) true | _ -> false let v940 : US3 = if v936 then let v937 : string = "Debug" US3_0(v937) else US3_1 match v940 with | US3_1 -> (* None *) let v945 : bool = match v0 with | US0_2 -> (* Info *) true | _ -> false let v949 : US3 = if v945 then let v946 : string = "Info" US3_0(v946) else US3_1 match v949 with | US3_1 -> (* None *) let v954 : bool = match v0 with | US0_3 -> (* Warning *) true | _ -> false let v958 : US3 = if v954 then let v955 : string = "Warning" US3_0(v955) else US3_1 match v958 with | US3_1 -> (* None *) let v963 : bool = match v0 with | US0_4 -> (* Critical *) true | _ -> false let v967 : US3 = if v963 then let v964 : string = "Critical" US3_0(v964) else US3_1 match v967 with | US3_1 -> (* None *) US3_1 | US3_0(v968) -> (* Some *) US3_0(v968) | US3_0(v959) -> (* Some *) US3_0(v959) | US3_0(v950) -> (* Some *) US3_0(v950) | US3_0(v941) -> (* Some *) US3_0(v941) | US3_0(v932) -> (* Some *) US3_0(v932) let v984 : string = match v980 with | US3_1 -> (* None *) failwith<string> "Option does not have a value." | US3_0(v981) -> (* Some *) v981 let v987 : (unit -> string) = v984.ToLower let v988 : string = v987 () let v997 : string = v988.PadLeft (7, ' ') let v1029 : bool = true let mutable _v1029 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v1044 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1038 : string = "inline_colorization::color_bright_red" let v1039 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1038 v1039 | US0_1 -> (* Debug *) let v1032 : string = "inline_colorization::color_bright_blue" let v1033 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1032 v1033 | US0_2 -> (* Info *) let v1034 : string = "inline_colorization::color_bright_green" let v1035 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1034 v1035 | US0_0 -> (* Verbose *) let v1030 : string = "inline_colorization::color_bright_black" let v1031 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1030 v1031 | US0_3 -> (* Warning *) let v1036 : string = "inline_colorization::color_yellow" let v1037 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1036 v1037 let v1045 : string = "&*$0" let v1046 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1045 let v1047 : string = "inline_colorization::color_reset" let v1048 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1047 let v1049 : string = "\"{v1044}{v1046}{v1048}\"" let v1050 : string = @$"format!(" + v1049 + ")" let v1051 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1050 let v1052 : string = "fable_library_rust::String_::fromString($0)" let v1053 : string = Fable.Core.RustInterop.emitRustExpr v1051 v1052 v1053 #endif #if FABLE_COMPILER_RUST && WASM let v1068 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1062 : string = "inline_colorization::color_bright_red" let v1063 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1062 v1063 | US0_1 -> (* Debug *) let v1056 : string = "inline_colorization::color_bright_blue" let v1057 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1056 v1057 | US0_2 -> (* Info *) let v1058 : string = "inline_colorization::color_bright_green" let v1059 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1058 v1059 | US0_0 -> (* Verbose *) let v1054 : string = "inline_colorization::color_bright_black" let v1055 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1054 v1055 | US0_3 -> (* Warning *) let v1060 : string = "inline_colorization::color_yellow" let v1061 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1060 v1061 let v1069 : string = "&*$0" let v1070 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1069 let v1071 : string = "inline_colorization::color_reset" let v1072 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1071 let v1073 : string = "\"{v1068}{v1070}{v1072}\"" let v1074 : string = @$"format!(" + v1073 + ")" let v1075 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1074 let v1076 : string = "fable_library_rust::String_::fromString($0)" let v1077 : string = Fable.Core.RustInterop.emitRustExpr v1075 v1076 v1077 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1092 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1086 : string = "inline_colorization::color_bright_red" let v1087 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1086 v1087 | US0_1 -> (* Debug *) let v1080 : string = "inline_colorization::color_bright_blue" let v1081 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1080 v1081 | US0_2 -> (* Info *) let v1082 : string = "inline_colorization::color_bright_green" let v1083 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1082 v1083 | US0_0 -> (* Verbose *) let v1078 : string = "inline_colorization::color_bright_black" let v1079 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1078 v1079 | US0_3 -> (* Warning *) let v1084 : string = "inline_colorization::color_yellow" let v1085 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1084 v1085 let v1093 : string = "&*$0" let v1094 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1093 let v1095 : string = "inline_colorization::color_reset" let v1096 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1095 let v1097 : string = "\"{v1092}{v1094}{v1096}\"" let v1098 : string = @$"format!(" + v1097 + ")" let v1099 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1098 let v1100 : string = "fable_library_rust::String_::fromString($0)" let v1101 : string = Fable.Core.RustInterop.emitRustExpr v1099 v1100 v1101 #endif #if FABLE_COMPILER_TYPESCRIPT let v1111 : string = match v0 with | US0_4 -> (* Critical *) let v1106 : string = "\u001b[91m" v1106 | US0_1 -> (* Debug *) let v1103 : string = "\u001b[94m" v1103 | US0_2 -> (* Info *) let v1104 : string = "\u001b[92m" v1104 | US0_0 -> (* Verbose *) let v1102 : string = "\u001b[90m" v1102 | US0_3 -> (* Warning *) let v1105 : string = "\u001b[93m" v1105 let v1112 : string = method8() let v1113 : string = v1111 + v997 let v1114 : string = v1113 + v1112 v1114 #endif #if FABLE_COMPILER_PYTHON let v1124 : string = match v0 with | US0_4 -> (* Critical *) let v1119 : string = "\u001b[91m" v1119 | US0_1 -> (* Debug *) let v1116 : string = "\u001b[94m" v1116 | US0_2 -> (* Info *) let v1117 : string = "\u001b[92m" v1117 | US0_0 -> (* Verbose *) let v1115 : string = "\u001b[90m" v1115 | US0_3 -> (* Warning *) let v1118 : string = "\u001b[93m" v1118 let v1125 : string = method8() let v1126 : string = v1124 + v997 let v1127 : string = v1126 + v1125 v1127 #endif #else let v1137 : string = match v0 with | US0_4 -> (* Critical *) let v1132 : string = "\u001b[91m" v1132 | US0_1 -> (* Debug *) let v1129 : string = "\u001b[94m" v1129 | US0_2 -> (* Info *) let v1130 : string = "\u001b[92m" v1130 | US0_0 -> (* Verbose *) let v1128 : string = "\u001b[90m" v1128 | US0_3 -> (* Warning *) let v1131 : string = "\u001b[93m" v1131 let v1138 : string = method8() let v1139 : string = v1137 + v997 let v1140 : string = v1139 + v1138 v1140 #endif |> fun x -> _v1029 <- Some x let v1141 : string = match _v1029 with Some x -> x | None -> failwith "base.run_target / _v1029=None" let v1160 : int64 = v14.l0 let struct (v1161 : int32, v1162 : string) = v2 () let v1163 : string = "" let v1164 : Mut4 = {l0 = v1163} : Mut4 method9(v1164, v1161, v1162) let v1165 : string = v1164.l0 let v1168 : string = $"{v772} {v1141} #{v1160} %s{v1 ()} / {v1165}" let v1175 : char list = [] let v1180 : (char list -> (char [])) = List.toArray let v1181 : (char []) = v1180 v1175 let v1188 : string = v1168.TrimStart v1181 let v1227 : char list = [] let v1230 : char list = '/' :: v1227 let v1239 : char list = ' ' :: v1230 let v1250 : (char list -> (char [])) = List.toArray let v1251 : (char []) = v1250 v1239 let v1258 : string = v1188.TrimEnd v1251 v1258 and method13 (v0 : US0, v1 : (unit -> string)) : unit = let v4 : (US0 -> struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option)) = closure0() let v5 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v4 v5 |> Some let struct (v13 : Mut0, v14 : Mut1, v15 : Mut2, v16 : Mut3, v17 : int64 option) = State.trace_state.Value let v34 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v4 v34 |> Some let struct (v42 : Mut0, v43 : Mut1, v44 : Mut2, v45 : Mut3, v46 : int64 option) = State.trace_state.Value let v61 : US0 = v45.l0 let v62 : bool = v44.l0 let v63 : bool = v62 = false let v67 : bool = if v63 then false else let v64 : int32 = [ US0_0, 0; US0_1, 1; US0_2, 2; US0_3, 3; US0_4, 4 ] |> Map |> Map.find v0 let v65 : int32 = [ US0_0, 0; US0_1, 1; US0_2, 2; US0_3, 3; US0_4, 4 ] |> Map |> Map.find v61 let v66 : bool = v64 >= v65 v66 if v67 then let v68 : int64 = v13.l0 let v69 : int64 = v68 + 1L v13.l0 <- v69 let v72 : string = $"%s{v1 ()}" let v81 : bool = true let mutable _v81 : unit option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v82 : string = @"println!(""{}"", $0)" Fable.Core.RustInterop.emitRustExpr v72 v82 () #endif #if FABLE_COMPILER_RUST && WASM let v83 : string = @"println!(""{}"", $0)" Fable.Core.RustInterop.emitRustExpr v72 v83 () #endif #if FABLE_COMPILER_RUST && CONTRACT let v84 : string = @"println!(""{}"", $0)" Fable.Core.RustInterop.emitRustExpr v72 v84 () #endif #if FABLE_COMPILER_TYPESCRIPT System.Console.WriteLine v72 () #endif #if FABLE_COMPILER_PYTHON System.Console.WriteLine v72 () #endif #else System.Console.WriteLine v72 () #endif |> fun x -> _v81 <- Some x match _v81 with Some x -> x | None -> failwith "base.run_target / _v81=None" let v113 : (string -> unit) = v14.l0 v113 v72 and method4 (v0 : US0, v1 : (unit -> string), v2 : (unit -> struct (int32 * string))) : unit = let v3 : (unit -> string) = closure6(v0, v1, v2) method13(v0, v3) and closure3 (v0 : string) (v1 : int32) : Async<bool> = let v4 : bool = true let mutable _v4 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v7 : Async<bool> = null |> unbox<Async<bool>> v7 #endif #if FABLE_COMPILER_RUST && WASM let v16 : Async<bool> = null |> unbox<Async<bool>> v16 #endif #if FABLE_COMPILER_RUST && CONTRACT let v25 : Async<bool> = null |> unbox<Async<bool>> v25 #endif #if FABLE_COMPILER_TYPESCRIPT let v34 : Async<bool> = null |> unbox<Async<bool>> v34 #endif #if FABLE_COMPILER_PYTHON let v43 : Async<bool> = null |> unbox<Async<bool>> v43 #endif #else let v50 : Async<bool> option = None let mutable _v50 = v50 async { let v51 : Async<System.Threading.CancellationToken> = Async.CancellationToken let! v51 = v51 let v52 : System.Threading.CancellationToken = v51 let v53 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient () use v53 = v53 let v54 : System.Net.Sockets.TcpClient = v53 try let v55 : System.Threading.Tasks.ValueTask = v54.ConnectAsync (v0, v1, v52) let v56 : (unit -> System.Threading.Tasks.Task) = v55.AsTask let v57 : System.Threading.Tasks.Task = v56 () let v60 : bool = true let mutable _v60 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v63 : Async<unit> = null |> unbox<Async<unit>> v63 #endif #if FABLE_COMPILER_RUST && WASM let v72 : Async<unit> = null |> unbox<Async<unit>> v72 #endif #if FABLE_COMPILER_RUST && CONTRACT let v81 : Async<unit> = null |> unbox<Async<unit>> v81 #endif #if FABLE_COMPILER_TYPESCRIPT let v90 : Async<unit> = null |> unbox<Async<unit>> v90 #endif #if FABLE_COMPILER_PYTHON let v99 : Async<unit> = null |> unbox<Async<unit>> v99 #endif #else let v106 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask let v107 : Async<unit> = v106 v57 v107 #endif |> fun x -> _v60 <- Some x let v108 : Async<unit> = match _v60 with Some x -> x | None -> failwith "base.run_target / _v60=None" do! v108 return true with ex -> let v123 : exn = ex let v126 : bool = true let mutable _v126 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v129 : string = $"%A{v123}" v129 #endif #if FABLE_COMPILER_RUST && WASM let v138 : string = $"%A{v123}" v138 #endif #if FABLE_COMPILER_RUST && CONTRACT let v147 : string = $"%A{v123}" v147 #endif #if FABLE_COMPILER_TYPESCRIPT let v156 : string = $"%A{v123}" v156 #endif #if FABLE_COMPILER_PYTHON let v165 : string = $"%A{v123}" v165 #endif #else let v172 : string = $"{v123.GetType ()}: {v123.Message}" v172 #endif |> fun x -> _v126 <- Some x let v173 : string = match _v126 with Some x -> x | None -> failwith "base.run_target / _v126=None" let v188 : US0 = US0_0 let v189 : (unit -> string) = closure4() let v190 : (unit -> struct (int32 * string)) = closure5(v1, v173) method4(v188, v189, v190) return false (* let v191 : bool = *) } |> fun x -> _v50 <- Some x let v192 : Async<bool> = match _v50 with Some x -> x | None -> failwith "async.new_async_unit / _v50=None" v192 #endif |> fun x -> _v4 <- Some x let v193 : Async<bool> = match _v4 with Some x -> x | None -> failwith "base.run_target / _v4=None" v193 and closure2 () (v0 : string) : (int32 -> Async<bool>) = closure3(v0) and closure10 () (v0 : bool) : US5 = US5_0(v0) and closure11 () (v0 : exn) : US5 = US5_1(v0) and closure12 () () : string = let v0 : string = "async.run_with_timeout_async" v0 and closure13 (v0 : int32) () : int32 = v0 and method15 (v0 : Mut4, v1 : int32) : unit = let v2 : string = "{ " method10(v0, v2) method11(v0) let v3 : string = "timeout" method10(v0, v3) let v4 : string = " = " method10(v0, v4) method12(v0, v1) let v5 : string = " }" method10(v0, v5) and closure14 (v0 : US0, v1 : (unit -> string), v2 : (unit -> int32)) () : string = let v5 : (US0 -> struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option)) = closure0() let v6 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v5 v6 |> Some let struct (v14 : Mut0, v15 : Mut1, v16 : Mut2, v17 : Mut3, v18 : int64 option) = State.trace_state.Value let v35 : bool = true let mutable _v35 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v38 : US2 option = None let _v38 = ref v38 match v18 with | Some x -> ( (fun () -> (fun () -> let v39 : int64 = x let v40 : US2 = US2_0(v39) v40 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v38.Value <- x let v41 : US2 option = _v38.Value let v64 : US2 = US2_1 let v65 : US2 = v41 |> Option.defaultValue v64 let v163 : System.DateTime = match v65 with | US2_1 -> (* None *) let v155 : System.DateTime = System.DateTime.Now v155 | US2_0(v73) -> (* Some *) let v76 : System.DateTime = System.DateTime.Now let v85 : (System.DateTime -> int64) = _.Ticks let v86 : int64 = v85 v76 let v93 : int64 = v86 - v73 let v96 : (int64 -> System.TimeSpan) = System.TimeSpan let v97 : System.TimeSpan = v96 v93 let v106 : (System.TimeSpan -> int32) = _.Hours let v107 : int32 = v106 v97 let v116 : (System.TimeSpan -> int32) = _.Minutes let v117 : int32 = v116 v97 let v126 : (System.TimeSpan -> int32) = _.Seconds let v127 : int32 = v126 v97 let v136 : (System.TimeSpan -> int32) = _.Milliseconds let v137 : int32 = v136 v97 let v146 : System.DateTime = System.DateTime (1, 1, 1, v107, v117, v127, v137) v146 let v166 : string = method5() let v175 : (string -> string) = v163.ToString let v176 : string = v175 v166 v176 #endif #if FABLE_COMPILER_RUST && WASM let v185 : US2 option = None let _v185 = ref v185 match v18 with | Some x -> ( (fun () -> (fun () -> let v186 : int64 = x let v187 : US2 = US2_0(v186) v187 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v185.Value <- x let v188 : US2 option = _v185.Value let v211 : US2 = US2_1 let v212 : US2 = v188 |> Option.defaultValue v211 let v310 : System.DateTime = match v212 with | US2_1 -> (* None *) let v302 : System.DateTime = System.DateTime.Now v302 | US2_0(v220) -> (* Some *) let v223 : System.DateTime = System.DateTime.Now let v232 : (System.DateTime -> int64) = _.Ticks let v233 : int64 = v232 v223 let v240 : int64 = v233 - v220 let v243 : (int64 -> System.TimeSpan) = System.TimeSpan let v244 : System.TimeSpan = v243 v240 let v253 : (System.TimeSpan -> int32) = _.Hours let v254 : int32 = v253 v244 let v263 : (System.TimeSpan -> int32) = _.Minutes let v264 : int32 = v263 v244 let v273 : (System.TimeSpan -> int32) = _.Seconds let v274 : int32 = v273 v244 let v283 : (System.TimeSpan -> int32) = _.Milliseconds let v284 : int32 = v283 v244 let v293 : System.DateTime = System.DateTime (1, 1, 1, v254, v264, v274, v284) v293 let v313 : string = method5() let v322 : (string -> string) = v310.ToString let v323 : string = v322 v313 v323 #endif #if FABLE_COMPILER_RUST && CONTRACT let v330 : string = method6() v330 #endif #if FABLE_COMPILER_TYPESCRIPT let v333 : US2 option = None let _v333 = ref v333 match v18 with | Some x -> ( (fun () -> (fun () -> let v334 : int64 = x let v335 : US2 = US2_0(v334) v335 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v333.Value <- x let v336 : US2 option = _v333.Value let v359 : US2 = US2_1 let v360 : US2 = v336 |> Option.defaultValue v359 let v458 : System.DateTime = match v360 with | US2_1 -> (* None *) let v450 : System.DateTime = System.DateTime.Now v450 | US2_0(v368) -> (* Some *) let v371 : System.DateTime = System.DateTime.Now let v380 : (System.DateTime -> int64) = _.Ticks let v381 : int64 = v380 v371 let v388 : int64 = v381 - v368 let v391 : (int64 -> System.TimeSpan) = System.TimeSpan let v392 : System.TimeSpan = v391 v388 let v401 : (System.TimeSpan -> int32) = _.Hours let v402 : int32 = v401 v392 let v411 : (System.TimeSpan -> int32) = _.Minutes let v412 : int32 = v411 v392 let v421 : (System.TimeSpan -> int32) = _.Seconds let v422 : int32 = v421 v392 let v431 : (System.TimeSpan -> int32) = _.Milliseconds let v432 : int32 = v431 v392 let v441 : System.DateTime = System.DateTime (1, 1, 1, v402, v412, v422, v432) v441 let v461 : string = method7() let v470 : (string -> string) = v458.ToString let v471 : string = v470 v461 v471 #endif #if FABLE_COMPILER_PYTHON let v480 : US2 option = None let _v480 = ref v480 match v18 with | Some x -> ( (fun () -> (fun () -> let v481 : int64 = x let v482 : US2 = US2_0(v481) v482 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v480.Value <- x let v483 : US2 option = _v480.Value let v506 : US2 = US2_1 let v507 : US2 = v483 |> Option.defaultValue v506 let v605 : System.DateTime = match v507 with | US2_1 -> (* None *) let v597 : System.DateTime = System.DateTime.Now v597 | US2_0(v515) -> (* Some *) let v518 : System.DateTime = System.DateTime.Now let v527 : (System.DateTime -> int64) = _.Ticks let v528 : int64 = v527 v518 let v535 : int64 = v528 - v515 let v538 : (int64 -> System.TimeSpan) = System.TimeSpan let v539 : System.TimeSpan = v538 v535 let v548 : (System.TimeSpan -> int32) = _.Hours let v549 : int32 = v548 v539 let v558 : (System.TimeSpan -> int32) = _.Minutes let v559 : int32 = v558 v539 let v568 : (System.TimeSpan -> int32) = _.Seconds let v569 : int32 = v568 v539 let v578 : (System.TimeSpan -> int32) = _.Milliseconds let v579 : int32 = v578 v539 let v588 : System.DateTime = System.DateTime (1, 1, 1, v549, v559, v569, v579) v588 let v608 : string = method7() let v617 : (string -> string) = v605.ToString let v618 : string = v617 v608 v618 #endif #else let v627 : US2 option = None let _v627 = ref v627 match v18 with | Some x -> ( (fun () -> (fun () -> let v628 : int64 = x let v629 : US2 = US2_0(v628) v629 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v627.Value <- x let v630 : US2 option = _v627.Value let v653 : US2 = US2_1 let v654 : US2 = v630 |> Option.defaultValue v653 let v752 : System.DateTime = match v654 with | US2_1 -> (* None *) let v744 : System.DateTime = System.DateTime.Now v744 | US2_0(v662) -> (* Some *) let v665 : System.DateTime = System.DateTime.Now let v674 : (System.DateTime -> int64) = _.Ticks let v675 : int64 = v674 v665 let v682 : int64 = v675 - v662 let v685 : (int64 -> System.TimeSpan) = System.TimeSpan let v686 : System.TimeSpan = v685 v682 let v695 : (System.TimeSpan -> int32) = _.Hours let v696 : int32 = v695 v686 let v705 : (System.TimeSpan -> int32) = _.Minutes let v706 : int32 = v705 v686 let v715 : (System.TimeSpan -> int32) = _.Seconds let v716 : int32 = v715 v686 let v725 : (System.TimeSpan -> int32) = _.Milliseconds let v726 : int32 = v725 v686 let v735 : System.DateTime = System.DateTime (1, 1, 1, v696, v706, v716, v726) v735 let v755 : string = method7() let v764 : (string -> string) = v752.ToString let v765 : string = v764 v755 v765 #endif |> fun x -> _v35 <- Some x let v772 : string = match _v35 with Some x -> x | None -> failwith "base.run_target / _v35=None" let v927 : bool = match v0 with | US0_0 -> (* Verbose *) true | _ -> false let v931 : US3 = if v927 then let v928 : string = "Verbose" US3_0(v928) else US3_1 let v980 : US3 = match v931 with | US3_1 -> (* None *) let v936 : bool = match v0 with | US0_1 -> (* Debug *) true | _ -> false let v940 : US3 = if v936 then let v937 : string = "Debug" US3_0(v937) else US3_1 match v940 with | US3_1 -> (* None *) let v945 : bool = match v0 with | US0_2 -> (* Info *) true | _ -> false let v949 : US3 = if v945 then let v946 : string = "Info" US3_0(v946) else US3_1 match v949 with | US3_1 -> (* None *) let v954 : bool = match v0 with | US0_3 -> (* Warning *) true | _ -> false let v958 : US3 = if v954 then let v955 : string = "Warning" US3_0(v955) else US3_1 match v958 with | US3_1 -> (* None *) let v963 : bool = match v0 with | US0_4 -> (* Critical *) true | _ -> false let v967 : US3 = if v963 then let v964 : string = "Critical" US3_0(v964) else US3_1 match v967 with | US3_1 -> (* None *) US3_1 | US3_0(v968) -> (* Some *) US3_0(v968) | US3_0(v959) -> (* Some *) US3_0(v959) | US3_0(v950) -> (* Some *) US3_0(v950) | US3_0(v941) -> (* Some *) US3_0(v941) | US3_0(v932) -> (* Some *) US3_0(v932) let v984 : string = match v980 with | US3_1 -> (* None *) failwith<string> "Option does not have a value." | US3_0(v981) -> (* Some *) v981 let v987 : (unit -> string) = v984.ToLower let v988 : string = v987 () let v997 : string = v988.PadLeft (7, ' ') let v1029 : bool = true let mutable _v1029 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v1044 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1038 : string = "inline_colorization::color_bright_red" let v1039 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1038 v1039 | US0_1 -> (* Debug *) let v1032 : string = "inline_colorization::color_bright_blue" let v1033 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1032 v1033 | US0_2 -> (* Info *) let v1034 : string = "inline_colorization::color_bright_green" let v1035 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1034 v1035 | US0_0 -> (* Verbose *) let v1030 : string = "inline_colorization::color_bright_black" let v1031 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1030 v1031 | US0_3 -> (* Warning *) let v1036 : string = "inline_colorization::color_yellow" let v1037 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1036 v1037 let v1045 : string = "&*$0" let v1046 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1045 let v1047 : string = "inline_colorization::color_reset" let v1048 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1047 let v1049 : string = "\"{v1044}{v1046}{v1048}\"" let v1050 : string = @$"format!(" + v1049 + ")" let v1051 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1050 let v1052 : string = "fable_library_rust::String_::fromString($0)" let v1053 : string = Fable.Core.RustInterop.emitRustExpr v1051 v1052 v1053 #endif #if FABLE_COMPILER_RUST && WASM let v1068 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1062 : string = "inline_colorization::color_bright_red" let v1063 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1062 v1063 | US0_1 -> (* Debug *) let v1056 : string = "inline_colorization::color_bright_blue" let v1057 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1056 v1057 | US0_2 -> (* Info *) let v1058 : string = "inline_colorization::color_bright_green" let v1059 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1058 v1059 | US0_0 -> (* Verbose *) let v1054 : string = "inline_colorization::color_bright_black" let v1055 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1054 v1055 | US0_3 -> (* Warning *) let v1060 : string = "inline_colorization::color_yellow" let v1061 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1060 v1061 let v1069 : string = "&*$0" let v1070 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1069 let v1071 : string = "inline_colorization::color_reset" let v1072 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1071 let v1073 : string = "\"{v1068}{v1070}{v1072}\"" let v1074 : string = @$"format!(" + v1073 + ")" let v1075 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1074 let v1076 : string = "fable_library_rust::String_::fromString($0)" let v1077 : string = Fable.Core.RustInterop.emitRustExpr v1075 v1076 v1077 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1092 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1086 : string = "inline_colorization::color_bright_red" let v1087 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1086 v1087 | US0_1 -> (* Debug *) let v1080 : string = "inline_colorization::color_bright_blue" let v1081 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1080 v1081 | US0_2 -> (* Info *) let v1082 : string = "inline_colorization::color_bright_green" let v1083 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1082 v1083 | US0_0 -> (* Verbose *) let v1078 : string = "inline_colorization::color_bright_black" let v1079 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1078 v1079 | US0_3 -> (* Warning *) let v1084 : string = "inline_colorization::color_yellow" let v1085 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1084 v1085 let v1093 : string = "&*$0" let v1094 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1093 let v1095 : string = "inline_colorization::color_reset" let v1096 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1095 let v1097 : string = "\"{v1092}{v1094}{v1096}\"" let v1098 : string = @$"format!(" + v1097 + ")" let v1099 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1098 let v1100 : string = "fable_library_rust::String_::fromString($0)" let v1101 : string = Fable.Core.RustInterop.emitRustExpr v1099 v1100 v1101 #endif #if FABLE_COMPILER_TYPESCRIPT let v1111 : string = match v0 with | US0_4 -> (* Critical *) let v1106 : string = "\u001b[91m" v1106 | US0_1 -> (* Debug *) let v1103 : string = "\u001b[94m" v1103 | US0_2 -> (* Info *) let v1104 : string = "\u001b[92m" v1104 | US0_0 -> (* Verbose *) let v1102 : string = "\u001b[90m" v1102 | US0_3 -> (* Warning *) let v1105 : string = "\u001b[93m" v1105 let v1112 : string = method8() let v1113 : string = v1111 + v997 let v1114 : string = v1113 + v1112 v1114 #endif #if FABLE_COMPILER_PYTHON let v1124 : string = match v0 with | US0_4 -> (* Critical *) let v1119 : string = "\u001b[91m" v1119 | US0_1 -> (* Debug *) let v1116 : string = "\u001b[94m" v1116 | US0_2 -> (* Info *) let v1117 : string = "\u001b[92m" v1117 | US0_0 -> (* Verbose *) let v1115 : string = "\u001b[90m" v1115 | US0_3 -> (* Warning *) let v1118 : string = "\u001b[93m" v1118 let v1125 : string = method8() let v1126 : string = v1124 + v997 let v1127 : string = v1126 + v1125 v1127 #endif #else let v1137 : string = match v0 with | US0_4 -> (* Critical *) let v1132 : string = "\u001b[91m" v1132 | US0_1 -> (* Debug *) let v1129 : string = "\u001b[94m" v1129 | US0_2 -> (* Info *) let v1130 : string = "\u001b[92m" v1130 | US0_0 -> (* Verbose *) let v1128 : string = "\u001b[90m" v1128 | US0_3 -> (* Warning *) let v1131 : string = "\u001b[93m" v1131 let v1138 : string = method8() let v1139 : string = v1137 + v997 let v1140 : string = v1139 + v1138 v1140 #endif |> fun x -> _v1029 <- Some x let v1141 : string = match _v1029 with Some x -> x | None -> failwith "base.run_target / _v1029=None" let v1160 : int64 = v14.l0 let v1161 : int32 = v2 () let v1162 : string = "" let v1163 : Mut4 = {l0 = v1162} : Mut4 method15(v1163, v1161) let v1164 : string = v1163.l0 let v1167 : string = $"{v772} {v1141} #{v1160} %s{v1 ()} / {v1164}" let v1174 : char list = [] let v1179 : (char list -> (char [])) = List.toArray let v1180 : (char []) = v1179 v1174 let v1187 : string = v1167.TrimStart v1180 let v1226 : char list = [] let v1229 : char list = '/' :: v1226 let v1238 : char list = ' ' :: v1229 let v1249 : (char list -> (char [])) = List.toArray let v1250 : (char []) = v1249 v1238 let v1257 : string = v1187.TrimEnd v1250 v1257 and method14 (v0 : US0, v1 : (unit -> string), v2 : (unit -> int32)) : unit = let v3 : (unit -> string) = closure14(v0, v1, v2) method13(v0, v3) and closure15 () () : string = let v0 : string = $"async.run_with_timeout_async**" v0 and closure16 (v0 : int32, v1 : exn) () : struct (int32 * string) = let v4 : bool = true let mutable _v4 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v7 : string = $"%A{v1}" v7 #endif #if FABLE_COMPILER_RUST && WASM let v16 : string = $"%A{v1}" v16 #endif #if FABLE_COMPILER_RUST && CONTRACT let v25 : string = $"%A{v1}" v25 #endif #if FABLE_COMPILER_TYPESCRIPT let v34 : string = $"%A{v1}" v34 #endif #if FABLE_COMPILER_PYTHON let v43 : string = $"%A{v1}" v43 #endif #else let v50 : string = $"{v1.GetType ()}: {v1.Message}" v50 #endif |> fun x -> _v4 <- Some x let v51 : string = match _v4 with Some x -> x | None -> failwith "base.run_target / _v4=None" struct (v0, v51) and method17 (v0 : Mut4, v1 : int32, v2 : string) : unit = let v3 : string = "{ " method10(v0, v3) method11(v0) let v4 : string = "timeout" method10(v0, v4) let v5 : string = " = " method10(v0, v5) method12(v0, v1) let v6 : string = "; " method10(v0, v6) let v7 : string = "ex" method10(v0, v7) method10(v0, v5) method10(v0, v2) let v8 : string = " }" method10(v0, v8) and closure17 (v0 : US0, v1 : (unit -> string), v2 : (unit -> struct (int32 * string))) () : string = let v5 : (US0 -> struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option)) = closure0() let v6 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v5 v6 |> Some let struct (v14 : Mut0, v15 : Mut1, v16 : Mut2, v17 : Mut3, v18 : int64 option) = State.trace_state.Value let v35 : bool = true let mutable _v35 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v38 : US2 option = None let _v38 = ref v38 match v18 with | Some x -> ( (fun () -> (fun () -> let v39 : int64 = x let v40 : US2 = US2_0(v39) v40 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v38.Value <- x let v41 : US2 option = _v38.Value let v64 : US2 = US2_1 let v65 : US2 = v41 |> Option.defaultValue v64 let v163 : System.DateTime = match v65 with | US2_1 -> (* None *) let v155 : System.DateTime = System.DateTime.Now v155 | US2_0(v73) -> (* Some *) let v76 : System.DateTime = System.DateTime.Now let v85 : (System.DateTime -> int64) = _.Ticks let v86 : int64 = v85 v76 let v93 : int64 = v86 - v73 let v96 : (int64 -> System.TimeSpan) = System.TimeSpan let v97 : System.TimeSpan = v96 v93 let v106 : (System.TimeSpan -> int32) = _.Hours let v107 : int32 = v106 v97 let v116 : (System.TimeSpan -> int32) = _.Minutes let v117 : int32 = v116 v97 let v126 : (System.TimeSpan -> int32) = _.Seconds let v127 : int32 = v126 v97 let v136 : (System.TimeSpan -> int32) = _.Milliseconds let v137 : int32 = v136 v97 let v146 : System.DateTime = System.DateTime (1, 1, 1, v107, v117, v127, v137) v146 let v166 : string = method5() let v175 : (string -> string) = v163.ToString let v176 : string = v175 v166 v176 #endif #if FABLE_COMPILER_RUST && WASM let v185 : US2 option = None let _v185 = ref v185 match v18 with | Some x -> ( (fun () -> (fun () -> let v186 : int64 = x let v187 : US2 = US2_0(v186) v187 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v185.Value <- x let v188 : US2 option = _v185.Value let v211 : US2 = US2_1 let v212 : US2 = v188 |> Option.defaultValue v211 let v310 : System.DateTime = match v212 with | US2_1 -> (* None *) let v302 : System.DateTime = System.DateTime.Now v302 | US2_0(v220) -> (* Some *) let v223 : System.DateTime = System.DateTime.Now let v232 : (System.DateTime -> int64) = _.Ticks let v233 : int64 = v232 v223 let v240 : int64 = v233 - v220 let v243 : (int64 -> System.TimeSpan) = System.TimeSpan let v244 : System.TimeSpan = v243 v240 let v253 : (System.TimeSpan -> int32) = _.Hours let v254 : int32 = v253 v244 let v263 : (System.TimeSpan -> int32) = _.Minutes let v264 : int32 = v263 v244 let v273 : (System.TimeSpan -> int32) = _.Seconds let v274 : int32 = v273 v244 let v283 : (System.TimeSpan -> int32) = _.Milliseconds let v284 : int32 = v283 v244 let v293 : System.DateTime = System.DateTime (1, 1, 1, v254, v264, v274, v284) v293 let v313 : string = method5() let v322 : (string -> string) = v310.ToString let v323 : string = v322 v313 v323 #endif #if FABLE_COMPILER_RUST && CONTRACT let v330 : string = method6() v330 #endif #if FABLE_COMPILER_TYPESCRIPT let v333 : US2 option = None let _v333 = ref v333 match v18 with | Some x -> ( (fun () -> (fun () -> let v334 : int64 = x let v335 : US2 = US2_0(v334) v335 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v333.Value <- x let v336 : US2 option = _v333.Value let v359 : US2 = US2_1 let v360 : US2 = v336 |> Option.defaultValue v359 let v458 : System.DateTime = match v360 with | US2_1 -> (* None *) let v450 : System.DateTime = System.DateTime.Now v450 | US2_0(v368) -> (* Some *) let v371 : System.DateTime = System.DateTime.Now let v380 : (System.DateTime -> int64) = _.Ticks let v381 : int64 = v380 v371 let v388 : int64 = v381 - v368 let v391 : (int64 -> System.TimeSpan) = System.TimeSpan let v392 : System.TimeSpan = v391 v388 let v401 : (System.TimeSpan -> int32) = _.Hours let v402 : int32 = v401 v392 let v411 : (System.TimeSpan -> int32) = _.Minutes let v412 : int32 = v411 v392 let v421 : (System.TimeSpan -> int32) = _.Seconds let v422 : int32 = v421 v392 let v431 : (System.TimeSpan -> int32) = _.Milliseconds let v432 : int32 = v431 v392 let v441 : System.DateTime = System.DateTime (1, 1, 1, v402, v412, v422, v432) v441 let v461 : string = method7() let v470 : (string -> string) = v458.ToString let v471 : string = v470 v461 v471 #endif #if FABLE_COMPILER_PYTHON let v480 : US2 option = None let _v480 = ref v480 match v18 with | Some x -> ( (fun () -> (fun () -> let v481 : int64 = x let v482 : US2 = US2_0(v481) v482 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v480.Value <- x let v483 : US2 option = _v480.Value let v506 : US2 = US2_1 let v507 : US2 = v483 |> Option.defaultValue v506 let v605 : System.DateTime = match v507 with | US2_1 -> (* None *) let v597 : System.DateTime = System.DateTime.Now v597 | US2_0(v515) -> (* Some *) let v518 : System.DateTime = System.DateTime.Now let v527 : (System.DateTime -> int64) = _.Ticks let v528 : int64 = v527 v518 let v535 : int64 = v528 - v515 let v538 : (int64 -> System.TimeSpan) = System.TimeSpan let v539 : System.TimeSpan = v538 v535 let v548 : (System.TimeSpan -> int32) = _.Hours let v549 : int32 = v548 v539 let v558 : (System.TimeSpan -> int32) = _.Minutes let v559 : int32 = v558 v539 let v568 : (System.TimeSpan -> int32) = _.Seconds let v569 : int32 = v568 v539 let v578 : (System.TimeSpan -> int32) = _.Milliseconds let v579 : int32 = v578 v539 let v588 : System.DateTime = System.DateTime (1, 1, 1, v549, v559, v569, v579) v588 let v608 : string = method7() let v617 : (string -> string) = v605.ToString let v618 : string = v617 v608 v618 #endif #else let v627 : US2 option = None let _v627 = ref v627 match v18 with | Some x -> ( (fun () -> (fun () -> let v628 : int64 = x let v629 : US2 = US2_0(v628) v629 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v627.Value <- x let v630 : US2 option = _v627.Value let v653 : US2 = US2_1 let v654 : US2 = v630 |> Option.defaultValue v653 let v752 : System.DateTime = match v654 with | US2_1 -> (* None *) let v744 : System.DateTime = System.DateTime.Now v744 | US2_0(v662) -> (* Some *) let v665 : System.DateTime = System.DateTime.Now let v674 : (System.DateTime -> int64) = _.Ticks let v675 : int64 = v674 v665 let v682 : int64 = v675 - v662 let v685 : (int64 -> System.TimeSpan) = System.TimeSpan let v686 : System.TimeSpan = v685 v682 let v695 : (System.TimeSpan -> int32) = _.Hours let v696 : int32 = v695 v686 let v705 : (System.TimeSpan -> int32) = _.Minutes let v706 : int32 = v705 v686 let v715 : (System.TimeSpan -> int32) = _.Seconds let v716 : int32 = v715 v686 let v725 : (System.TimeSpan -> int32) = _.Milliseconds let v726 : int32 = v725 v686 let v735 : System.DateTime = System.DateTime (1, 1, 1, v696, v706, v716, v726) v735 let v755 : string = method7() let v764 : (string -> string) = v752.ToString let v765 : string = v764 v755 v765 #endif |> fun x -> _v35 <- Some x let v772 : string = match _v35 with Some x -> x | None -> failwith "base.run_target / _v35=None" let v927 : bool = match v0 with | US0_0 -> (* Verbose *) true | _ -> false let v931 : US3 = if v927 then let v928 : string = "Verbose" US3_0(v928) else US3_1 let v980 : US3 = match v931 with | US3_1 -> (* None *) let v936 : bool = match v0 with | US0_1 -> (* Debug *) true | _ -> false let v940 : US3 = if v936 then let v937 : string = "Debug" US3_0(v937) else US3_1 match v940 with | US3_1 -> (* None *) let v945 : bool = match v0 with | US0_2 -> (* Info *) true | _ -> false let v949 : US3 = if v945 then let v946 : string = "Info" US3_0(v946) else US3_1 match v949 with | US3_1 -> (* None *) let v954 : bool = match v0 with | US0_3 -> (* Warning *) true | _ -> false let v958 : US3 = if v954 then let v955 : string = "Warning" US3_0(v955) else US3_1 match v958 with | US3_1 -> (* None *) let v963 : bool = match v0 with | US0_4 -> (* Critical *) true | _ -> false let v967 : US3 = if v963 then let v964 : string = "Critical" US3_0(v964) else US3_1 match v967 with | US3_1 -> (* None *) US3_1 | US3_0(v968) -> (* Some *) US3_0(v968) | US3_0(v959) -> (* Some *) US3_0(v959) | US3_0(v950) -> (* Some *) US3_0(v950) | US3_0(v941) -> (* Some *) US3_0(v941) | US3_0(v932) -> (* Some *) US3_0(v932) let v984 : string = match v980 with | US3_1 -> (* None *) failwith<string> "Option does not have a value." | US3_0(v981) -> (* Some *) v981 let v987 : (unit -> string) = v984.ToLower let v988 : string = v987 () let v997 : string = v988.PadLeft (7, ' ') let v1029 : bool = true let mutable _v1029 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v1044 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1038 : string = "inline_colorization::color_bright_red" let v1039 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1038 v1039 | US0_1 -> (* Debug *) let v1032 : string = "inline_colorization::color_bright_blue" let v1033 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1032 v1033 | US0_2 -> (* Info *) let v1034 : string = "inline_colorization::color_bright_green" let v1035 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1034 v1035 | US0_0 -> (* Verbose *) let v1030 : string = "inline_colorization::color_bright_black" let v1031 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1030 v1031 | US0_3 -> (* Warning *) let v1036 : string = "inline_colorization::color_yellow" let v1037 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1036 v1037 let v1045 : string = "&*$0" let v1046 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1045 let v1047 : string = "inline_colorization::color_reset" let v1048 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1047 let v1049 : string = "\"{v1044}{v1046}{v1048}\"" let v1050 : string = @$"format!(" + v1049 + ")" let v1051 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1050 let v1052 : string = "fable_library_rust::String_::fromString($0)" let v1053 : string = Fable.Core.RustInterop.emitRustExpr v1051 v1052 v1053 #endif #if FABLE_COMPILER_RUST && WASM let v1068 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1062 : string = "inline_colorization::color_bright_red" let v1063 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1062 v1063 | US0_1 -> (* Debug *) let v1056 : string = "inline_colorization::color_bright_blue" let v1057 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1056 v1057 | US0_2 -> (* Info *) let v1058 : string = "inline_colorization::color_bright_green" let v1059 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1058 v1059 | US0_0 -> (* Verbose *) let v1054 : string = "inline_colorization::color_bright_black" let v1055 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1054 v1055 | US0_3 -> (* Warning *) let v1060 : string = "inline_colorization::color_yellow" let v1061 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1060 v1061 let v1069 : string = "&*$0" let v1070 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1069 let v1071 : string = "inline_colorization::color_reset" let v1072 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1071 let v1073 : string = "\"{v1068}{v1070}{v1072}\"" let v1074 : string = @$"format!(" + v1073 + ")" let v1075 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1074 let v1076 : string = "fable_library_rust::String_::fromString($0)" let v1077 : string = Fable.Core.RustInterop.emitRustExpr v1075 v1076 v1077 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1092 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1086 : string = "inline_colorization::color_bright_red" let v1087 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1086 v1087 | US0_1 -> (* Debug *) let v1080 : string = "inline_colorization::color_bright_blue" let v1081 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1080 v1081 | US0_2 -> (* Info *) let v1082 : string = "inline_colorization::color_bright_green" let v1083 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1082 v1083 | US0_0 -> (* Verbose *) let v1078 : string = "inline_colorization::color_bright_black" let v1079 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1078 v1079 | US0_3 -> (* Warning *) let v1084 : string = "inline_colorization::color_yellow" let v1085 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1084 v1085 let v1093 : string = "&*$0" let v1094 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1093 let v1095 : string = "inline_colorization::color_reset" let v1096 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1095 let v1097 : string = "\"{v1092}{v1094}{v1096}\"" let v1098 : string = @$"format!(" + v1097 + ")" let v1099 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1098 let v1100 : string = "fable_library_rust::String_::fromString($0)" let v1101 : string = Fable.Core.RustInterop.emitRustExpr v1099 v1100 v1101 #endif #if FABLE_COMPILER_TYPESCRIPT let v1111 : string = match v0 with | US0_4 -> (* Critical *) let v1106 : string = "\u001b[91m" v1106 | US0_1 -> (* Debug *) let v1103 : string = "\u001b[94m" v1103 | US0_2 -> (* Info *) let v1104 : string = "\u001b[92m" v1104 | US0_0 -> (* Verbose *) let v1102 : string = "\u001b[90m" v1102 | US0_3 -> (* Warning *) let v1105 : string = "\u001b[93m" v1105 let v1112 : string = method8() let v1113 : string = v1111 + v997 let v1114 : string = v1113 + v1112 v1114 #endif #if FABLE_COMPILER_PYTHON let v1124 : string = match v0 with | US0_4 -> (* Critical *) let v1119 : string = "\u001b[91m" v1119 | US0_1 -> (* Debug *) let v1116 : string = "\u001b[94m" v1116 | US0_2 -> (* Info *) let v1117 : string = "\u001b[92m" v1117 | US0_0 -> (* Verbose *) let v1115 : string = "\u001b[90m" v1115 | US0_3 -> (* Warning *) let v1118 : string = "\u001b[93m" v1118 let v1125 : string = method8() let v1126 : string = v1124 + v997 let v1127 : string = v1126 + v1125 v1127 #endif #else let v1137 : string = match v0 with | US0_4 -> (* Critical *) let v1132 : string = "\u001b[91m" v1132 | US0_1 -> (* Debug *) let v1129 : string = "\u001b[94m" v1129 | US0_2 -> (* Info *) let v1130 : string = "\u001b[92m" v1130 | US0_0 -> (* Verbose *) let v1128 : string = "\u001b[90m" v1128 | US0_3 -> (* Warning *) let v1131 : string = "\u001b[93m" v1131 let v1138 : string = method8() let v1139 : string = v1137 + v997 let v1140 : string = v1139 + v1138 v1140 #endif |> fun x -> _v1029 <- Some x let v1141 : string = match _v1029 with Some x -> x | None -> failwith "base.run_target / _v1029=None" let v1160 : int64 = v14.l0 let struct (v1161 : int32, v1162 : string) = v2 () let v1163 : string = "" let v1164 : Mut4 = {l0 = v1163} : Mut4 method17(v1164, v1161, v1162) let v1165 : string = v1164.l0 let v1168 : string = $"{v772} {v1141} #{v1160} %s{v1 ()} / {v1165}" let v1175 : char list = [] let v1180 : (char list -> (char [])) = List.toArray let v1181 : (char []) = v1180 v1175 let v1188 : string = v1168.TrimStart v1181 let v1227 : char list = [] let v1230 : char list = '/' :: v1227 let v1239 : char list = ' ' :: v1230 let v1250 : (char list -> (char [])) = List.toArray let v1251 : (char []) = v1250 v1239 let v1258 : string = v1188.TrimEnd v1251 v1258 and method16 (v0 : US0, v1 : (unit -> string), v2 : (unit -> struct (int32 * string))) : unit = let v3 : (unit -> string) = closure17(v0, v1, v2) method13(v0, v3) and closure9 (v0 : int32, v1 : string) (v2 : int32) : Async<bool> = let v5 : bool = true let mutable _v5 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v8 : Async<bool> = null |> unbox<Async<bool>> v8 #endif #if FABLE_COMPILER_RUST && WASM let v17 : Async<bool> = null |> unbox<Async<bool>> v17 #endif #if FABLE_COMPILER_RUST && CONTRACT let v26 : Async<bool> = null |> unbox<Async<bool>> v26 #endif #if FABLE_COMPILER_TYPESCRIPT let v35 : Async<bool> = null |> unbox<Async<bool>> v35 #endif #if FABLE_COMPILER_PYTHON let v44 : Async<bool> = null |> unbox<Async<bool>> v44 #endif #else let v51 : Async<bool> option = None let mutable _v51 = v51 async { let v54 : bool = true let mutable _v54 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v57 : Async<bool> = null |> unbox<Async<bool>> v57 #endif #if FABLE_COMPILER_RUST && WASM let v66 : Async<bool> = null |> unbox<Async<bool>> v66 #endif #if FABLE_COMPILER_RUST && CONTRACT let v75 : Async<bool> = null |> unbox<Async<bool>> v75 #endif #if FABLE_COMPILER_TYPESCRIPT let v84 : Async<bool> = null |> unbox<Async<bool>> v84 #endif #if FABLE_COMPILER_PYTHON let v93 : Async<bool> = null |> unbox<Async<bool>> v93 #endif #else let v100 : Async<bool> option = None let mutable _v100 = v100 async { let v101 : Async<System.Threading.CancellationToken> = Async.CancellationToken let! v101 = v101 let v102 : System.Threading.CancellationToken = v101 let v103 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient () use v103 = v103 let v104 : System.Net.Sockets.TcpClient = v103 try let v105 : System.Threading.Tasks.ValueTask = v104.ConnectAsync (v1, v2, v102) let v106 : (unit -> System.Threading.Tasks.Task) = v105.AsTask let v107 : System.Threading.Tasks.Task = v106 () let v110 : bool = true let mutable _v110 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v113 : Async<unit> = null |> unbox<Async<unit>> v113 #endif #if FABLE_COMPILER_RUST && WASM let v122 : Async<unit> = null |> unbox<Async<unit>> v122 #endif #if FABLE_COMPILER_RUST && CONTRACT let v131 : Async<unit> = null |> unbox<Async<unit>> v131 #endif #if FABLE_COMPILER_TYPESCRIPT let v140 : Async<unit> = null |> unbox<Async<unit>> v140 #endif #if FABLE_COMPILER_PYTHON let v149 : Async<unit> = null |> unbox<Async<unit>> v149 #endif #else let v156 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask let v157 : Async<unit> = v156 v107 v157 #endif |> fun x -> _v110 <- Some x let v158 : Async<unit> = match _v110 with Some x -> x | None -> failwith "base.run_target / _v110=None" do! v158 return true with ex -> let v173 : exn = ex let v176 : bool = true let mutable _v176 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v179 : string = $"%A{v173}" v179 #endif #if FABLE_COMPILER_RUST && WASM let v188 : string = $"%A{v173}" v188 #endif #if FABLE_COMPILER_RUST && CONTRACT let v197 : string = $"%A{v173}" v197 #endif #if FABLE_COMPILER_TYPESCRIPT let v206 : string = $"%A{v173}" v206 #endif #if FABLE_COMPILER_PYTHON let v215 : string = $"%A{v173}" v215 #endif #else let v222 : string = $"{v173.GetType ()}: {v173.Message}" v222 #endif |> fun x -> _v176 <- Some x let v223 : string = match _v176 with Some x -> x | None -> failwith "base.run_target / _v176=None" let v238 : US0 = US0_0 let v239 : (unit -> string) = closure4() let v240 : (unit -> struct (int32 * string)) = closure5(v2, v223) method4(v238, v239, v240) return false (* let v241 : bool = *) } |> fun x -> _v100 <- Some x let v242 : Async<bool> = match _v100 with Some x -> x | None -> failwith "async.new_async_unit / _v100=None" v242 #endif |> fun x -> _v54 <- Some x let v243 : Async<bool> = match _v54 with Some x -> x | None -> failwith "base.run_target / _v54=None" let v260 : bool = true let mutable _v260 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v263 : Async<US4> = null |> unbox<Async<US4>> v263 #endif #if FABLE_COMPILER_RUST && WASM let v272 : Async<US4> = null |> unbox<Async<US4>> v272 #endif #if FABLE_COMPILER_RUST && CONTRACT let v281 : Async<US4> = null |> unbox<Async<US4>> v281 #endif #if FABLE_COMPILER_TYPESCRIPT let v290 : Async<US4> = null |> unbox<Async<US4>> v290 #endif #if FABLE_COMPILER_PYTHON let v299 : Async<US4> = null |> unbox<Async<US4>> v299 #endif #else let v308 : bool = true let mutable _v308 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v311 : Async<US4> = null |> unbox<Async<US4>> v311 #endif #if FABLE_COMPILER_RUST && WASM let v320 : Async<US4> = null |> unbox<Async<US4>> v320 #endif #if FABLE_COMPILER_RUST && CONTRACT let v329 : Async<US4> = null |> unbox<Async<US4>> v329 #endif #if FABLE_COMPILER_TYPESCRIPT let v338 : Async<US4> = null |> unbox<Async<US4>> v338 #endif #if FABLE_COMPILER_PYTHON let v347 : Async<US4> = null |> unbox<Async<US4>> v347 #endif #else let v354 : Async<US4> option = None let mutable _v354 = v354 async { let v357 : bool = true let mutable _v357 : Async<Async<bool>> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v360 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v360 #endif #if FABLE_COMPILER_RUST && WASM let v369 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v369 #endif #if FABLE_COMPILER_RUST && CONTRACT let v378 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v378 #endif #if FABLE_COMPILER_TYPESCRIPT let v387 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v387 #endif #if FABLE_COMPILER_PYTHON let v396 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v396 #endif #else let v403 : Async<Async<bool>> = Async.StartChild (v243, v0) v403 #endif |> fun x -> _v357 <- Some x let v404 : Async<Async<bool>> = match _v357 with Some x -> x | None -> failwith "base.run_target / _v357=None" let! v404 = v404 let v419 : Async<bool> = v404 let v422 : bool = true let mutable _v422 : Async<Choice<bool, exn>> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v425 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v425 #endif #if FABLE_COMPILER_RUST && WASM let v434 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v434 #endif #if FABLE_COMPILER_RUST && CONTRACT let v443 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v443 #endif #if FABLE_COMPILER_TYPESCRIPT let v452 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v452 #endif #if FABLE_COMPILER_PYTHON let v461 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v461 #endif #else let v468 : (Async<bool> -> Async<Choice<bool, exn>>) = Async.Catch let v469 : Async<Choice<bool, exn>> = v468 v419 v469 #endif |> fun x -> _v422 <- Some x let v470 : Async<Choice<bool, exn>> = match _v422 with Some x -> x | None -> failwith "base.run_target / _v422=None" let v487 : bool = true let mutable _v487 : Async<US5> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v490 : Async<US5> = null |> unbox<Async<US5>> v490 #endif #if FABLE_COMPILER_RUST && WASM let v499 : Async<US5> = null |> unbox<Async<US5>> v499 #endif #if FABLE_COMPILER_RUST && CONTRACT let v508 : Async<US5> = null |> unbox<Async<US5>> v508 #endif #if FABLE_COMPILER_TYPESCRIPT let v517 : Async<US5> = null |> unbox<Async<US5>> v517 #endif #if FABLE_COMPILER_PYTHON let v526 : Async<US5> = null |> unbox<Async<US5>> v526 #endif #else let v533 : Async<US5> option = None let mutable _v533 = v533 async { let! v470 = v470 let v534 : Choice<bool, exn> = v470 let v537 : bool = true let mutable _v537 : US5 option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v540 : US5 = null |> unbox<US5> v540 #endif #if FABLE_COMPILER_RUST && WASM let v549 : US5 = null |> unbox<US5> v549 #endif #if FABLE_COMPILER_RUST && CONTRACT let v558 : US5 = null |> unbox<US5> v558 #endif #if FABLE_COMPILER_TYPESCRIPT let v567 : US5 = null |> unbox<US5> v567 #endif #if FABLE_COMPILER_PYTHON let v576 : US5 = null |> unbox<US5> v576 #endif #else let v583 : (bool -> US5) = closure10() let v584 : (exn -> US5) = closure11() let v585 : US5 = match v534 with Choice1Of2 x -> v583 x | Choice2Of2 x -> v584 x v585 #endif |> fun x -> _v537 <- Some x let v586 : US5 = match _v537 with Some x -> x | None -> failwith "base.run_target / _v537=None" return v586 } |> fun x -> _v533 <- Some x let v601 : Async<US5> = match _v533 with Some x -> x | None -> failwith "async.new_async_unit / _v533=None" v601 #endif |> fun x -> _v487 <- Some x let v602 : Async<US5> = match _v487 with Some x -> x | None -> failwith "base.run_target / _v487=None" let v619 : bool = true let mutable _v619 : Async<US6> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v622 : Async<US6> = null |> unbox<Async<US6>> v622 #endif #if FABLE_COMPILER_RUST && WASM let v631 : Async<US6> = null |> unbox<Async<US6>> v631 #endif #if FABLE_COMPILER_RUST && CONTRACT let v640 : Async<US6> = null |> unbox<Async<US6>> v640 #endif #if FABLE_COMPILER_TYPESCRIPT let v649 : Async<US6> = null |> unbox<Async<US6>> v649 #endif #if FABLE_COMPILER_PYTHON let v658 : Async<US6> = null |> unbox<Async<US6>> v658 #endif #else let v665 : Async<US6> option = None let mutable _v665 = v665 async { let! v602 = v602 let v666 : US5 = v602 let v672 : US6 = match v666 with | US5_0(v667) -> (* C1of2 *) US6_0(v667) | US5_1(v669) -> (* C2of2 *) US6_1(v669) return v672 } |> fun x -> _v665 <- Some x let v673 : Async<US6> = match _v665 with Some x -> x | None -> failwith "async.new_async_unit / _v665=None" v673 #endif |> fun x -> _v619 <- Some x let v674 : Async<US6> = match _v619 with Some x -> x | None -> failwith "base.run_target / _v619=None" let v691 : bool = true let mutable _v691 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v694 : Async<US4> = null |> unbox<Async<US4>> v694 #endif #if FABLE_COMPILER_RUST && WASM let v703 : Async<US4> = null |> unbox<Async<US4>> v703 #endif #if FABLE_COMPILER_RUST && CONTRACT let v712 : Async<US4> = null |> unbox<Async<US4>> v712 #endif #if FABLE_COMPILER_TYPESCRIPT let v721 : Async<US4> = null |> unbox<Async<US4>> v721 #endif #if FABLE_COMPILER_PYTHON let v730 : Async<US4> = null |> unbox<Async<US4>> v730 #endif #else let v737 : Async<US4> option = None let mutable _v737 = v737 async { let! v674 = v674 let v738 : US6 = v674 let v771 : US4 = match v738 with | US6_1(v741) -> (* Error *) let v744 : string = $"%A{v741}" let v753 : string = "System.TimeoutException" let v754 : bool = v744.Contains v753 if v754 then let v761 : US0 = US0_0 let v762 : (unit -> string) = closure12() let v763 : (unit -> int32) = closure13(v0) method14(v761, v762, v763) US4_1 else let v765 : US0 = US0_4 let v766 : (unit -> string) = closure15() let v767 : (unit -> struct (int32 * string)) = closure16(v0, v741) method16(v765, v766, v767) US4_1 | US6_0(v739) -> (* Ok *) US4_0(v739) return v771 } |> fun x -> _v737 <- Some x let v772 : Async<US4> = match _v737 with Some x -> x | None -> failwith "async.new_async_unit / _v737=None" v772 #endif |> fun x -> _v691 <- Some x let v773 : Async<US4> = match _v691 with Some x -> x | None -> failwith "base.run_target / _v691=None" return! v773 } |> fun x -> _v354 <- Some x let v788 : Async<US4> = match _v354 with Some x -> x | None -> failwith "async.new_async_unit / _v354=None" v788 #endif |> fun x -> _v308 <- Some x let v789 : Async<US4> = match _v308 with Some x -> x | None -> failwith "base.run_target / _v308=None" v789 #endif |> fun x -> _v260 <- Some x let v804 : Async<US4> = match _v260 with Some x -> x | None -> failwith "base.run_target / _v260=None" let! v804 = v804 let v819 : US4 = v804 let v822 : bool = match v819 with | US4_1 -> (* None *) false | US4_0(v820) -> (* Some *) v820 return v822 } |> fun x -> _v51 <- Some x let v823 : Async<bool> = match _v51 with Some x -> x | None -> failwith "async.new_async_unit / _v51=None" v823 #endif |> fun x -> _v5 <- Some x let v824 : Async<bool> = match _v5 with Some x -> x | None -> failwith "base.run_target / _v5=None" v824 and closure8 (v0 : int32) (v1 : string) : (int32 -> Async<bool>) = closure9(v0, v1) and closure7 () (v0 : int32) : (string -> (int32 -> Async<bool>)) = closure8(v0) and closure22 () () : string = let v0 : string = "networking.wait_for_port_access" v0 and closure23 (v0 : int32 option, v1 : bool, v2 : int32, v3 : int64) () : struct (int32 * int64 * int32 option * bool) = struct (v2, v3, v0, v1) and method21 (v0 : Mut4, v1 : int64) : unit = let v4 : string = $"{v1}" let v11 : string = v0.l0 let v12 : string = v11 + v4 v0.l0 <- v12 () and method22 (v0 : Mut4, v1 : int32 option) : unit = let v4 : string = $"%A{v1}" method10(v0, v4) and method23 (v0 : Mut4, v1 : bool) : unit = let v4 : string = if v1 then let v2 : string = "true" v2 else let v3 : string = "false" v3 let v7 : string = $"{v4}" let v14 : string = v0.l0 let v15 : string = v14 + v7 v0.l0 <- v15 () and method20 (v0 : Mut4, v1 : int32, v2 : int64, v3 : int32 option, v4 : bool) : unit = let v5 : string = "{ " method10(v0, v5) method11(v0) let v6 : string = "port" method10(v0, v6) let v7 : string = " = " method10(v0, v7) method12(v0, v1) let v8 : string = "; " method10(v0, v8) let v9 : string = "retry" method10(v0, v9) method10(v0, v7) method21(v0, v2) method10(v0, v8) let v10 : string = "timeout" method10(v0, v10) method10(v0, v7) method22(v0, v3) method10(v0, v8) let v11 : string = "status" method10(v0, v11) method10(v0, v7) method23(v0, v4) let v12 : string = " }" method10(v0, v12) and closure24 (v0 : US0, v1 : (unit -> string), v2 : (unit -> struct (int32 * int64 * int32 option * bool))) () : string = let v5 : (US0 -> struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option)) = closure0() let v6 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v5 v6 |> Some let struct (v14 : Mut0, v15 : Mut1, v16 : Mut2, v17 : Mut3, v18 : int64 option) = State.trace_state.Value let v35 : bool = true let mutable _v35 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v38 : US2 option = None let _v38 = ref v38 match v18 with | Some x -> ( (fun () -> (fun () -> let v39 : int64 = x let v40 : US2 = US2_0(v39) v40 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v38.Value <- x let v41 : US2 option = _v38.Value let v64 : US2 = US2_1 let v65 : US2 = v41 |> Option.defaultValue v64 let v163 : System.DateTime = match v65 with | US2_1 -> (* None *) let v155 : System.DateTime = System.DateTime.Now v155 | US2_0(v73) -> (* Some *) let v76 : System.DateTime = System.DateTime.Now let v85 : (System.DateTime -> int64) = _.Ticks let v86 : int64 = v85 v76 let v93 : int64 = v86 - v73 let v96 : (int64 -> System.TimeSpan) = System.TimeSpan let v97 : System.TimeSpan = v96 v93 let v106 : (System.TimeSpan -> int32) = _.Hours let v107 : int32 = v106 v97 let v116 : (System.TimeSpan -> int32) = _.Minutes let v117 : int32 = v116 v97 let v126 : (System.TimeSpan -> int32) = _.Seconds let v127 : int32 = v126 v97 let v136 : (System.TimeSpan -> int32) = _.Milliseconds let v137 : int32 = v136 v97 let v146 : System.DateTime = System.DateTime (1, 1, 1, v107, v117, v127, v137) v146 let v166 : string = method5() let v175 : (string -> string) = v163.ToString let v176 : string = v175 v166 v176 #endif #if FABLE_COMPILER_RUST && WASM let v185 : US2 option = None let _v185 = ref v185 match v18 with | Some x -> ( (fun () -> (fun () -> let v186 : int64 = x let v187 : US2 = US2_0(v186) v187 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v185.Value <- x let v188 : US2 option = _v185.Value let v211 : US2 = US2_1 let v212 : US2 = v188 |> Option.defaultValue v211 let v310 : System.DateTime = match v212 with | US2_1 -> (* None *) let v302 : System.DateTime = System.DateTime.Now v302 | US2_0(v220) -> (* Some *) let v223 : System.DateTime = System.DateTime.Now let v232 : (System.DateTime -> int64) = _.Ticks let v233 : int64 = v232 v223 let v240 : int64 = v233 - v220 let v243 : (int64 -> System.TimeSpan) = System.TimeSpan let v244 : System.TimeSpan = v243 v240 let v253 : (System.TimeSpan -> int32) = _.Hours let v254 : int32 = v253 v244 let v263 : (System.TimeSpan -> int32) = _.Minutes let v264 : int32 = v263 v244 let v273 : (System.TimeSpan -> int32) = _.Seconds let v274 : int32 = v273 v244 let v283 : (System.TimeSpan -> int32) = _.Milliseconds let v284 : int32 = v283 v244 let v293 : System.DateTime = System.DateTime (1, 1, 1, v254, v264, v274, v284) v293 let v313 : string = method5() let v322 : (string -> string) = v310.ToString let v323 : string = v322 v313 v323 #endif #if FABLE_COMPILER_RUST && CONTRACT let v330 : string = method6() v330 #endif #if FABLE_COMPILER_TYPESCRIPT let v333 : US2 option = None let _v333 = ref v333 match v18 with | Some x -> ( (fun () -> (fun () -> let v334 : int64 = x let v335 : US2 = US2_0(v334) v335 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v333.Value <- x let v336 : US2 option = _v333.Value let v359 : US2 = US2_1 let v360 : US2 = v336 |> Option.defaultValue v359 let v458 : System.DateTime = match v360 with | US2_1 -> (* None *) let v450 : System.DateTime = System.DateTime.Now v450 | US2_0(v368) -> (* Some *) let v371 : System.DateTime = System.DateTime.Now let v380 : (System.DateTime -> int64) = _.Ticks let v381 : int64 = v380 v371 let v388 : int64 = v381 - v368 let v391 : (int64 -> System.TimeSpan) = System.TimeSpan let v392 : System.TimeSpan = v391 v388 let v401 : (System.TimeSpan -> int32) = _.Hours let v402 : int32 = v401 v392 let v411 : (System.TimeSpan -> int32) = _.Minutes let v412 : int32 = v411 v392 let v421 : (System.TimeSpan -> int32) = _.Seconds let v422 : int32 = v421 v392 let v431 : (System.TimeSpan -> int32) = _.Milliseconds let v432 : int32 = v431 v392 let v441 : System.DateTime = System.DateTime (1, 1, 1, v402, v412, v422, v432) v441 let v461 : string = method7() let v470 : (string -> string) = v458.ToString let v471 : string = v470 v461 v471 #endif #if FABLE_COMPILER_PYTHON let v480 : US2 option = None let _v480 = ref v480 match v18 with | Some x -> ( (fun () -> (fun () -> let v481 : int64 = x let v482 : US2 = US2_0(v481) v482 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v480.Value <- x let v483 : US2 option = _v480.Value let v506 : US2 = US2_1 let v507 : US2 = v483 |> Option.defaultValue v506 let v605 : System.DateTime = match v507 with | US2_1 -> (* None *) let v597 : System.DateTime = System.DateTime.Now v597 | US2_0(v515) -> (* Some *) let v518 : System.DateTime = System.DateTime.Now let v527 : (System.DateTime -> int64) = _.Ticks let v528 : int64 = v527 v518 let v535 : int64 = v528 - v515 let v538 : (int64 -> System.TimeSpan) = System.TimeSpan let v539 : System.TimeSpan = v538 v535 let v548 : (System.TimeSpan -> int32) = _.Hours let v549 : int32 = v548 v539 let v558 : (System.TimeSpan -> int32) = _.Minutes let v559 : int32 = v558 v539 let v568 : (System.TimeSpan -> int32) = _.Seconds let v569 : int32 = v568 v539 let v578 : (System.TimeSpan -> int32) = _.Milliseconds let v579 : int32 = v578 v539 let v588 : System.DateTime = System.DateTime (1, 1, 1, v549, v559, v569, v579) v588 let v608 : string = method7() let v617 : (string -> string) = v605.ToString let v618 : string = v617 v608 v618 #endif #else let v627 : US2 option = None let _v627 = ref v627 match v18 with | Some x -> ( (fun () -> (fun () -> let v628 : int64 = x let v629 : US2 = US2_0(v628) v629 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v627.Value <- x let v630 : US2 option = _v627.Value let v653 : US2 = US2_1 let v654 : US2 = v630 |> Option.defaultValue v653 let v752 : System.DateTime = match v654 with | US2_1 -> (* None *) let v744 : System.DateTime = System.DateTime.Now v744 | US2_0(v662) -> (* Some *) let v665 : System.DateTime = System.DateTime.Now let v674 : (System.DateTime -> int64) = _.Ticks let v675 : int64 = v674 v665 let v682 : int64 = v675 - v662 let v685 : (int64 -> System.TimeSpan) = System.TimeSpan let v686 : System.TimeSpan = v685 v682 let v695 : (System.TimeSpan -> int32) = _.Hours let v696 : int32 = v695 v686 let v705 : (System.TimeSpan -> int32) = _.Minutes let v706 : int32 = v705 v686 let v715 : (System.TimeSpan -> int32) = _.Seconds let v716 : int32 = v715 v686 let v725 : (System.TimeSpan -> int32) = _.Milliseconds let v726 : int32 = v725 v686 let v735 : System.DateTime = System.DateTime (1, 1, 1, v696, v706, v716, v726) v735 let v755 : string = method7() let v764 : (string -> string) = v752.ToString let v765 : string = v764 v755 v765 #endif |> fun x -> _v35 <- Some x let v772 : string = match _v35 with Some x -> x | None -> failwith "base.run_target / _v35=None" let v927 : bool = match v0 with | US0_0 -> (* Verbose *) true | _ -> false let v931 : US3 = if v927 then let v928 : string = "Verbose" US3_0(v928) else US3_1 let v980 : US3 = match v931 with | US3_1 -> (* None *) let v936 : bool = match v0 with | US0_1 -> (* Debug *) true | _ -> false let v940 : US3 = if v936 then let v937 : string = "Debug" US3_0(v937) else US3_1 match v940 with | US3_1 -> (* None *) let v945 : bool = match v0 with | US0_2 -> (* Info *) true | _ -> false let v949 : US3 = if v945 then let v946 : string = "Info" US3_0(v946) else US3_1 match v949 with | US3_1 -> (* None *) let v954 : bool = match v0 with | US0_3 -> (* Warning *) true | _ -> false let v958 : US3 = if v954 then let v955 : string = "Warning" US3_0(v955) else US3_1 match v958 with | US3_1 -> (* None *) let v963 : bool = match v0 with | US0_4 -> (* Critical *) true | _ -> false let v967 : US3 = if v963 then let v964 : string = "Critical" US3_0(v964) else US3_1 match v967 with | US3_1 -> (* None *) US3_1 | US3_0(v968) -> (* Some *) US3_0(v968) | US3_0(v959) -> (* Some *) US3_0(v959) | US3_0(v950) -> (* Some *) US3_0(v950) | US3_0(v941) -> (* Some *) US3_0(v941) | US3_0(v932) -> (* Some *) US3_0(v932) let v984 : string = match v980 with | US3_1 -> (* None *) failwith<string> "Option does not have a value." | US3_0(v981) -> (* Some *) v981 let v987 : (unit -> string) = v984.ToLower let v988 : string = v987 () let v997 : string = v988.PadLeft (7, ' ') let v1029 : bool = true let mutable _v1029 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v1044 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1038 : string = "inline_colorization::color_bright_red" let v1039 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1038 v1039 | US0_1 -> (* Debug *) let v1032 : string = "inline_colorization::color_bright_blue" let v1033 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1032 v1033 | US0_2 -> (* Info *) let v1034 : string = "inline_colorization::color_bright_green" let v1035 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1034 v1035 | US0_0 -> (* Verbose *) let v1030 : string = "inline_colorization::color_bright_black" let v1031 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1030 v1031 | US0_3 -> (* Warning *) let v1036 : string = "inline_colorization::color_yellow" let v1037 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1036 v1037 let v1045 : string = "&*$0" let v1046 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1045 let v1047 : string = "inline_colorization::color_reset" let v1048 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1047 let v1049 : string = "\"{v1044}{v1046}{v1048}\"" let v1050 : string = @$"format!(" + v1049 + ")" let v1051 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1050 let v1052 : string = "fable_library_rust::String_::fromString($0)" let v1053 : string = Fable.Core.RustInterop.emitRustExpr v1051 v1052 v1053 #endif #if FABLE_COMPILER_RUST && WASM let v1068 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1062 : string = "inline_colorization::color_bright_red" let v1063 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1062 v1063 | US0_1 -> (* Debug *) let v1056 : string = "inline_colorization::color_bright_blue" let v1057 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1056 v1057 | US0_2 -> (* Info *) let v1058 : string = "inline_colorization::color_bright_green" let v1059 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1058 v1059 | US0_0 -> (* Verbose *) let v1054 : string = "inline_colorization::color_bright_black" let v1055 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1054 v1055 | US0_3 -> (* Warning *) let v1060 : string = "inline_colorization::color_yellow" let v1061 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1060 v1061 let v1069 : string = "&*$0" let v1070 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1069 let v1071 : string = "inline_colorization::color_reset" let v1072 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1071 let v1073 : string = "\"{v1068}{v1070}{v1072}\"" let v1074 : string = @$"format!(" + v1073 + ")" let v1075 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1074 let v1076 : string = "fable_library_rust::String_::fromString($0)" let v1077 : string = Fable.Core.RustInterop.emitRustExpr v1075 v1076 v1077 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1092 : Ref<Str> = match v0 with | US0_4 -> (* Critical *) let v1086 : string = "inline_colorization::color_bright_red" let v1087 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1086 v1087 | US0_1 -> (* Debug *) let v1080 : string = "inline_colorization::color_bright_blue" let v1081 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1080 v1081 | US0_2 -> (* Info *) let v1082 : string = "inline_colorization::color_bright_green" let v1083 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1082 v1083 | US0_0 -> (* Verbose *) let v1078 : string = "inline_colorization::color_bright_black" let v1079 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1078 v1079 | US0_3 -> (* Warning *) let v1084 : string = "inline_colorization::color_yellow" let v1085 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1084 v1085 let v1093 : string = "&*$0" let v1094 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr v997 v1093 let v1095 : string = "inline_colorization::color_reset" let v1096 : Ref<Str> = Fable.Core.RustInterop.emitRustExpr () v1095 let v1097 : string = "\"{v1092}{v1094}{v1096}\"" let v1098 : string = @$"format!(" + v1097 + ")" let v1099 : std_string_String = Fable.Core.RustInterop.emitRustExpr () v1098 let v1100 : string = "fable_library_rust::String_::fromString($0)" let v1101 : string = Fable.Core.RustInterop.emitRustExpr v1099 v1100 v1101 #endif #if FABLE_COMPILER_TYPESCRIPT let v1111 : string = match v0 with | US0_4 -> (* Critical *) let v1106 : string = "\u001b[91m" v1106 | US0_1 -> (* Debug *) let v1103 : string = "\u001b[94m" v1103 | US0_2 -> (* Info *) let v1104 : string = "\u001b[92m" v1104 | US0_0 -> (* Verbose *) let v1102 : string = "\u001b[90m" v1102 | US0_3 -> (* Warning *) let v1105 : string = "\u001b[93m" v1105 let v1112 : string = method8() let v1113 : string = v1111 + v997 let v1114 : string = v1113 + v1112 v1114 #endif #if FABLE_COMPILER_PYTHON let v1124 : string = match v0 with | US0_4 -> (* Critical *) let v1119 : string = "\u001b[91m" v1119 | US0_1 -> (* Debug *) let v1116 : string = "\u001b[94m" v1116 | US0_2 -> (* Info *) let v1117 : string = "\u001b[92m" v1117 | US0_0 -> (* Verbose *) let v1115 : string = "\u001b[90m" v1115 | US0_3 -> (* Warning *) let v1118 : string = "\u001b[93m" v1118 let v1125 : string = method8() let v1126 : string = v1124 + v997 let v1127 : string = v1126 + v1125 v1127 #endif #else let v1137 : string = match v0 with | US0_4 -> (* Critical *) let v1132 : string = "\u001b[91m" v1132 | US0_1 -> (* Debug *) let v1129 : string = "\u001b[94m" v1129 | US0_2 -> (* Info *) let v1130 : string = "\u001b[92m" v1130 | US0_0 -> (* Verbose *) let v1128 : string = "\u001b[90m" v1128 | US0_3 -> (* Warning *) let v1131 : string = "\u001b[93m" v1131 let v1138 : string = method8() let v1139 : string = v1137 + v997 let v1140 : string = v1139 + v1138 v1140 #endif |> fun x -> _v1029 <- Some x let v1141 : string = match _v1029 with Some x -> x | None -> failwith "base.run_target / _v1029=None" let v1160 : int64 = v14.l0 let struct (v1161 : int32, v1162 : int64, v1163 : int32 option, v1164 : bool) = v2 () let v1165 : string = "" let v1166 : Mut4 = {l0 = v1165} : Mut4 method20(v1166, v1161, v1162, v1163, v1164) let v1167 : string = v1166.l0 let v1170 : string = $"{v772} {v1141} #{v1160} %s{v1 ()} / {v1167}" let v1177 : char list = [] let v1182 : (char list -> (char [])) = List.toArray let v1183 : (char []) = v1182 v1177 let v1190 : string = v1170.TrimStart v1183 let v1229 : char list = [] let v1232 : char list = '/' :: v1229 let v1241 : char list = ' ' :: v1232 let v1252 : (char list -> (char [])) = List.toArray let v1253 : (char []) = v1252 v1241 let v1260 : string = v1190.TrimEnd v1253 v1260 and method19 (v0 : US0, v1 : (unit -> string), v2 : (unit -> struct (int32 * int64 * int32 option * bool))) : unit = let v3 : (unit -> string) = closure24(v0, v1, v2) method13(v0, v3) and method18 (v0 : int32 option, v1 : bool, v2 : string, v3 : int32, v4 : int64) : Async<int64> = let v7 : bool = true let mutable _v7 : Async<int64> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v10 : Async<int64> = null |> unbox<Async<int64>> v10 #endif #if FABLE_COMPILER_RUST && WASM let v19 : Async<int64> = null |> unbox<Async<int64>> v19 #endif #if FABLE_COMPILER_RUST && CONTRACT let v28 : Async<int64> = null |> unbox<Async<int64>> v28 #endif #if FABLE_COMPILER_TYPESCRIPT let v37 : Async<int64> = null |> unbox<Async<int64>> v37 #endif #if FABLE_COMPILER_PYTHON let v46 : Async<int64> = null |> unbox<Async<int64>> v46 #endif #else let v53 : Async<int64> option = None let mutable _v53 = v53 async { let v56 : US7 option = None let _v56 = ref v56 match v0 with | Some x -> ( (fun () -> (fun () -> let v57 : int32 = x let v58 : US7 = US7_0(v57) v58 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v56.Value <- x let v59 : US7 option = _v56.Value let v82 : US7 = US7_1 let v83 : US7 = v59 |> Option.defaultValue v82 let v1135 : Async<bool> = match v83 with | US7_1 -> (* None *) let v93 : bool = true let mutable _v93 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v96 : Async<bool> = null |> unbox<Async<bool>> v96 #endif #if FABLE_COMPILER_RUST && WASM let v105 : Async<bool> = null |> unbox<Async<bool>> v105 #endif #if FABLE_COMPILER_RUST && CONTRACT let v114 : Async<bool> = null |> unbox<Async<bool>> v114 #endif #if FABLE_COMPILER_TYPESCRIPT let v123 : Async<bool> = null |> unbox<Async<bool>> v123 #endif #if FABLE_COMPILER_PYTHON let v132 : Async<bool> = null |> unbox<Async<bool>> v132 #endif #else let v139 : Async<bool> option = None let mutable _v139 = v139 async { let v140 : Async<System.Threading.CancellationToken> = Async.CancellationToken let! v140 = v140 let v141 : System.Threading.CancellationToken = v140 let v142 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient () use v142 = v142 let v143 : System.Net.Sockets.TcpClient = v142 try let v144 : System.Threading.Tasks.ValueTask = v143.ConnectAsync (v2, v3, v141) let v145 : (unit -> System.Threading.Tasks.Task) = v144.AsTask let v146 : System.Threading.Tasks.Task = v145 () let v149 : bool = true let mutable _v149 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v152 : Async<unit> = null |> unbox<Async<unit>> v152 #endif #if FABLE_COMPILER_RUST && WASM let v161 : Async<unit> = null |> unbox<Async<unit>> v161 #endif #if FABLE_COMPILER_RUST && CONTRACT let v170 : Async<unit> = null |> unbox<Async<unit>> v170 #endif #if FABLE_COMPILER_TYPESCRIPT let v179 : Async<unit> = null |> unbox<Async<unit>> v179 #endif #if FABLE_COMPILER_PYTHON let v188 : Async<unit> = null |> unbox<Async<unit>> v188 #endif #else let v195 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask let v196 : Async<unit> = v195 v146 v196 #endif |> fun x -> _v149 <- Some x let v197 : Async<unit> = match _v149 with Some x -> x | None -> failwith "base.run_target / _v149=None" do! v197 return true with ex -> let v212 : exn = ex let v215 : bool = true let mutable _v215 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v218 : string = $"%A{v212}" v218 #endif #if FABLE_COMPILER_RUST && WASM let v227 : string = $"%A{v212}" v227 #endif #if FABLE_COMPILER_RUST && CONTRACT let v236 : string = $"%A{v212}" v236 #endif #if FABLE_COMPILER_TYPESCRIPT let v245 : string = $"%A{v212}" v245 #endif #if FABLE_COMPILER_PYTHON let v254 : string = $"%A{v212}" v254 #endif #else let v261 : string = $"{v212.GetType ()}: {v212.Message}" v261 #endif |> fun x -> _v215 <- Some x let v262 : string = match _v215 with Some x -> x | None -> failwith "base.run_target / _v215=None" let v277 : US0 = US0_0 let v278 : (unit -> string) = closure4() let v279 : (unit -> struct (int32 * string)) = closure5(v3, v262) method4(v277, v278, v279) return false (* let v280 : bool = *) } |> fun x -> _v139 <- Some x let v281 : Async<bool> = match _v139 with Some x -> x | None -> failwith "async.new_async_unit / _v139=None" v281 #endif |> fun x -> _v93 <- Some x let v282 : Async<bool> = match _v93 with Some x -> x | None -> failwith "base.run_target / _v93=None" v282 | US7_0(v297) -> (* Some *) let v300 : bool = true let mutable _v300 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v303 : Async<bool> = null |> unbox<Async<bool>> v303 #endif #if FABLE_COMPILER_RUST && WASM let v312 : Async<bool> = null |> unbox<Async<bool>> v312 #endif #if FABLE_COMPILER_RUST && CONTRACT let v321 : Async<bool> = null |> unbox<Async<bool>> v321 #endif #if FABLE_COMPILER_TYPESCRIPT let v330 : Async<bool> = null |> unbox<Async<bool>> v330 #endif #if FABLE_COMPILER_PYTHON let v339 : Async<bool> = null |> unbox<Async<bool>> v339 #endif #else let v346 : Async<bool> option = None let mutable _v346 = v346 async { let v349 : bool = true let mutable _v349 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v352 : Async<bool> = null |> unbox<Async<bool>> v352 #endif #if FABLE_COMPILER_RUST && WASM let v361 : Async<bool> = null |> unbox<Async<bool>> v361 #endif #if FABLE_COMPILER_RUST && CONTRACT let v370 : Async<bool> = null |> unbox<Async<bool>> v370 #endif #if FABLE_COMPILER_TYPESCRIPT let v379 : Async<bool> = null |> unbox<Async<bool>> v379 #endif #if FABLE_COMPILER_PYTHON let v388 : Async<bool> = null |> unbox<Async<bool>> v388 #endif #else let v395 : Async<bool> option = None let mutable _v395 = v395 async { let v396 : Async<System.Threading.CancellationToken> = Async.CancellationToken let! v396 = v396 let v397 : System.Threading.CancellationToken = v396 let v398 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient () use v398 = v398 let v399 : System.Net.Sockets.TcpClient = v398 try let v400 : System.Threading.Tasks.ValueTask = v399.ConnectAsync (v2, v3, v397) let v401 : (unit -> System.Threading.Tasks.Task) = v400.AsTask let v402 : System.Threading.Tasks.Task = v401 () let v405 : bool = true let mutable _v405 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v408 : Async<unit> = null |> unbox<Async<unit>> v408 #endif #if FABLE_COMPILER_RUST && WASM let v417 : Async<unit> = null |> unbox<Async<unit>> v417 #endif #if FABLE_COMPILER_RUST && CONTRACT let v426 : Async<unit> = null |> unbox<Async<unit>> v426 #endif #if FABLE_COMPILER_TYPESCRIPT let v435 : Async<unit> = null |> unbox<Async<unit>> v435 #endif #if FABLE_COMPILER_PYTHON let v444 : Async<unit> = null |> unbox<Async<unit>> v444 #endif #else let v451 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask let v452 : Async<unit> = v451 v402 v452 #endif |> fun x -> _v405 <- Some x let v453 : Async<unit> = match _v405 with Some x -> x | None -> failwith "base.run_target / _v405=None" do! v453 return true with ex -> let v468 : exn = ex let v471 : bool = true let mutable _v471 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v474 : string = $"%A{v468}" v474 #endif #if FABLE_COMPILER_RUST && WASM let v483 : string = $"%A{v468}" v483 #endif #if FABLE_COMPILER_RUST && CONTRACT let v492 : string = $"%A{v468}" v492 #endif #if FABLE_COMPILER_TYPESCRIPT let v501 : string = $"%A{v468}" v501 #endif #if FABLE_COMPILER_PYTHON let v510 : string = $"%A{v468}" v510 #endif #else let v517 : string = $"{v468.GetType ()}: {v468.Message}" v517 #endif |> fun x -> _v471 <- Some x let v518 : string = match _v471 with Some x -> x | None -> failwith "base.run_target / _v471=None" let v533 : US0 = US0_0 let v534 : (unit -> string) = closure4() let v535 : (unit -> struct (int32 * string)) = closure5(v3, v518) method4(v533, v534, v535) return false (* let v536 : bool = *) } |> fun x -> _v395 <- Some x let v537 : Async<bool> = match _v395 with Some x -> x | None -> failwith "async.new_async_unit / _v395=None" v537 #endif |> fun x -> _v349 <- Some x let v538 : Async<bool> = match _v349 with Some x -> x | None -> failwith "base.run_target / _v349=None" let v555 : bool = true let mutable _v555 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v558 : Async<US4> = null |> unbox<Async<US4>> v558 #endif #if FABLE_COMPILER_RUST && WASM let v567 : Async<US4> = null |> unbox<Async<US4>> v567 #endif #if FABLE_COMPILER_RUST && CONTRACT let v576 : Async<US4> = null |> unbox<Async<US4>> v576 #endif #if FABLE_COMPILER_TYPESCRIPT let v585 : Async<US4> = null |> unbox<Async<US4>> v585 #endif #if FABLE_COMPILER_PYTHON let v594 : Async<US4> = null |> unbox<Async<US4>> v594 #endif #else let v603 : bool = true let mutable _v603 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v606 : Async<US4> = null |> unbox<Async<US4>> v606 #endif #if FABLE_COMPILER_RUST && WASM let v615 : Async<US4> = null |> unbox<Async<US4>> v615 #endif #if FABLE_COMPILER_RUST && CONTRACT let v624 : Async<US4> = null |> unbox<Async<US4>> v624 #endif #if FABLE_COMPILER_TYPESCRIPT let v633 : Async<US4> = null |> unbox<Async<US4>> v633 #endif #if FABLE_COMPILER_PYTHON let v642 : Async<US4> = null |> unbox<Async<US4>> v642 #endif #else let v649 : Async<US4> option = None let mutable _v649 = v649 async { let v652 : bool = true let mutable _v652 : Async<Async<bool>> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v655 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v655 #endif #if FABLE_COMPILER_RUST && WASM let v664 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v664 #endif #if FABLE_COMPILER_RUST && CONTRACT let v673 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v673 #endif #if FABLE_COMPILER_TYPESCRIPT let v682 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v682 #endif #if FABLE_COMPILER_PYTHON let v691 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v691 #endif #else let v698 : Async<Async<bool>> = Async.StartChild (v538, v297) v698 #endif |> fun x -> _v652 <- Some x let v699 : Async<Async<bool>> = match _v652 with Some x -> x | None -> failwith "base.run_target / _v652=None" let! v699 = v699 let v714 : Async<bool> = v699 let v717 : bool = true let mutable _v717 : Async<Choice<bool, exn>> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v720 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v720 #endif #if FABLE_COMPILER_RUST && WASM let v729 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v729 #endif #if FABLE_COMPILER_RUST && CONTRACT let v738 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v738 #endif #if FABLE_COMPILER_TYPESCRIPT let v747 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v747 #endif #if FABLE_COMPILER_PYTHON let v756 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v756 #endif #else let v763 : (Async<bool> -> Async<Choice<bool, exn>>) = Async.Catch let v764 : Async<Choice<bool, exn>> = v763 v714 v764 #endif |> fun x -> _v717 <- Some x let v765 : Async<Choice<bool, exn>> = match _v717 with Some x -> x | None -> failwith "base.run_target / _v717=None" let v782 : bool = true let mutable _v782 : Async<US5> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v785 : Async<US5> = null |> unbox<Async<US5>> v785 #endif #if FABLE_COMPILER_RUST && WASM let v794 : Async<US5> = null |> unbox<Async<US5>> v794 #endif #if FABLE_COMPILER_RUST && CONTRACT let v803 : Async<US5> = null |> unbox<Async<US5>> v803 #endif #if FABLE_COMPILER_TYPESCRIPT let v812 : Async<US5> = null |> unbox<Async<US5>> v812 #endif #if FABLE_COMPILER_PYTHON let v821 : Async<US5> = null |> unbox<Async<US5>> v821 #endif #else let v828 : Async<US5> option = None let mutable _v828 = v828 async { let! v765 = v765 let v829 : Choice<bool, exn> = v765 let v832 : bool = true let mutable _v832 : US5 option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v835 : US5 = null |> unbox<US5> v835 #endif #if FABLE_COMPILER_RUST && WASM let v844 : US5 = null |> unbox<US5> v844 #endif #if FABLE_COMPILER_RUST && CONTRACT let v853 : US5 = null |> unbox<US5> v853 #endif #if FABLE_COMPILER_TYPESCRIPT let v862 : US5 = null |> unbox<US5> v862 #endif #if FABLE_COMPILER_PYTHON let v871 : US5 = null |> unbox<US5> v871 #endif #else let v878 : (bool -> US5) = closure10() let v879 : (exn -> US5) = closure11() let v880 : US5 = match v829 with Choice1Of2 x -> v878 x | Choice2Of2 x -> v879 x v880 #endif |> fun x -> _v832 <- Some x let v881 : US5 = match _v832 with Some x -> x | None -> failwith "base.run_target / _v832=None" return v881 } |> fun x -> _v828 <- Some x let v896 : Async<US5> = match _v828 with Some x -> x | None -> failwith "async.new_async_unit / _v828=None" v896 #endif |> fun x -> _v782 <- Some x let v897 : Async<US5> = match _v782 with Some x -> x | None -> failwith "base.run_target / _v782=None" let v914 : bool = true let mutable _v914 : Async<US6> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v917 : Async<US6> = null |> unbox<Async<US6>> v917 #endif #if FABLE_COMPILER_RUST && WASM let v926 : Async<US6> = null |> unbox<Async<US6>> v926 #endif #if FABLE_COMPILER_RUST && CONTRACT let v935 : Async<US6> = null |> unbox<Async<US6>> v935 #endif #if FABLE_COMPILER_TYPESCRIPT let v944 : Async<US6> = null |> unbox<Async<US6>> v944 #endif #if FABLE_COMPILER_PYTHON let v953 : Async<US6> = null |> unbox<Async<US6>> v953 #endif #else let v960 : Async<US6> option = None let mutable _v960 = v960 async { let! v897 = v897 let v961 : US5 = v897 let v967 : US6 = match v961 with | US5_0(v962) -> (* C1of2 *) US6_0(v962) | US5_1(v964) -> (* C2of2 *) US6_1(v964) return v967 } |> fun x -> _v960 <- Some x let v968 : Async<US6> = match _v960 with Some x -> x | None -> failwith "async.new_async_unit / _v960=None" v968 #endif |> fun x -> _v914 <- Some x let v969 : Async<US6> = match _v914 with Some x -> x | None -> failwith "base.run_target / _v914=None" let v986 : bool = true let mutable _v986 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v989 : Async<US4> = null |> unbox<Async<US4>> v989 #endif #if FABLE_COMPILER_RUST && WASM let v998 : Async<US4> = null |> unbox<Async<US4>> v998 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1007 : Async<US4> = null |> unbox<Async<US4>> v1007 #endif #if FABLE_COMPILER_TYPESCRIPT let v1016 : Async<US4> = null |> unbox<Async<US4>> v1016 #endif #if FABLE_COMPILER_PYTHON let v1025 : Async<US4> = null |> unbox<Async<US4>> v1025 #endif #else let v1032 : Async<US4> option = None let mutable _v1032 = v1032 async { let! v969 = v969 let v1033 : US6 = v969 let v1066 : US4 = match v1033 with | US6_1(v1036) -> (* Error *) let v1039 : string = $"%A{v1036}" let v1048 : string = "System.TimeoutException" let v1049 : bool = v1039.Contains v1048 if v1049 then let v1056 : US0 = US0_0 let v1057 : (unit -> string) = closure12() let v1058 : (unit -> int32) = closure13(v297) method14(v1056, v1057, v1058) US4_1 else let v1060 : US0 = US0_4 let v1061 : (unit -> string) = closure15() let v1062 : (unit -> struct (int32 * string)) = closure16(v297, v1036) method16(v1060, v1061, v1062) US4_1 | US6_0(v1034) -> (* Ok *) US4_0(v1034) return v1066 } |> fun x -> _v1032 <- Some x let v1067 : Async<US4> = match _v1032 with Some x -> x | None -> failwith "async.new_async_unit / _v1032=None" v1067 #endif |> fun x -> _v986 <- Some x let v1068 : Async<US4> = match _v986 with Some x -> x | None -> failwith "base.run_target / _v986=None" return! v1068 } |> fun x -> _v649 <- Some x let v1083 : Async<US4> = match _v649 with Some x -> x | None -> failwith "async.new_async_unit / _v649=None" v1083 #endif |> fun x -> _v603 <- Some x let v1084 : Async<US4> = match _v603 with Some x -> x | None -> failwith "base.run_target / _v603=None" v1084 #endif |> fun x -> _v555 <- Some x let v1099 : Async<US4> = match _v555 with Some x -> x | None -> failwith "base.run_target / _v555=None" let! v1099 = v1099 let v1114 : US4 = v1099 let v1117 : bool = match v1114 with | US4_1 -> (* None *) false | US4_0(v1115) -> (* Some *) v1115 return v1117 } |> fun x -> _v346 <- Some x let v1118 : Async<bool> = match _v346 with Some x -> x | None -> failwith "async.new_async_unit / _v346=None" v1118 #endif |> fun x -> _v300 <- Some x let v1119 : Async<bool> = match _v300 with Some x -> x | None -> failwith "base.run_target / _v300=None" v1119 let! v1135 = v1135 let v1136 : bool = v1135 let v1137 : bool = v1136 = v1 if v1137 then return v4 (* () else *) else let v1138 : int64 = v4 % 100L let v1139 : bool = v1138 = 0L if v1139 then let v1140 : US0 = US0_0 let v1141 : (unit -> string) = closure22() let v1142 : (unit -> struct (int32 * int64 * int32 option * bool)) = closure23(v0, v1, v3, v4) method19(v1140, v1141, v1142) let v1145 : bool = true let mutable _v1145 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v1148 : Async<unit> = null |> unbox<Async<unit>> v1148 #endif #if FABLE_COMPILER_RUST && WASM let v1157 : Async<unit> = null |> unbox<Async<unit>> v1157 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1166 : Async<unit> = null |> unbox<Async<unit>> v1166 #endif #if FABLE_COMPILER_TYPESCRIPT let v1175 : Async<unit> = null |> unbox<Async<unit>> v1175 #endif #if FABLE_COMPILER_PYTHON let v1184 : Async<unit> = null |> unbox<Async<unit>> v1184 #endif #else let v1191 : (int32 -> Async<unit>) = Async.Sleep let v1192 : Async<unit> = v1191 10 v1192 #endif |> fun x -> _v1145 <- Some x let v1193 : Async<unit> = match _v1145 with Some x -> x | None -> failwith "base.run_target / _v1145=None" do! v1193 let v1208 : int64 = v4 + 1L let v1209 : Async<int64> = method18(v0, v1, v2, v3, v1208) return! v1209 (* () *) } |> fun x -> _v53 <- Some x let v1210 : Async<int64> = match _v53 with Some x -> x | None -> failwith "async.new_async_unit / _v53=None" v1210 #endif |> fun x -> _v7 <- Some x let v1211 : Async<int64> = match _v7 with Some x -> x | None -> failwith "base.run_target / _v7=None" v1211 and closure21 (v0 : int32 option, v1 : bool, v2 : string) (v3 : int32) : Async<int64> = let v4 : int64 = 0L method18(v0, v1, v2, v3, v4) and closure20 (v0 : int32 option, v1 : bool) (v2 : string) : (int32 -> Async<int64>) = closure21(v0, v1, v2) and closure19 (v0 : int32 option) (v1 : bool) : (string -> (int32 -> Async<int64>)) = closure20(v0, v1) and closure18 () (v0 : int32 option) : (bool -> (string -> (int32 -> Async<int64>))) = closure19(v0) and method24 (v0 : int32 option, v1 : string, v2 : int32) : Async<int32> = let v5 : bool = true let mutable _v5 : Async<int32> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v8 : Async<int32> = null |> unbox<Async<int32>> v8 #endif #if FABLE_COMPILER_RUST && WASM let v17 : Async<int32> = null |> unbox<Async<int32>> v17 #endif #if FABLE_COMPILER_RUST && CONTRACT let v26 : Async<int32> = null |> unbox<Async<int32>> v26 #endif #if FABLE_COMPILER_TYPESCRIPT let v35 : Async<int32> = null |> unbox<Async<int32>> v35 #endif #if FABLE_COMPILER_PYTHON let v44 : Async<int32> = null |> unbox<Async<int32>> v44 #endif #else let v51 : Async<int32> option = None let mutable _v51 = v51 async { let v54 : US7 option = None let _v54 = ref v54 match v0 with | Some x -> ( (fun () -> (fun () -> let v55 : int32 = x let v56 : US7 = US7_0(v55) v56 ) |> fun x -> x () |> Some ) () ) | None -> None |> fun x -> _v54.Value <- x let v57 : US7 option = _v54.Value let v80 : US7 = US7_1 let v81 : US7 = v57 |> Option.defaultValue v80 let v1133 : Async<bool> = match v81 with | US7_1 -> (* None *) let v91 : bool = true let mutable _v91 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v94 : Async<bool> = null |> unbox<Async<bool>> v94 #endif #if FABLE_COMPILER_RUST && WASM let v103 : Async<bool> = null |> unbox<Async<bool>> v103 #endif #if FABLE_COMPILER_RUST && CONTRACT let v112 : Async<bool> = null |> unbox<Async<bool>> v112 #endif #if FABLE_COMPILER_TYPESCRIPT let v121 : Async<bool> = null |> unbox<Async<bool>> v121 #endif #if FABLE_COMPILER_PYTHON let v130 : Async<bool> = null |> unbox<Async<bool>> v130 #endif #else let v137 : Async<bool> option = None let mutable _v137 = v137 async { let v138 : Async<System.Threading.CancellationToken> = Async.CancellationToken let! v138 = v138 let v139 : System.Threading.CancellationToken = v138 let v140 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient () use v140 = v140 let v141 : System.Net.Sockets.TcpClient = v140 try let v142 : System.Threading.Tasks.ValueTask = v141.ConnectAsync (v1, v2, v139) let v143 : (unit -> System.Threading.Tasks.Task) = v142.AsTask let v144 : System.Threading.Tasks.Task = v143 () let v147 : bool = true let mutable _v147 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v150 : Async<unit> = null |> unbox<Async<unit>> v150 #endif #if FABLE_COMPILER_RUST && WASM let v159 : Async<unit> = null |> unbox<Async<unit>> v159 #endif #if FABLE_COMPILER_RUST && CONTRACT let v168 : Async<unit> = null |> unbox<Async<unit>> v168 #endif #if FABLE_COMPILER_TYPESCRIPT let v177 : Async<unit> = null |> unbox<Async<unit>> v177 #endif #if FABLE_COMPILER_PYTHON let v186 : Async<unit> = null |> unbox<Async<unit>> v186 #endif #else let v193 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask let v194 : Async<unit> = v193 v144 v194 #endif |> fun x -> _v147 <- Some x let v195 : Async<unit> = match _v147 with Some x -> x | None -> failwith "base.run_target / _v147=None" do! v195 return true with ex -> let v210 : exn = ex let v213 : bool = true let mutable _v213 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v216 : string = $"%A{v210}" v216 #endif #if FABLE_COMPILER_RUST && WASM let v225 : string = $"%A{v210}" v225 #endif #if FABLE_COMPILER_RUST && CONTRACT let v234 : string = $"%A{v210}" v234 #endif #if FABLE_COMPILER_TYPESCRIPT let v243 : string = $"%A{v210}" v243 #endif #if FABLE_COMPILER_PYTHON let v252 : string = $"%A{v210}" v252 #endif #else let v259 : string = $"{v210.GetType ()}: {v210.Message}" v259 #endif |> fun x -> _v213 <- Some x let v260 : string = match _v213 with Some x -> x | None -> failwith "base.run_target / _v213=None" let v275 : US0 = US0_0 let v276 : (unit -> string) = closure4() let v277 : (unit -> struct (int32 * string)) = closure5(v2, v260) method4(v275, v276, v277) return false (* let v278 : bool = *) } |> fun x -> _v137 <- Some x let v279 : Async<bool> = match _v137 with Some x -> x | None -> failwith "async.new_async_unit / _v137=None" v279 #endif |> fun x -> _v91 <- Some x let v280 : Async<bool> = match _v91 with Some x -> x | None -> failwith "base.run_target / _v91=None" v280 | US7_0(v295) -> (* Some *) let v298 : bool = true let mutable _v298 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v301 : Async<bool> = null |> unbox<Async<bool>> v301 #endif #if FABLE_COMPILER_RUST && WASM let v310 : Async<bool> = null |> unbox<Async<bool>> v310 #endif #if FABLE_COMPILER_RUST && CONTRACT let v319 : Async<bool> = null |> unbox<Async<bool>> v319 #endif #if FABLE_COMPILER_TYPESCRIPT let v328 : Async<bool> = null |> unbox<Async<bool>> v328 #endif #if FABLE_COMPILER_PYTHON let v337 : Async<bool> = null |> unbox<Async<bool>> v337 #endif #else let v344 : Async<bool> option = None let mutable _v344 = v344 async { let v347 : bool = true let mutable _v347 : Async<bool> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v350 : Async<bool> = null |> unbox<Async<bool>> v350 #endif #if FABLE_COMPILER_RUST && WASM let v359 : Async<bool> = null |> unbox<Async<bool>> v359 #endif #if FABLE_COMPILER_RUST && CONTRACT let v368 : Async<bool> = null |> unbox<Async<bool>> v368 #endif #if FABLE_COMPILER_TYPESCRIPT let v377 : Async<bool> = null |> unbox<Async<bool>> v377 #endif #if FABLE_COMPILER_PYTHON let v386 : Async<bool> = null |> unbox<Async<bool>> v386 #endif #else let v393 : Async<bool> option = None let mutable _v393 = v393 async { let v394 : Async<System.Threading.CancellationToken> = Async.CancellationToken let! v394 = v394 let v395 : System.Threading.CancellationToken = v394 let v396 : System.Net.Sockets.TcpClient = new System.Net.Sockets.TcpClient () use v396 = v396 let v397 : System.Net.Sockets.TcpClient = v396 try let v398 : System.Threading.Tasks.ValueTask = v397.ConnectAsync (v1, v2, v395) let v399 : (unit -> System.Threading.Tasks.Task) = v398.AsTask let v400 : System.Threading.Tasks.Task = v399 () let v403 : bool = true let mutable _v403 : Async<unit> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v406 : Async<unit> = null |> unbox<Async<unit>> v406 #endif #if FABLE_COMPILER_RUST && WASM let v415 : Async<unit> = null |> unbox<Async<unit>> v415 #endif #if FABLE_COMPILER_RUST && CONTRACT let v424 : Async<unit> = null |> unbox<Async<unit>> v424 #endif #if FABLE_COMPILER_TYPESCRIPT let v433 : Async<unit> = null |> unbox<Async<unit>> v433 #endif #if FABLE_COMPILER_PYTHON let v442 : Async<unit> = null |> unbox<Async<unit>> v442 #endif #else let v449 : (System.Threading.Tasks.Task -> Async<unit>) = Async.AwaitTask let v450 : Async<unit> = v449 v400 v450 #endif |> fun x -> _v403 <- Some x let v451 : Async<unit> = match _v403 with Some x -> x | None -> failwith "base.run_target / _v403=None" do! v451 return true with ex -> let v466 : exn = ex let v469 : bool = true let mutable _v469 : string option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v472 : string = $"%A{v466}" v472 #endif #if FABLE_COMPILER_RUST && WASM let v481 : string = $"%A{v466}" v481 #endif #if FABLE_COMPILER_RUST && CONTRACT let v490 : string = $"%A{v466}" v490 #endif #if FABLE_COMPILER_TYPESCRIPT let v499 : string = $"%A{v466}" v499 #endif #if FABLE_COMPILER_PYTHON let v508 : string = $"%A{v466}" v508 #endif #else let v515 : string = $"{v466.GetType ()}: {v466.Message}" v515 #endif |> fun x -> _v469 <- Some x let v516 : string = match _v469 with Some x -> x | None -> failwith "base.run_target / _v469=None" let v531 : US0 = US0_0 let v532 : (unit -> string) = closure4() let v533 : (unit -> struct (int32 * string)) = closure5(v2, v516) method4(v531, v532, v533) return false (* let v534 : bool = *) } |> fun x -> _v393 <- Some x let v535 : Async<bool> = match _v393 with Some x -> x | None -> failwith "async.new_async_unit / _v393=None" v535 #endif |> fun x -> _v347 <- Some x let v536 : Async<bool> = match _v347 with Some x -> x | None -> failwith "base.run_target / _v347=None" let v553 : bool = true let mutable _v553 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v556 : Async<US4> = null |> unbox<Async<US4>> v556 #endif #if FABLE_COMPILER_RUST && WASM let v565 : Async<US4> = null |> unbox<Async<US4>> v565 #endif #if FABLE_COMPILER_RUST && CONTRACT let v574 : Async<US4> = null |> unbox<Async<US4>> v574 #endif #if FABLE_COMPILER_TYPESCRIPT let v583 : Async<US4> = null |> unbox<Async<US4>> v583 #endif #if FABLE_COMPILER_PYTHON let v592 : Async<US4> = null |> unbox<Async<US4>> v592 #endif #else let v601 : bool = true let mutable _v601 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v604 : Async<US4> = null |> unbox<Async<US4>> v604 #endif #if FABLE_COMPILER_RUST && WASM let v613 : Async<US4> = null |> unbox<Async<US4>> v613 #endif #if FABLE_COMPILER_RUST && CONTRACT let v622 : Async<US4> = null |> unbox<Async<US4>> v622 #endif #if FABLE_COMPILER_TYPESCRIPT let v631 : Async<US4> = null |> unbox<Async<US4>> v631 #endif #if FABLE_COMPILER_PYTHON let v640 : Async<US4> = null |> unbox<Async<US4>> v640 #endif #else let v647 : Async<US4> option = None let mutable _v647 = v647 async { let v650 : bool = true let mutable _v650 : Async<Async<bool>> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v653 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v653 #endif #if FABLE_COMPILER_RUST && WASM let v662 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v662 #endif #if FABLE_COMPILER_RUST && CONTRACT let v671 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v671 #endif #if FABLE_COMPILER_TYPESCRIPT let v680 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v680 #endif #if FABLE_COMPILER_PYTHON let v689 : Async<Async<bool>> = null |> unbox<Async<Async<bool>>> v689 #endif #else let v696 : Async<Async<bool>> = Async.StartChild (v536, v295) v696 #endif |> fun x -> _v650 <- Some x let v697 : Async<Async<bool>> = match _v650 with Some x -> x | None -> failwith "base.run_target / _v650=None" let! v697 = v697 let v712 : Async<bool> = v697 let v715 : bool = true let mutable _v715 : Async<Choice<bool, exn>> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v718 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v718 #endif #if FABLE_COMPILER_RUST && WASM let v727 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v727 #endif #if FABLE_COMPILER_RUST && CONTRACT let v736 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v736 #endif #if FABLE_COMPILER_TYPESCRIPT let v745 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v745 #endif #if FABLE_COMPILER_PYTHON let v754 : Async<Choice<bool, exn>> = null |> unbox<Async<Choice<bool, exn>>> v754 #endif #else let v761 : (Async<bool> -> Async<Choice<bool, exn>>) = Async.Catch let v762 : Async<Choice<bool, exn>> = v761 v712 v762 #endif |> fun x -> _v715 <- Some x let v763 : Async<Choice<bool, exn>> = match _v715 with Some x -> x | None -> failwith "base.run_target / _v715=None" let v780 : bool = true let mutable _v780 : Async<US5> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v783 : Async<US5> = null |> unbox<Async<US5>> v783 #endif #if FABLE_COMPILER_RUST && WASM let v792 : Async<US5> = null |> unbox<Async<US5>> v792 #endif #if FABLE_COMPILER_RUST && CONTRACT let v801 : Async<US5> = null |> unbox<Async<US5>> v801 #endif #if FABLE_COMPILER_TYPESCRIPT let v810 : Async<US5> = null |> unbox<Async<US5>> v810 #endif #if FABLE_COMPILER_PYTHON let v819 : Async<US5> = null |> unbox<Async<US5>> v819 #endif #else let v826 : Async<US5> option = None let mutable _v826 = v826 async { let! v763 = v763 let v827 : Choice<bool, exn> = v763 let v830 : bool = true let mutable _v830 : US5 option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v833 : US5 = null |> unbox<US5> v833 #endif #if FABLE_COMPILER_RUST && WASM let v842 : US5 = null |> unbox<US5> v842 #endif #if FABLE_COMPILER_RUST && CONTRACT let v851 : US5 = null |> unbox<US5> v851 #endif #if FABLE_COMPILER_TYPESCRIPT let v860 : US5 = null |> unbox<US5> v860 #endif #if FABLE_COMPILER_PYTHON let v869 : US5 = null |> unbox<US5> v869 #endif #else let v876 : (bool -> US5) = closure10() let v877 : (exn -> US5) = closure11() let v878 : US5 = match v827 with Choice1Of2 x -> v876 x | Choice2Of2 x -> v877 x v878 #endif |> fun x -> _v830 <- Some x let v879 : US5 = match _v830 with Some x -> x | None -> failwith "base.run_target / _v830=None" return v879 } |> fun x -> _v826 <- Some x let v894 : Async<US5> = match _v826 with Some x -> x | None -> failwith "async.new_async_unit / _v826=None" v894 #endif |> fun x -> _v780 <- Some x let v895 : Async<US5> = match _v780 with Some x -> x | None -> failwith "base.run_target / _v780=None" let v912 : bool = true let mutable _v912 : Async<US6> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v915 : Async<US6> = null |> unbox<Async<US6>> v915 #endif #if FABLE_COMPILER_RUST && WASM let v924 : Async<US6> = null |> unbox<Async<US6>> v924 #endif #if FABLE_COMPILER_RUST && CONTRACT let v933 : Async<US6> = null |> unbox<Async<US6>> v933 #endif #if FABLE_COMPILER_TYPESCRIPT let v942 : Async<US6> = null |> unbox<Async<US6>> v942 #endif #if FABLE_COMPILER_PYTHON let v951 : Async<US6> = null |> unbox<Async<US6>> v951 #endif #else let v958 : Async<US6> option = None let mutable _v958 = v958 async { let! v895 = v895 let v959 : US5 = v895 let v965 : US6 = match v959 with | US5_0(v960) -> (* C1of2 *) US6_0(v960) | US5_1(v962) -> (* C2of2 *) US6_1(v962) return v965 } |> fun x -> _v958 <- Some x let v966 : Async<US6> = match _v958 with Some x -> x | None -> failwith "async.new_async_unit / _v958=None" v966 #endif |> fun x -> _v912 <- Some x let v967 : Async<US6> = match _v912 with Some x -> x | None -> failwith "base.run_target / _v912=None" let v984 : bool = true let mutable _v984 : Async<US4> option = None #if FABLE_COMPILER || WASM || CONTRACT #if FABLE_COMPILER_RUST && !WASM && !CONTRACT let v987 : Async<US4> = null |> unbox<Async<US4>> v987 #endif #if FABLE_COMPILER_RUST && WASM let v996 : Async<US4> = null |> unbox<Async<US4>> v996 #endif #if FABLE_COMPILER_RUST && CONTRACT let v1005 : Async<US4> = null |> unbox<Async<US4>> v1005 #endif #if FABLE_COMPILER_TYPESCRIPT let v1014 : Async<US4> = null |> unbox<Async<US4>> v1014 #endif #if FABLE_COMPILER_PYTHON let v1023 : Async<US4> = null |> unbox<Async<US4>> v1023 #endif #else let v1030 : Async<US4> option = None let mutable _v1030 = v1030 async { let! v967 = v967 let v1031 : US6 = v967 let v1064 : US4 = match v1031 with | US6_1(v1034) -> (* Error *) let v1037 : string = $"%A{v1034}" let v1046 : string = "System.TimeoutException" let v1047 : bool = v1037.Contains v1046 if v1047 then let v1054 : US0 = US0_0 let v1055 : (unit -> string) = closure12() let v1056 : (unit -> int32) = closure13(v295) method14(v1054, v1055, v1056) US4_1 else let v1058 : US0 = US0_4 let v1059 : (unit -> string) = closure15() let v1060 : (unit -> struct (int32 * string)) = closure16(v295, v1034) method16(v1058, v1059, v1060) US4_1 | US6_0(v1032) -> (* Ok *) US4_0(v1032) return v1064 } |> fun x -> _v1030 <- Some x let v1065 : Async<US4> = match _v1030 with Some x -> x | None -> failwith "async.new_async_unit / _v1030=None" v1065 #endif |> fun x -> _v984 <- Some x let v1066 : Async<US4> = match _v984 with Some x -> x | None -> failwith "base.run_target / _v984=None" return! v1066 } |> fun x -> _v647 <- Some x let v1081 : Async<US4> = match _v647 with Some x -> x | None -> failwith "async.new_async_unit / _v647=None" v1081 #endif |> fun x -> _v601 <- Some x let v1082 : Async<US4> = match _v601 with Some x -> x | None -> failwith "base.run_target / _v601=None" v1082 #endif |> fun x -> _v553 <- Some x let v1097 : Async<US4> = match _v553 with Some x -> x | None -> failwith "base.run_target / _v553=None" let! v1097 = v1097 let v1112 : US4 = v1097 let v1115 : bool = match v1112 with | US4_1 -> (* None *) false | US4_0(v1113) -> (* Some *) v1113 return v1115 } |> fun x -> _v344 <- Some x let v1116 : Async<bool> = match _v344 with Some x -> x | None -> failwith "async.new_async_unit / _v344=None" v1116 #endif |> fun x -> _v298 <- Some x let v1117 : Async<bool> = match _v298 with Some x -> x | None -> failwith "base.run_target / _v298=None" v1117 let! v1133 = v1133 let v1134 : bool = v1133 let v1135 : bool = v1134 = false if v1135 then return v2 (* () else *) else let v1136 : int32 = v2 + 1 let v1137 : Async<int32> = method24(v0, v1, v1136) return! v1137 (* () *) } |> fun x -> _v51 <- Some x let v1138 : Async<int32> = match _v51 with Some x -> x | None -> failwith "async.new_async_unit / _v51=None" v1138 #endif |> fun x -> _v5 <- Some x let v1139 : Async<int32> = match _v5 with Some x -> x | None -> failwith "base.run_target / _v5=None" v1139 and closure27 (v0 : int32 option, v1 : string) (v2 : int32) : Async<int32> = method24(v0, v1, v2) and closure26 (v0 : int32 option) (v1 : string) : (int32 -> Async<int32>) = closure27(v0, v1) and closure25 () (v0 : int32 option) : (string -> (int32 -> Async<int32>)) = closure26(v0) let v2 : (US0 -> struct (Mut0 * Mut1 * Mut2 * Mut3 * int64 option)) = closure0() let v3 : US0 = US0_0 if State.trace_state.IsNone then State.trace_state <- v2 v3 |> Some let v9 : (string -> (int32 -> Async<bool>)) = closure2() let test_port_open x = v9 x let v10 : (int32 -> (string -> (int32 -> Async<bool>))) = closure7() let test_port_open_timeout x = v10 x let v11 : (int32 option -> (bool -> (string -> (int32 -> Async<int64>)))) = closure18() let wait_for_port_access x = v11 x let v12 : (int32 option -> (string -> (int32 -> Async<int32>))) = closure25() let get_available_port x = v12 x () 00:00:00 debug #1 writeDibCode / output: Fs / path: DirTreeHtml.dib 00:00:00 debug #2 parseDibCode / output: Fs / file: DirTreeHtml.dib 00:00:00 debug #1 persistCodeProject / packages: [Argu; Falco.Markup; FSharp.Control.AsyncSeq; ... ] / modules: [lib/spiral/common.fsx; lib/spiral/sm.fsx; lib/spiral/crypto.fsx; ... ] / name: DirTreeHtml / hash: / code.Length: 4638 00:00:00 debug #2 buildProject / fullPath: /home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml/DirTreeHtml.fsproj 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet publish "/home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml/DirTreeHtml.fsproj" --configuration Release --output "/home/runner/work/polyglot/polyglot/apps/dir-tree-html/dist" --runtime linux-x64; cancellation_token = None; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml" } } 00:00:00 verbose #2 > MSBuild version 17.10.0-preview-24101-01+07fd5d51f for .NET 00:00:00 verbose #3 > Determining projects to restore... 00:00:01 verbose #4 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:01 verbose #5 > The last full restore is still up to date. Nothing left to do. 00:00:01 verbose #6 > Total time taken: 0 milliseconds 00:00:01 verbose #7 > Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b 00:00:02 verbose #8 > Restoring /home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml/DirTreeHtml.fsproj 00:00:02 verbose #9 > Starting restore process. 00:00:02 verbose #10 > Total time taken: 0 milliseconds 00:00:02 verbose #11 > Restored /home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml/DirTreeHtml.fsproj (in 314 ms). 00:00:02 verbose #12 > /usr/share/dotnet/sdk/9.0.100-preview.1.24101.2/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.RuntimeIdentifierInference.targets(313,5): message NETSDK1057: You are using a preview version of .NET. See: https://aka.ms/dotnet-support-policy [/home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml/DirTreeHtml.fsproj] 00:00:11 verbose #13 > DirTreeHtml -> /home/runner/work/polyglot/polyglot/target/Builder/DirTreeHtml/bin/Release/net9.0/linux-x64/DirTreeHtml.dll 00:00:12 verbose #14 > DirTreeHtml -> /home/runner/work/polyglot/polyglot/apps/dir-tree-html/dist 00:00:12 debug #15 runtime.execute_with_options_async / { exit_code = 0; output_length = 1129 }
In [ ]:
{ pwsh ../lib/spiral/build.ps1 -sequential 1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path sm'.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "sm'.dib", "--retries", "3"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # sm' │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:05 verbose #15 > > 00:00:05 verbose #16 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:05 verbose #17 > > //// test 00:00:05 verbose #18 > > 00:00:05 verbose #19 > > open testing 00:00:05 verbose #20 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:00:08 verbose #21 > > 00:00:08 verbose #22 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #23 > > open rust 00:00:08 verbose #24 > > open rust_operators 00:00:08 verbose #25 > > open real_sm' 00:00:08 verbose #26 > 00:00:07 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/02d349b710e8647c6c3dd92e8cc7f601579b036ee9051d19f9b6946fe1f6773b/main.spi 00:00:08 verbose #27 > > 00:00:08 verbose #28 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #29 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #30 > > │ ## sm' │ 00:00:08 verbose #31 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #32 > > 00:00:08 verbose #33 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #34 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #35 > > │ ### symbol_to_string │ 00:00:08 verbose #36 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #37 > > 00:00:08 verbose #38 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #39 > > //// real 00:00:08 verbose #40 > > 00:00:08 verbose #41 > > inl symbol_to_string forall t {symbol}. : string = 00:00:08 verbose #42 > > // inl x = real_core.type_lit_to_lit `t 00:00:08 verbose #43 > > // inl x = real_core.type_to_symbol `t 00:00:08 verbose #44 > > // inl x = real_core.type_lit_to_lit `t 00:00:08 verbose #45 > > // !!!!SymbolToString (`(`t)) 00:00:08 verbose #46 > > inl x = real_core.type_to_symbol `t 00:00:08 verbose #47 > > !!!!SymbolToString (x) 00:00:08 verbose #48 > 00:00:08 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7c8d083ce3a9ddd32b9434df453de9ed4eba364751f0afa3b1fa2ac4e655f7af/real_main.spir 00:00:08 verbose #49 > > 00:00:08 verbose #50 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #51 > > inl symbol_to_string forall t {symbol}. (x : t) : string = 00:00:08 verbose #52 > > real symbol_to_string `t 00:00:08 verbose #53 > 00:00:08 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/422db5001b9a04792905f41e9d100aca35748c66c8603f0dca0ab3060acd2579/main.spi 00:00:08 verbose #54 > > 00:00:08 verbose #55 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #56 > > //// test 00:00:08 verbose #57 > > 00:00:08 verbose #58 > > .test 00:00:08 verbose #59 > > |> symbol_to_string 00:00:08 verbose #60 > > |> _assert_eq "test" 00:00:08 verbose #61 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/46d632e410436df28a37a6dfef362ef02f8bf57de90cfb972d8d1ae01c91aba3/main.spi 00:00:09 verbose #62 > > 00:00:09 verbose #63 > > ╭─[ 636.36ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:09 verbose #64 > > │ assert_eq / actual: "test" / expected: "test" │ 00:00:09 verbose #65 > > │ │ 00:00:09 verbose #66 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #67 > > 00:00:09 verbose #68 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #69 > > //// test 00:00:09 verbose #70 > > //// real 00:00:09 verbose #71 > > 00:00:09 verbose #72 > > open testing 00:00:09 verbose #73 > > inl x = .test 00:00:09 verbose #74 > > inl x = symbol_to_string `(`x) 00:00:09 verbose #75 > > _assert_eq `string "test" x 00:00:09 verbose #76 > 00:00:09 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/249aef808fadbfe422f12abbe3dd7355e5a8595437e091480ae7630c72648ecc/real_main.spir 00:00:09 verbose #77 > > 00:00:09 verbose #78 > > ╭─[ 199.93ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:09 verbose #79 > > │ assert_eq / actual: "test" / expected: "test" │ 00:00:09 verbose #80 > > │ │ 00:00:09 verbose #81 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #82 > > 00:00:09 verbose #83 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #84 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #85 > > │ ### index │ 00:00:09 verbose #86 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #87 > > 00:00:09 verbose #88 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #89 > > inl index i (str : string) : char = 00:00:09 verbose #90 > > sm.index str i 00:00:09 verbose #91 > 00:00:09 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/337530f9cd4645a143ee3336f8bdc6d97a5429b3bf6802b9fc883ec1cf793831/main.spi 00:00:09 verbose #92 > > 00:00:09 verbose #93 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #94 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #95 > > │ ### length │ 00:00:09 verbose #96 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #97 > > 00:00:09 verbose #98 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #99 > > inl length forall dim {int}. (input : string) : dim = 00:00:09 verbose #100 > > input |> sm.length 00:00:09 verbose #101 > 00:00:09 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9f3ad1bc82b8e03b91d5c2db2b45bc1fdec83fa000d9034dfa218a9707367931/main.spi 00:00:10 verbose #102 > > 00:00:10 verbose #103 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #104 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #105 > > │ ### to_char_array │ 00:00:10 verbose #106 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #107 > > 00:00:10 verbose #108 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #109 > > inl to_char_array (str : string) : array_base char = 00:00:10 verbose #110 > > am.init (str |> length) (fun i => str |> index i) 00:00:10 verbose #111 > > |> fun (a x : _ int _) => x 00:00:10 verbose #112 > 00:00:09 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a05c7da5ac58dff7f0c4a08491f9044e22ac584d50ab3f58b67e90e56779e73b/main.spi 00:00:10 verbose #113 > > 00:00:10 verbose #114 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #115 > > //// test 00:00:10 verbose #116 > > 00:00:10 verbose #117 > > "abc" 00:00:10 verbose #118 > > |> to_char_array 00:00:10 verbose #119 > > |> _assert_eq' ;[[ 'a'; 'b'; 'c' ]] 00:00:10 verbose #120 > 00:00:10 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b36ccacd2e6d2289c9b8b95b9f99451adfd4db9a458d0c197a222e68d7b4faff/main.spi 00:00:11 verbose #121 > > 00:00:11 verbose #122 > > ╭─[ 557.02ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:11 verbose #123 > > │ assert_eq' / actual: [|'a'; 'b'; 'c'|] / expected: [|'a'; 'b'; 'c'|] │ 00:00:11 verbose #124 > > │ │ 00:00:11 verbose #125 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #126 > > 00:00:11 verbose #127 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #128 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #129 > > │ ### to_char_list │ 00:00:11 verbose #130 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #131 > > 00:00:11 verbose #132 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #133 > > inl to_char_list (str : string) : list char = 00:00:11 verbose #134 > > listm.init (str |> length) (fun (i : i64) => str |> index i) 00:00:11 verbose #135 > 00:00:10 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7681e66412c440660f7eef88ed7e61443f1caf37fe4b47b9e52426eae815c600/main.spi 00:00:11 verbose #136 > > 00:00:11 verbose #137 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #138 > > //// test 00:00:11 verbose #139 > > 00:00:11 verbose #140 > > "abc" 00:00:11 verbose #141 > > |> to_char_list 00:00:11 verbose #142 > > |> _assert_eq [[ 'a'; 'b'; 'c' ]] 00:00:11 verbose #143 > 00:00:10 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c44d9bbac903c95c35abc94d187b005c96f83cb515cdcf3f9f54ac1260597149/main.spi 00:00:11 verbose #144 > > 00:00:11 verbose #145 > > ╭─[ 288.01ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:11 verbose #146 > > │ assert_eq / actual: UH0_1 ('a', UH0_1 ('b', UH0_1 ('c', UH0_0))) / expected: │ 00:00:11 verbose #147 > > │ UH0_1 ('a', UH0_1 ('b', UH0_1 ('c', UH0_0))) │ 00:00:11 verbose #148 > > │ │ 00:00:11 verbose #149 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #150 > > 00:00:11 verbose #151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #153 > > │ ### is_empty │ 00:00:11 verbose #154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #155 > > 00:00:11 verbose #156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #157 > > inl is_empty (input : string) : bool = 00:00:11 verbose #158 > > length input = 0i32 00:00:11 verbose #159 > 00:00:11 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f71273bd70d4115c18ac1fdfdbaec3051d022d116b2813ab3dd249da4d1bb633/main.spi 00:00:11 verbose #160 > > 00:00:11 verbose #161 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #162 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #163 > > │ ### slice │ 00:00:11 verbose #164 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #165 > > 00:00:11 verbose #166 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #167 > > inl slice from to s : string = 00:00:11 verbose #168 > > sm.slice s { from to } 00:00:11 verbose #169 > 00:00:11 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/df17b52a71217a03da2dda3beda719ee79b017bb7288ef8cee4919e11c4f082d/main.spi 00:00:12 verbose #170 > > 00:00:12 verbose #171 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:12 verbose #172 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:12 verbose #173 > > │ ### format_debug │ 00:00:12 verbose #174 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 verbose #175 > > 00:00:12 verbose #176 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #177 > > //// real 00:00:12 verbose #178 > > 00:00:12 verbose #179 > > inl format_debug forall t. (x : t) : string = 00:00:12 verbose #180 > > backend_switch `string `({}) { 00:00:12 verbose #181 > > Fsharp = (fun () => $'$"%A{!x}"' : string) : () -> string 00:00:12 verbose #182 > > Python = (fun () => $'f"{!x}"' : string) : () -> string 00:00:12 verbose #183 > > } 00:00:12 verbose #184 > 00:00:11 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b3547381588ba03a92b7afe8904349093563710a94c2610f05c055855a9dd8fa/real_main.spir 00:00:12 verbose #185 > > 00:00:12 verbose #186 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #187 > > inl format_debug forall t. (x : t) : string = 00:00:12 verbose #188 > > real format_debug `t x 00:00:12 verbose #189 > 00:00:11 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/63fd50a9208268d5762fb8181cada726aef26f23e2b99f6168ffca923b018de1/main.spi 00:00:12 verbose #190 > > 00:00:12 verbose #191 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #192 > > //// test 00:00:12 verbose #193 > > 00:00:12 verbose #194 > > { c = "1"; a = "2"; b = "3" } 00:00:12 verbose #195 > > |> format_debug 00:00:12 verbose #196 > > |> _assert_eq "struct (\"1\", \"2\", \"3\")" 00:00:12 verbose #197 > 00:00:11 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/62d30df69d2df394cda275e4d0d5577673a1b1b7923ba4b1f1ba2d14e0e16fa1/main.spi 00:00:12 verbose #198 > > 00:00:12 verbose #199 > > ╭─[ 158.24ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:12 verbose #200 > > │ assert_eq / actual: "struct ("1", "2", "3")" / expected: "struct ("1", "2", │ 00:00:12 verbose #201 > > │ "3")" │ 00:00:12 verbose #202 > > │ │ 00:00:12 verbose #203 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 verbose #204 > > 00:00:12 verbose #205 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:12 verbose #206 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:12 verbose #207 > > │ ### prim │ 00:00:12 verbose #208 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 verbose #209 > > 00:00:12 verbose #210 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #211 > > inl prim x = real 00:00:12 verbose #212 > > match x with 00:00:12 verbose #213 > > | (x : i8) | (x : i16) | (x : i32) | (x : i64) => "%d", x 00:00:12 verbose #214 > > | (x : u8) | (x : u16) | (x : u32) | (x : u64) => "%u", x 00:00:12 verbose #215 > > | (x : f32) | (x : f64) => "%f", x 00:00:12 verbose #216 > > | (x : string) => "%s", x 00:00:12 verbose #217 > > | (x : char) => "%c", x 00:00:12 verbose #218 > 00:00:12 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1b045a76a6f635a4cc4351c6d6978a022556b744178ba9e4d06a5812d38bc1ac/main.spi 00:00:12 verbose #219 > > 00:00:12 verbose #220 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:12 verbose #221 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:12 verbose #222 > > │ ### printable │ 00:00:12 verbose #223 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 verbose #224 > > 00:00:12 verbose #225 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #226 > > //// real 00:00:12 verbose #227 > > 00:00:12 verbose #228 > > prototype printable t : t -> () 00:00:12 verbose #229 > 00:00:12 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/39051806b93c5368db5de08be73cbf8e25d92597effe00c956f9303f72fb4f7f/real_main.spir 00:00:12 verbose #230 > > 00:00:12 verbose #231 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:12 verbose #232 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:12 verbose #233 > > │ ### real_format │ 00:00:12 verbose #234 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 verbose #235 > > 00:00:12 verbose #236 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #237 > > //// real 00:00:12 verbose #238 > > 00:00:12 verbose #239 > > inl real_format forall t. (x : t) : string = 00:00:12 verbose #240 > > inl result = mut `string "" 00:00:12 verbose #241 > > real 00:00:12 verbose #242 > > let rec write x = 00:00:12 verbose #243 > > inl p ((a : string), b) = 00:00:12 verbose #244 > > inl s : string = 00:00:12 verbose #245 > > backend_switch `string `({}) { 00:00:12 verbose #246 > > Fsharp = 00:00:12 verbose #247 > > (fun () => 00:00:12 verbose #248 > > match b with 00:00:12 verbose #249 > > | (_ : f32) | (_ : f64) => $'$"%+.6f{!b}"' : 00:00:12 verbose #250 > > string 00:00:12 verbose #251 > > | _ => $'$"{!b}"' : string 00:00:12 verbose #252 > > ) : () -> string 00:00:12 verbose #253 > > Python = 00:00:12 verbose #254 > > (fun () => 00:00:12 verbose #255 > > match b with 00:00:12 verbose #256 > > | (_ : f32) | (_ : f64) => 00:00:12 verbose #257 > > $'"{:.6f}".format(!b)' : string 00:00:12 verbose #258 > > | _ => $'!b ' : string 00:00:12 verbose #259 > > ) : () -> string 00:00:12 verbose #260 > > } 00:00:12 verbose #261 > > result <- (+.) `string ((~*) `string result) s 00:00:12 verbose #262 > > 00:00:12 verbose #263 > > match x with // According to Bing it shouldn't matter whether these 00:00:12 verbose #264 > > are %d or %lld in printf. 00:00:12 verbose #265 > > | () => () 00:00:12 verbose #266 > > | (x : i8) | (x : i16) | (x : i32) | (x : i64) => p ("%d", x) 00:00:12 verbose #267 > > | (x : u8) | (x : u16) | (x : u32) | (x : u64) => p ("%u", x) 00:00:12 verbose #268 > > | (x : f32) | (x : f64) => p ("%f", x) 00:00:12 verbose #269 > > | (x : string) => p ("%s", x) 00:00:12 verbose #270 > > | (x : char) => p ("%c", x) 00:00:12 verbose #271 > > | (x : bool) => p ("%s", if x then "true" else "false") 00:00:12 verbose #272 > > | (a,b) => write a . write ", " . write b 00:00:12 verbose #273 > > | {} as x => 00:00:12 verbose #274 > > write "{ " 00:00:12 verbose #275 > > inl _result = 00:00:12 verbose #276 > > real_core.record_fold 00:00:12 verbose #277 > > fun { state = separator key value } => 00:00:12 verbose #278 > > write separator 00:00:12 verbose #279 > > write (symbol_to_string `(`key)) . write " = " . 00:00:12 verbose #280 > > write value 00:00:12 verbose #281 > > "; " 00:00:12 verbose #282 > > () x 00:00:12 verbose #283 > > write " }" 00:00:12 verbose #284 > > | x when real_core.symbol_is x => write (symbol_to_string `(`x)) 00:00:12 verbose #285 > > | x when real_core.function_is x => write (x ()) 00:00:12 verbose #286 > > | x => 00:00:12 verbose #287 > > if real_core.union_is x then 00:00:12 verbose #288 > > if real_core.prototype_has `(`x) printable then printable 00:00:12 verbose #289 > > `(`x) x 00:00:12 verbose #290 > > else 00:00:12 verbose #291 > > write (format_debug `(`x) x) 00:00:12 verbose #292 > > // real_core.unbox x (fun (k, v) => 00:00:12 verbose #293 > > // write k 00:00:12 verbose #294 > > // match v with 00:00:12 verbose #295 > > // | () => () 00:00:12 verbose #296 > > // | _ => write "(" . write v . write ")" 00:00:12 verbose #297 > > // ) 00:00:12 verbose #298 > > elif real_core.nominal_is x && real_core.prototype_has `(`x) 00:00:12 verbose #299 > > printable then printable `(`x) x 00:00:12 verbose #300 > > // elif layout_is x then write *x // TODO: Deal with all the 00:00:12 verbose #301 > > layout type cases. 00:00:12 verbose #302 > > else write (format_debug `(`x) x) 00:00:12 verbose #303 > > write x 00:00:12 verbose #304 > > (~*) `string result 00:00:12 verbose #305 > 00:00:12 debug #23 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0446514e4e9a54e1e45299708cb05aa18d5a91bee4ecf4885d074a51a91eb4e7/real_main.spir 00:00:12 verbose #306 > > 00:00:12 verbose #307 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:12 verbose #308 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:12 verbose #309 > > │ ### format │ 00:00:12 verbose #310 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:12 verbose #311 > > 00:00:12 verbose #312 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:12 verbose #313 > > inl format forall t. (x : t) : string = 00:00:12 verbose #314 > > real real_format `t x 00:00:13 verbose #315 > 00:00:12 debug #24 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5971dc0dcf41d9110a2f00ab4d5c8cad418e13a5f7a1fc5f388c98b0c4d2d0af/main.spi 00:00:13 verbose #316 > > 00:00:13 verbose #317 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 verbose #318 > > //// test 00:00:13 verbose #319 > > ///! fsharp 00:00:13 verbose #320 > > ////! cuda 00:00:13 verbose #321 > > ////! rust 00:00:13 verbose #322 > > ////! typescript 00:00:13 verbose #323 > > ////! python 00:00:13 verbose #324 > > 00:00:13 verbose #325 > > ("1", "2", [["3"; "4"]], { b = "5"; c = "6"; a = fun () => "7" }) 00:00:13 verbose #326 > > |> format 00:00:13 verbose #327 > > |> _assert_eq "1, 2, UH0_1 (\"3\", UH0_1 (\"4\", UH0_0)), { b = 5; c = 6; a = 7 00:00:13 verbose #328 > > }" 00:00:13 verbose #329 > 00:00:12 debug #25 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce63762b464ecbfa5ba8e390a58012b9f2d8199ab5026d08488b64abaa1186d0/main.spi 00:00:13 verbose #330 > > 00:00:13 verbose #331 > > ╭─[ 259.68ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:13 verbose #332 > > │ assert_eq / actual: "1, 2, UH0_1 ("3", UH0_1 ("4", UH0_0)), { b = 5; c = 6; │ 00:00:13 verbose #333 > > │ a = 7 }" / expected: "1, 2, UH0_1 ("3", UH0_1 ("4", UH0_0)), { b = 5; c = 6; │ 00:00:13 verbose #334 > > │ a = 7 }" │ 00:00:13 verbose #335 > > │ │ 00:00:13 verbose #336 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 verbose #337 > > 00:00:13 verbose #338 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:13 verbose #339 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:13 verbose #340 > > │ ### concat_array_trailing │ 00:00:13 verbose #341 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:13 verbose #342 > > 00:00:13 verbose #343 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 verbose #344 > > inl concat_array_trailing (separator : string) (input : a i32 string) = 00:00:13 verbose #345 > > ("", input) 00:00:13 verbose #346 > > ||> am.fold fun acc (x : string) => 00:00:13 verbose #347 > > $'!acc + !x + !separator + ""' 00:00:13 verbose #348 > 00:00:12 debug #26 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5da6102489c42cd02c37a346dbce18da3a002208004d6b6b25f5720ce5e85995/main.spi 00:00:13 verbose #349 > > 00:00:13 verbose #350 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:13 verbose #351 > > //// test 00:00:13 verbose #352 > > ///! typescript 00:00:13 verbose #353 > > 00:00:13 verbose #354 > > ;[[ 00:00:13 verbose #355 > > "1" 00:00:13 verbose #356 > > "2" 00:00:13 verbose #357 > > "3" 00:00:13 verbose #358 > > ]] 00:00:13 verbose #359 > > |> fun x => 00:00:13 verbose #360 > > inl code = (a x : _ i32 _) |> concat_array_trailing "\n" 00:00:13 verbose #361 > > code 00:00:13 verbose #362 > > |> _assert_eq "1\n2\n3\n" 00:00:13 verbose #363 > 00:00:13 debug #27 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d75b21da5e3c923e609a81d18209df0b04c73459d77a65495ad7a814ce2fa640/main.spi 00:00:20 verbose #364 > > 00:00:20 verbose #365 > > ╭─[ 7.02s - return value ]─────────────────────────────────────────────────────╮ 00:00:20 verbose #366 > > │ assert_eq / actual: 1 │ 00:00:20 verbose #367 > > │ 2 │ 00:00:20 verbose #368 > > │ 3 │ 00:00:20 verbose #369 > > │ / expected: 1 │ 00:00:20 verbose #370 > > │ 2 │ 00:00:20 verbose #371 > > │ 3 │ 00:00:20 verbose #372 > > │ │ 00:00:20 verbose #373 > > │ │ 00:00:20 verbose #374 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #375 > > 00:00:20 verbose #376 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:20 verbose #377 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:20 verbose #378 > > │ ### concat_list_trailing │ 00:00:20 verbose #379 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:20 verbose #380 > > 00:00:20 verbose #381 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #382 > > inl concat_list_trailing separator input = 00:00:20 verbose #383 > > ("", input) 00:00:20 verbose #384 > > ||> listm.fold fun acc (x : string) => 00:00:20 verbose #385 > > $'!acc + !x + !separator + ""' 00:00:20 verbose #386 > 00:00:20 debug #28 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f4855b087327cded30d56b5842c07df9b947408c9387e759c2c6ea6b613ede2f/main.spi 00:00:20 verbose #387 > > 00:00:20 verbose #388 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:20 verbose #389 > > //// test 00:00:20 verbose #390 > > ///! rust 00:00:20 verbose #391 > > 00:00:20 verbose #392 > > [[ 00:00:20 verbose #393 > > "1" 00:00:20 verbose #394 > > "2" 00:00:20 verbose #395 > > "3" 00:00:20 verbose #396 > > ]] 00:00:20 verbose #397 > > |> fun x => 00:00:20 verbose #398 > > inl code = (x : _) |> concat_list_trailing "\n" 00:00:20 verbose #399 > > code 00:00:20 verbose #400 > > |> _assert_eq "1\n2\n3\n" 00:00:20 verbose #401 > 00:00:20 debug #29 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5bbca95e141a48963cd8c05faab8333c90e925530b5f6c939fd5ff3db46e0518/main.spi 00:00:27 verbose #402 > > 00:00:27 verbose #403 > > ╭─[ 6.97s - return value ]─────────────────────────────────────────────────────╮ 00:00:27 verbose #404 > > │ assert_eq / actual: "1 │ 00:00:27 verbose #405 > > │ 2 │ 00:00:27 verbose #406 > > │ 3 │ 00:00:27 verbose #407 > > │ " / expected: "1 │ 00:00:27 verbose #408 > > │ 2 │ 00:00:27 verbose #409 > > │ 3 │ 00:00:27 verbose #410 > > │ " │ 00:00:27 verbose #411 > > │ │ 00:00:27 verbose #412 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:27 verbose #413 > > 00:00:27 verbose #414 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:27 verbose #415 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:27 verbose #416 > > │ ### concat_list_heap_trailing │ 00:00:27 verbose #417 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:27 verbose #418 > > 00:00:27 verbose #419 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:27 verbose #420 > > inl concat_list_heap_trailing separator input = 00:00:27 verbose #421 > > inl separator = join separator 00:00:27 verbose #422 > > inl separator = separator 00:00:27 verbose #423 > > ("", input) 00:00:27 verbose #424 > > ||> listm.fold fun acc (x : string) => 00:00:27 verbose #425 > > $'$"{!acc}{!x}{!separator}"' 00:00:27 verbose #426 > 00:00:27 debug #30 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6d20f3fc809584e4d02ef868342783d3b1ab6f5e1cf59d7d81cc6af97921136e/main.spi 00:00:27 verbose #427 > > 00:00:27 verbose #428 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:27 verbose #429 > > //// test 00:00:27 verbose #430 > > ///! rust 00:00:27 verbose #431 > > 00:00:27 verbose #432 > > [[ 00:00:27 verbose #433 > > "1" 00:00:27 verbose #434 > > "2" 00:00:27 verbose #435 > > "3" 00:00:27 verbose #436 > > ]] 00:00:27 verbose #437 > > |> fun x => 00:00:27 verbose #438 > > inl code = (x : _) |> concat_list_heap_trailing "\n" 00:00:27 verbose #439 > > code 00:00:27 verbose #440 > > |> _assert_eq "1\n2\n3\n" 00:00:27 verbose #441 > 00:00:27 debug #31 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c7abb3c6ef7470261525e131438c6191b125df6917778f08a2db3722452dd02/main.spi 00:00:34 verbose #442 > > 00:00:34 verbose #443 > > ╭─[ 6.84s - return value ]─────────────────────────────────────────────────────╮ 00:00:34 verbose #444 > > │ assert_eq / actual: "1 │ 00:00:34 verbose #445 > > │ 2 │ 00:00:34 verbose #446 > > │ 3 │ 00:00:34 verbose #447 > > │ " / expected: "1 │ 00:00:34 verbose #448 > > │ 2 │ 00:00:34 verbose #449 > > │ 3 │ 00:00:34 verbose #450 > > │ " │ 00:00:34 verbose #451 > > │ │ 00:00:34 verbose #452 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:34 verbose #453 > > 00:00:34 verbose #454 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:34 verbose #455 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:34 verbose #456 > > │ ### ellipsis │ 00:00:34 verbose #457 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:34 verbose #458 > > 00:00:34 verbose #459 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:34 verbose #460 > > inl ellipsis (max : i32) (s : string) = 00:00:34 verbose #461 > > if sm.length s <= max 00:00:34 verbose #462 > > then s 00:00:34 verbose #463 > > else s |> slice 0 (max - 1) |> fun x => $'!x + "..."' 00:00:34 verbose #464 > 00:00:34 debug #32 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2eefc060b4b2c8ce649c3d7d7612f00d8f1f521e40f4ea629eaeb4693176fdfa/main.spi 00:00:34 verbose #465 > > 00:00:34 verbose #466 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:34 verbose #467 > > //// test 00:00:34 verbose #468 > > 00:00:34 verbose #469 > > "12345" 00:00:34 verbose #470 > > |> ellipsis 2 00:00:34 verbose #471 > > |> _assert_eq "12..." 00:00:34 verbose #472 > > 00:00:34 verbose #473 > > "12345" 00:00:34 verbose #474 > > |> ellipsis 4 00:00:34 verbose #475 > > |> _assert_eq "1234..." 00:00:34 verbose #476 > 00:00:34 debug #33 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/04a1f4789d3afc80a47aefa8d6c1104c472e1fc3f23c01e34bb11a12c81ffc6a/main.spi 00:00:35 verbose #477 > > 00:00:35 verbose #478 > > ╭─[ 233.64ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:35 verbose #479 > > │ assert_eq / actual: "12..." / expected: "12..." │ 00:00:35 verbose #480 > > │ assert_eq / actual: "1234..." / expected: "1234..." │ 00:00:35 verbose #481 > > │ │ 00:00:35 verbose #482 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #483 > > 00:00:35 verbose #484 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #485 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #486 > > │ ## fsharp │ 00:00:35 verbose #487 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #488 > > 00:00:35 verbose #489 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #490 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #491 > > │ ### ends_with │ 00:00:35 verbose #492 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #493 > > 00:00:35 verbose #494 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #495 > > inl ends_with (value : string) (s : string) : bool = 00:00:35 verbose #496 > > $'!s.EndsWith !value ' 00:00:35 verbose #497 > 00:00:34 debug #34 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7bb6e66345dbf4b08b7ca018b44aee8c0630a52feb22768b46536f6f64a2c0ad/main.spi 00:00:35 verbose #498 > > 00:00:35 verbose #499 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #500 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #501 > > │ ### last_index_of │ 00:00:35 verbose #502 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #503 > > 00:00:35 verbose #504 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #505 > > inl last_index_of (search : string) (s : string) : i32 = 00:00:35 verbose #506 > > $'!s.LastIndexOf !search ' 00:00:35 verbose #507 > 00:00:34 debug #35 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/59ea47e4df93fde8e5116d739ad1f983cd3bab0fa612a3c99d8d2ef41b7d51cc/main.spi 00:00:35 verbose #508 > > 00:00:35 verbose #509 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #510 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #511 > > │ ### index_of │ 00:00:35 verbose #512 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #513 > > 00:00:35 verbose #514 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #515 > > inl index_of (search : string) (s : string) : i32 = 00:00:35 verbose #516 > > $'!s.IndexOf !search ' 00:00:35 verbose #517 > 00:00:34 debug #36 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/48e15085958f1a5e220dde35579d094c6719e237b9c1b533bdc1356bf525e849/main.spi 00:00:35 verbose #518 > > 00:00:35 verbose #519 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #520 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #521 > > │ ### replicate │ 00:00:35 verbose #522 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #523 > > 00:00:35 verbose #524 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #525 > > inl replicate (n : i32) (s : string) : string = 00:00:35 verbose #526 > > backend_switch { 00:00:35 verbose #527 > > Fsharp = fun () => s |> $'String.replicate' n : string 00:00:35 verbose #528 > > Python = fun () => $'!s * !n ' : string 00:00:35 verbose #529 > > } 00:00:35 verbose #530 > 00:00:35 debug #37 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/37431938c414cbe4284f95dc7dc2a97aad681afa945b92da43fd55eb932d3306/main.spi 00:00:35 verbose #531 > > 00:00:35 verbose #532 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #533 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #534 > > │ ### obj_to_string │ 00:00:35 verbose #535 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #536 > > 00:00:35 verbose #537 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #538 > > inl obj_to_string x : string = 00:00:35 verbose #539 > > backend_switch { 00:00:35 verbose #540 > > Fsharp = fun () => x |> $'_.ToString()' : string 00:00:35 verbose #541 > > Python = fun () => $'str(!x)' : string 00:00:35 verbose #542 > > } 00:00:35 verbose #543 > 00:00:35 debug #38 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc1d31ad19a6ca94f1e9d6049c38d3531c8fd8603edeade837537d8a3a281a16/main.spi 00:00:35 verbose #544 > > 00:00:35 verbose #545 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #546 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #547 > > │ ### pad_left │ 00:00:35 verbose #548 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #549 > > 00:00:35 verbose #550 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #551 > > inl pad_left (total_width : i32) (padding_char : char) (s : string) : string = 00:00:35 verbose #552 > > backend_switch { 00:00:35 verbose #553 > > Fsharp = fun () => $'!s.PadLeft (!total_width, !padding_char)' : string 00:00:35 verbose #554 > > Python = fun () => 00:00:35 verbose #555 > > inl padding = padding_char |> obj_to_string |> replicate 00:00:35 verbose #556 > > (total_width - length s) 00:00:35 verbose #557 > > padding +. s 00:00:35 verbose #558 > > } 00:00:35 verbose #559 > 00:00:35 debug #39 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/96ab17ee4bec3b04e28b2cc1b3fdb1af68b1b0739d42be55ad2b1ad06378410e/main.spi 00:00:35 verbose #560 > > 00:00:35 verbose #561 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #562 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #563 > > │ ### pad_right │ 00:00:35 verbose #564 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #565 > > 00:00:35 verbose #566 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:35 verbose #567 > > inl pad_right (total_width : i32) (padding_char : char) (s : string) : string = 00:00:35 verbose #568 > > $'!s.PadRight (!total_width, !padding_char)' 00:00:36 verbose #569 > 00:00:35 debug #40 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/38693af7abc2bc5a0642ea222ed577c1dbe1fa3f75e3724fafa726653f197470/main.spi 00:00:36 verbose #570 > > 00:00:36 verbose #571 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:36 verbose #572 > > //// test 00:00:36 verbose #573 > > 00:00:36 verbose #574 > > "123" 00:00:36 verbose #575 > > |> pad_right 6 ' ' 00:00:36 verbose #576 > > |> _assert_eq "123 " 00:00:36 verbose #577 > 00:00:35 debug #41 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/da7fd49cebf6f589cf66bc6516d14e8f064df15b5f6b56ebd18335fb767f49e8/main.spi 00:00:36 verbose #578 > > 00:00:36 verbose #579 > > ╭─[ 162.43ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:36 verbose #580 > > │ assert_eq / actual: "123 " / expected: "123 " │ 00:00:36 verbose #581 > > │ │ 00:00:36 verbose #582 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:36 verbose #583 > > 00:00:36 verbose #584 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:36 verbose #585 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:36 verbose #586 > > │ ### starts_with │ 00:00:36 verbose #587 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:36 verbose #588 > > 00:00:36 verbose #589 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:36 verbose #590 > > inl starts_with (value : string) (s : string) : bool = 00:00:36 verbose #591 > > $'!s.StartsWith !value ' 00:00:36 verbose #592 > 00:00:35 debug #42 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/724080290890a28811a97a4c62ae8e36315ba3efe896b59d7b37e58b633b8ae0/main.spi 00:00:36 verbose #593 > > 00:00:36 verbose #594 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:36 verbose #595 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:36 verbose #596 > > │ ### is_white_space │ 00:00:36 verbose #597 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:36 verbose #598 > > 00:00:36 verbose #599 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:36 verbose #600 > > inl is_white_space (c : char) : bool = 00:00:36 verbose #601 > > c |> $'System.Char.IsWhiteSpace' 00:00:36 verbose #602 > 00:00:36 debug #43 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ed3db544c3b0a9d41b288faaa23dffa294aa3cb8d19c8b83aa9dfc8b22c2fea/main.spi 00:00:36 verbose #603 > > 00:00:36 verbose #604 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:36 verbose #605 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:36 verbose #606 > > │ ### substring │ 00:00:36 verbose #607 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:36 verbose #608 > > 00:00:36 verbose #609 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:36 verbose #610 > > inl substring (start : i32) (len : i32) (str : string) : string = 00:00:36 verbose #611 > > $'!str.Substring (!start, !len)' 00:00:36 verbose #612 > 00:00:36 debug #44 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/13d51e04623701c249be5e0862b8773ddc898115c530c15516cbe7a508f394d5/main.spi 00:00:36 verbose #613 > > 00:00:36 verbose #614 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:36 verbose #615 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:36 verbose #616 > > │ ### to_lower │ 00:00:36 verbose #617 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:36 verbose #618 > > 00:00:36 verbose #619 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:36 verbose #620 > > inl to_lower (input : string) : string = 00:00:36 verbose #621 > > backend_switch { 00:00:36 verbose #622 > > Fsharp = fun () => $'!input.ToLower' () : string 00:00:36 verbose #623 > > Python = fun () => $'!input.lower()' : string 00:00:36 verbose #624 > > } 00:00:36 verbose #625 > 00:00:36 debug #45 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edc6a964179741340c568ee41bab38dd1df012e9518ec565cfe98b3c2ba055fa/main.spi 00:00:36 verbose #626 > > 00:00:36 verbose #627 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:36 verbose #628 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:36 verbose #629 > > │ ### to_upper │ 00:00:36 verbose #630 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:36 verbose #631 > > 00:00:36 verbose #632 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:36 verbose #633 > > inl to_upper (input : string) : string = 00:00:36 verbose #634 > > $'!input.ToUpper' () 00:00:36 verbose #635 > 00:00:36 debug #46 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/83fa73ee6119e190672cb8224a8f8f3a1ebfd96faf7ed435c8f348840a5c4cff/main.spi 00:00:37 verbose #636 > > 00:00:37 verbose #637 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:37 verbose #638 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:37 verbose #639 > > │ ### char_to_upper │ 00:00:37 verbose #640 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:37 verbose #641 > > 00:00:37 verbose #642 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:37 verbose #643 > > inl char_to_upper (input : char) : char = 00:00:37 verbose #644 > > $'System.Char.ToUpper !input ' 00:00:37 verbose #645 > 00:00:36 debug #47 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c6a667ee4fbd047702aaa9c9ba768a62c66922b66e72da36c8a941784586264f/main.spi 00:00:37 verbose #646 > > 00:00:37 verbose #647 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:37 verbose #648 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:37 verbose #649 > > │ ### string_builder │ 00:00:37 verbose #650 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:37 verbose #651 > > 00:00:37 verbose #652 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:37 verbose #653 > > nominal string_builder = $'System.Text.StringBuilder' 00:00:37 verbose #654 > > 00:00:37 verbose #655 > > inl string_builder (initial : string) : string_builder = 00:00:37 verbose #656 > > initial |> $'`string_builder ' 00:00:37 verbose #657 > 00:00:36 debug #48 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4d814b99f71d20c8b3e1d858835ed6001a914610d4aabcee045f8a9e52b6d2ad/main.spi 00:00:37 verbose #658 > > 00:00:37 verbose #659 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:37 verbose #660 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:37 verbose #661 > > │ ### builder_append │ 00:00:37 verbose #662 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:37 verbose #663 > > 00:00:37 verbose #664 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:37 verbose #665 > > inl builder_append (item : string) (sb : string_builder) : string_builder = 00:00:37 verbose #666 > > ($'!sb.Append' item : string_builder) |> ignore 00:00:37 verbose #667 > > sb 00:00:37 verbose #668 > 00:00:36 debug #49 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b09f0782f3e8df7db44f8237f362fd5d96bb67f687bd1003c318b9cc4d3827e9/main.spi 00:00:37 verbose #669 > > 00:00:37 verbose #670 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:37 verbose #671 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:37 verbose #672 > > │ ### builder_replace │ 00:00:37 verbose #673 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:37 verbose #674 > > 00:00:37 verbose #675 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:37 verbose #676 > > inl builder_replace (old : string) (new : string) (sb : string_builder) : 00:00:37 verbose #677 > > string_builder = 00:00:37 verbose #678 > > ($'!sb.Replace (!old, !new)' : string_builder) |> ignore 00:00:37 verbose #679 > > sb 00:00:37 verbose #680 > 00:00:37 debug #50 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a40931d555778c147705a64b314362d711a7fcdaf47bbe84eb2f216f925d3d72/main.spi 00:00:37 verbose #681 > > 00:00:37 verbose #682 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:37 verbose #683 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:37 verbose #684 > > │ ### builder_insert │ 00:00:37 verbose #685 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:37 verbose #686 > > 00:00:37 verbose #687 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:37 verbose #688 > > inl builder_insert (n : i32) (s : string) (sb : string_builder) : string_builder 00:00:37 verbose #689 > > = 00:00:37 verbose #690 > > ($'!sb.Insert (!n, !s)' : string_builder) |> ignore 00:00:37 verbose #691 > > sb 00:00:37 verbose #692 > 00:00:37 debug #51 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/399cbddcaf327c424145f62a5e53c918736ae58f59de68e79891c38fdefbcd4b/main.spi 00:00:38 verbose #693 > > 00:00:38 verbose #694 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #695 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #696 > > │ ### builder_clear │ 00:00:38 verbose #697 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #698 > > 00:00:38 verbose #699 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #700 > > inl builder_clear (sb : string_builder) : string_builder = 00:00:38 verbose #701 > > ($'!sb.Clear' () : string_builder) |> ignore 00:00:38 verbose #702 > > sb 00:00:38 verbose #703 > 00:00:37 debug #52 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e967f2ec1eb72a2f3543e3ee626490e68822dac40a22b8443f452766007dec26/main.spi 00:00:38 verbose #704 > > 00:00:38 verbose #705 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #706 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #707 > > │ ### trim │ 00:00:38 verbose #708 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #709 > > 00:00:38 verbose #710 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #711 > > inl trim (input : string) : string = 00:00:38 verbose #712 > > $'!input.Trim' () 00:00:38 verbose #713 > 00:00:37 debug #53 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/222cce321368f736ad8ecf303c042a8f733719bb0fde5d6dcb1514dc7d41cfc8/main.spi 00:00:38 verbose #714 > > 00:00:38 verbose #715 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #716 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #717 > > │ ### concat │ 00:00:38 verbose #718 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #719 > > 00:00:38 verbose #720 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #721 > > inl concat (a : string) (b : seq.seq' string) : string = 00:00:38 verbose #722 > > backend_switch { 00:00:38 verbose #723 > > Fsharp = fun () => 00:00:38 verbose #724 > > b |> $'String.concat' a : string 00:00:38 verbose #725 > > Python = fun () => 00:00:38 verbose #726 > > $'!a.join(!b)' : string 00:00:38 verbose #727 > > } 00:00:38 verbose #728 > 00:00:37 debug #54 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b0a86c4c88dece1aff230b337f0a9c9c1cf6097046251483c8ac7aa5c5db1d2e/main.spi 00:00:38 verbose #729 > > 00:00:38 verbose #730 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #731 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #732 > > │ ### trim_end │ 00:00:38 verbose #733 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #734 > > 00:00:38 verbose #735 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #736 > > inl trim_end (trim_chars : list char) (input : string) : string = 00:00:38 verbose #737 > > inl trim_chars = trim_chars |> listm'.box 00:00:38 verbose #738 > > backend_switch { 00:00:38 verbose #739 > > Fsharp = fun () => 00:00:38 verbose #740 > > inl trim_chars = trim_chars |> listm'.to_array' 00:00:38 verbose #741 > > $'!input.TrimEnd !trim_chars ' : string 00:00:38 verbose #742 > > Python = fun () => 00:00:38 verbose #743 > > inl trim_chars = trim_chars |> listm'.map obj_to_string |> 00:00:38 verbose #744 > > seq.of_list' |> concat "" 00:00:38 verbose #745 > > $'!input.rstrip(!trim_chars)' : string 00:00:38 verbose #746 > > } 00:00:38 verbose #747 > 00:00:38 debug #55 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9fe72ba0c51c6df2990b59c825ae5fd6b3dcab1b3583ed841bf21596452cb3bd/main.spi 00:00:38 verbose #748 > > 00:00:38 verbose #749 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #750 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #751 > > │ ### trim_start │ 00:00:38 verbose #752 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #753 > > 00:00:38 verbose #754 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #755 > > inl trim_start (trim_chars : list char) (input : string) : string = 00:00:38 verbose #756 > > inl trim_chars = trim_chars |> listm'.box 00:00:38 verbose #757 > > backend_switch { 00:00:38 verbose #758 > > Fsharp = fun () => 00:00:38 verbose #759 > > inl trim_chars = trim_chars |> listm'.to_array' 00:00:38 verbose #760 > > $'!input.TrimStart !trim_chars ' : string 00:00:38 verbose #761 > > Python = fun () => 00:00:38 verbose #762 > > inl trim_chars = trim_chars |> listm'.map obj_to_string |> 00:00:38 verbose #763 > > seq.of_list' |> concat "" 00:00:38 verbose #764 > > $'!input.lstrip(!trim_chars)' : string 00:00:38 verbose #765 > > } 00:00:38 verbose #766 > 00:00:38 debug #56 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/08ca5f2adecfc6fe66dc3c3199610074f2d2d01010986996b573c5e2dd213005/main.spi 00:00:38 verbose #767 > > 00:00:38 verbose #768 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #769 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #770 > > │ ### length' │ 00:00:38 verbose #771 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #772 > > 00:00:38 verbose #773 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #774 > > inl length' forall dim. (input : string) : dim = 00:00:38 verbose #775 > > input |> $'String.length' 00:00:38 verbose #776 > 00:00:38 debug #57 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a73748b134b47bbc1903f1f7537bafb1976e9061b29813ee3ec2489de1782f7f/main.spi 00:00:38 verbose #777 > > 00:00:38 verbose #778 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #779 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #780 > > │ ### to_string any │ 00:00:38 verbose #781 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #782 > > 00:00:38 verbose #783 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #784 > > instance to_string any = 00:00:38 verbose #785 > > obj_to_string 00:00:38 verbose #786 > 00:00:38 debug #58 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/79a0a8998228c7f956767e6da81065f5354c16137b5e346c8861bbdb461c7146/main.spi 00:00:38 verbose #787 > > 00:00:38 verbose #788 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #789 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #790 > > │ ### replace │ 00:00:38 verbose #791 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #792 > > 00:00:38 verbose #793 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #794 > > inl replace (old_value : string) (new_value : string) (s : string) : string = 00:00:38 verbose #795 > > $'!s.Replace (!old_value, !new_value)' 00:00:38 verbose #796 > 00:00:38 debug #59 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1866b85ed782513f5c8b08967dc6133811f24ee42ca556c35123d7db60f51366/main.spi 00:00:38 verbose #797 > > 00:00:38 verbose #798 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #799 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #800 > > │ ### split │ 00:00:38 verbose #801 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #802 > > 00:00:38 verbose #803 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #804 > > inl split (separator : string) (str : string) : array_base string = 00:00:38 verbose #805 > > $'!str.Split !separator ' 00:00:38 verbose #806 > 00:00:38 debug #60 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/62c1d60552b1756576700aa106fcc4697740372281fc2287a3f8ba019b738405/main.spi 00:00:38 verbose #807 > > 00:00:38 verbose #808 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:38 verbose #809 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:38 verbose #810 > > │ ### split_string │ 00:00:38 verbose #811 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:38 verbose #812 > > 00:00:38 verbose #813 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:38 verbose #814 > > inl split_string (separator : array_base string) (str : string) : array_base 00:00:38 verbose #815 > > string = 00:00:38 verbose #816 > > run_target function 00:00:38 verbose #817 > > | Fsharp (Native) => fun () => $'!str.Split (!separator, 00:00:38 verbose #818 > > System.StringSplitOptions.None)' 00:00:38 verbose #819 > > | _ => fun () => str |> split ((a separator : _ int _) |> seq.of_array 00:00:38 verbose #820 > > |> concat (join "")) 00:00:39 verbose #821 > 00:00:38 debug #61 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bef6da5c30fed4994de029774ee884576b096771cacb2b0f5e1aa8d13c0a3224/main.spi 00:00:39 verbose #822 > > 00:00:39 verbose #823 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #824 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #825 > > │ ### join' │ 00:00:39 verbose #826 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #827 > > 00:00:39 verbose #828 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #829 > > inl join' (concat : string) (s : a int string) : string = 00:00:39 verbose #830 > > $'System.String.Join (!concat, !s)' 00:00:39 verbose #831 > 00:00:38 debug #62 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/24edeb100cfaa2dd7081f36624267e8ff818c9e34c9de7b2808482a25613ee96/main.spi 00:00:39 verbose #832 > > 00:00:39 verbose #833 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #834 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #835 > > │ ### encoding │ 00:00:39 verbose #836 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #837 > > 00:00:39 verbose #838 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #839 > > nominal encoding = $'System.Text.Encoding' 00:00:39 verbose #840 > 00:00:38 debug #63 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fcf957286b72053c4646684ffda94a4a70960e45b812a00085463a73dc1d9830/main.spi 00:00:39 verbose #841 > > 00:00:39 verbose #842 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #843 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #844 > > │ ### encoding_utf8 │ 00:00:39 verbose #845 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #846 > > 00:00:39 verbose #847 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #848 > > inl encoding_utf8 () : encoding = 00:00:39 verbose #849 > > $'`encoding.UTF8' 00:00:39 verbose #850 > 00:00:38 debug #64 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/38f6cde43f5fa3ec1597a116a4e3e1dc839d839deb2ab382392d93727b00c4af/main.spi 00:00:39 verbose #851 > > 00:00:39 verbose #852 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #853 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #854 > > │ ### utf8_get_bytes │ 00:00:39 verbose #855 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #856 > > 00:00:39 verbose #857 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #858 > > inl utf8_get_bytes (s : string) : a i32 u8 = 00:00:39 verbose #859 > > s |> (encoding_utf8 () |> $'_.GetBytes') 00:00:39 verbose #860 > 00:00:38 debug #65 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f413aef19b9f4aca082fef872c25bf0e7cecbd03d569075812b294085da27480/main.spi 00:00:39 verbose #861 > > 00:00:39 verbose #862 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #863 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #864 > > │ ### byte_to_string │ 00:00:39 verbose #865 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #866 > > 00:00:39 verbose #867 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #868 > > inl byte_to_string (format : string) (x : u8) : string = 00:00:39 verbose #869 > > $'!x.ToString' format 00:00:39 verbose #870 > 00:00:39 debug #66 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0b860fccd9c8ddfd6e196e0b8b65faa45b5794a64500e8daf60bb7001cd814e2/main.spi 00:00:39 verbose #871 > > 00:00:39 verbose #872 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #873 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #874 > > │ ## rust │ 00:00:39 verbose #875 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #876 > > 00:00:39 verbose #877 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #878 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #879 > > │ ### display │ 00:00:39 verbose #880 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #881 > > 00:00:39 verbose #882 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #883 > > nominal display t = 00:00:39 verbose #884 > > `( 00:00:39 verbose #885 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:39 verbose #886 > > Fable.Core.Emit(\"std::fmt::Display<$0>\")>]]\n#endif\ntype std_fmt_Display<'T> 00:00:39 verbose #887 > > = class end" 00:00:39 verbose #888 > > $'' : $'std_fmt_Display<`t>' 00:00:39 verbose #889 > > ) 00:00:39 verbose #890 > 00:00:39 debug #67 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/529c79202fb8da9d689e69217c257bc638066c3d311ad479deba47c1bb42addb/main.spi 00:00:39 verbose #891 > > 00:00:39 verbose #892 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #893 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #894 > > │ ### str │ 00:00:39 verbose #895 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #896 > > 00:00:39 verbose #897 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #898 > > nominal str = 00:00:39 verbose #899 > > `( 00:00:39 verbose #900 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:39 verbose #901 > > Fable.Core.Emit(\"str\")>]]\n#endif\ntype Str = class end" 00:00:39 verbose #902 > > $'' : $'Str' 00:00:39 verbose #903 > > ) 00:00:39 verbose #904 > 00:00:39 debug #68 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d8d5f21358c77bd94a3a0bedf65b1ea1e6e1618f1e9dd1d2aa6cc73edf87ab4/main.spi 00:00:39 verbose #905 > > 00:00:39 verbose #906 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #907 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #908 > > │ ### base64_decode_error │ 00:00:39 verbose #909 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #910 > > 00:00:39 verbose #911 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #912 > > nominal base64_decode_error = 00:00:39 verbose #913 > > `( 00:00:39 verbose #914 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:39 verbose #915 > > Fable.Core.Emit(\"base64::DecodeError\")>]]\n#endif\ntype base64_DecodeError = 00:00:39 verbose #916 > > class end" 00:00:39 verbose #917 > > $'' : $'base64_DecodeError' 00:00:39 verbose #918 > > ) 00:00:39 verbose #919 > 00:00:39 debug #69 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d141e0671c4acf04a96c0d439b9954a39487791ef1e83dee4c67835072df4f47/main.spi 00:00:39 verbose #920 > > 00:00:39 verbose #921 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #922 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #923 > > │ ### borsh_io_error │ 00:00:39 verbose #924 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #925 > > 00:00:39 verbose #926 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #927 > > nominal borsh_io_error = 00:00:39 verbose #928 > > `( 00:00:39 verbose #929 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:39 verbose #930 > > Fable.Core.Emit(\"borsh::io::Error\")>]]\n#endif\ntype borsh_io_Error = class 00:00:39 verbose #931 > > end" 00:00:39 verbose #932 > > $'' : $'borsh_io_Error' 00:00:39 verbose #933 > > ) 00:00:39 verbose #934 > 00:00:39 debug #70 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc983b57df13cadeb7fd520d171304043344f6e3e61b51903db2ff3c871252e2/main.spi 00:00:39 verbose #935 > > 00:00:39 verbose #936 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:39 verbose #937 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:39 verbose #938 > > │ ### utf8_error │ 00:00:39 verbose #939 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:39 verbose #940 > > 00:00:39 verbose #941 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:39 verbose #942 > > nominal utf8_error = 00:00:39 verbose #943 > > `( 00:00:39 verbose #944 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:39 verbose #945 > > Fable.Core.Emit(\"std::str::Utf8Error\")>]]\n#endif\ntype std_str_Utf8Error = 00:00:39 verbose #946 > > class end" 00:00:39 verbose #947 > > $'' : $'std_str_Utf8Error' 00:00:39 verbose #948 > > ) 00:00:39 verbose #949 > 00:00:39 debug #71 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/794afba7c6c4e5adff273129f1321627390283ffa8dee1bb488e231be23840f9/main.spi 00:00:40 verbose #950 > > 00:00:40 verbose #951 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #952 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #953 > > │ ### from_utf8_error │ 00:00:40 verbose #954 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #955 > > 00:00:40 verbose #956 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #957 > > nominal from_utf8_error = 00:00:40 verbose #958 > > `( 00:00:40 verbose #959 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #960 > > Fable.Core.Emit(\"std::string::FromUtf8Error\")>]]\n#endif\ntype 00:00:40 verbose #961 > > std_string_FromUtf8Error = class end" 00:00:40 verbose #962 > > $'' : $'std_string_FromUtf8Error' 00:00:40 verbose #963 > > ) 00:00:40 verbose #964 > 00:00:39 debug #72 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f1ed0a09f4c80f114999e73573e6b38c4e8f6d316f6ef679c5f4586118105c5f/main.spi 00:00:40 verbose #965 > > 00:00:40 verbose #966 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #967 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #968 > > │ ### json_value │ 00:00:40 verbose #969 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #970 > > 00:00:40 verbose #971 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #972 > > nominal json_value = 00:00:40 verbose #973 > > `( 00:00:40 verbose #974 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #975 > > Fable.Core.Emit(\"serde_json::Value\")>]]\n#endif\ntype serde_json_Value = class 00:00:40 verbose #976 > > end" 00:00:40 verbose #977 > > $'' : $'serde_json_Value' 00:00:40 verbose #978 > > ) 00:00:40 verbose #979 > 00:00:39 debug #73 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6d62268ae99c773fe047b07311c4c866b9cd0f59654868f39a6e1a4b752f453d/main.spi 00:00:40 verbose #980 > > 00:00:40 verbose #981 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #982 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #983 > > │ ### json_error │ 00:00:40 verbose #984 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #985 > > 00:00:40 verbose #986 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #987 > > nominal json_error = 00:00:40 verbose #988 > > `( 00:00:40 verbose #989 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #990 > > Fable.Core.Emit(\"serde_json::Error\")>]]\n#endif\ntype serde_json_Error = class 00:00:40 verbose #991 > > end" 00:00:40 verbose #992 > > $'' : $'serde_json_Error' 00:00:40 verbose #993 > > ) 00:00:40 verbose #994 > 00:00:39 debug #74 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e1268e140a9d15942b7a17374af45a36446209a999a37a0bb176874ba2cd944a/main.spi 00:00:40 verbose #995 > > 00:00:40 verbose #996 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #997 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #998 > > │ ### serde_wasm_bindgen_error │ 00:00:40 verbose #999 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1000 > > 00:00:40 verbose #1001 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1002 > > nominal serde_wasm_bindgen_error = 00:00:40 verbose #1003 > > `( 00:00:40 verbose #1004 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #1005 > > Fable.Core.Emit(\"serde_wasm_bindgen::Error\")>]]\n#endif\ntype 00:00:40 verbose #1006 > > serde_wasm_bindgen_Error = class end" 00:00:40 verbose #1007 > > $'' : $'serde_wasm_bindgen_Error' 00:00:40 verbose #1008 > > ) 00:00:40 verbose #1009 > 00:00:39 debug #75 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4dcd9b4b8bfb8084bd634807cc9698cce1171822236886a56335361267dec725/main.spi 00:00:40 verbose #1010 > > 00:00:40 verbose #1011 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1012 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1013 > > │ ### js_string │ 00:00:40 verbose #1014 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1015 > > 00:00:40 verbose #1016 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1017 > > nominal js_string = 00:00:40 verbose #1018 > > `( 00:00:40 verbose #1019 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #1020 > > Fable.Core.Emit(\"js_sys::JsString\")>]]\n#endif\ntype js_sys_JsString = class 00:00:40 verbose #1021 > > end" 00:00:40 verbose #1022 > > $'' : $'js_sys_JsString' 00:00:40 verbose #1023 > > ) 00:00:40 verbose #1024 > 00:00:39 debug #76 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f0d36ce8fd2596aa68c4931fab45643ec4bc26af601058438a4a8ab2c2c07916/main.spi 00:00:40 verbose #1025 > > 00:00:40 verbose #1026 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1027 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1028 > > │ ### os_str │ 00:00:40 verbose #1029 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1030 > > 00:00:40 verbose #1031 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1032 > > nominal os_str = 00:00:40 verbose #1033 > > `( 00:00:40 verbose #1034 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #1035 > > Fable.Core.Emit(\"std::ffi::OsStr\")>]]\n#endif\ntype std_ffi_OsStr = class end" 00:00:40 verbose #1036 > > $'' : $'std_ffi_OsStr' 00:00:40 verbose #1037 > > ) 00:00:40 verbose #1038 > 00:00:40 debug #77 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7704e449d6ac87d7da110442bfb1ea4ba7acc4872e76b8b77ec1d23eae61ba3c/main.spi 00:00:40 verbose #1039 > > 00:00:40 verbose #1040 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1041 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1042 > > │ ### os_string │ 00:00:40 verbose #1043 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1044 > > 00:00:40 verbose #1045 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1046 > > nominal os_string = 00:00:40 verbose #1047 > > `( 00:00:40 verbose #1048 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #1049 > > Fable.Core.Emit(\"std::ffi::OsString\")>]]\n#endif\ntype std_ffi_OsString = 00:00:40 verbose #1050 > > class end" 00:00:40 verbose #1051 > > $'' : $'std_ffi_OsString' 00:00:40 verbose #1052 > > ) 00:00:40 verbose #1053 > 00:00:40 debug #78 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3262aec42955c3e9706f0174b566dffd7671bf3dcd3643f293d4a5d58e63f60b/main.spi 00:00:40 verbose #1054 > > 00:00:40 verbose #1055 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1056 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1057 > > │ ### std_string │ 00:00:40 verbose #1058 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1059 > > 00:00:40 verbose #1060 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1061 > > nominal std_string = 00:00:40 verbose #1062 > > `( 00:00:40 verbose #1063 > > backend_switch `(()) `({}) { 00:00:40 verbose #1064 > > Fsharp = 00:00:40 verbose #1065 > > (fun () => 00:00:40 verbose #1066 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:40 verbose #1067 > > Fable.Core.Emit(\"std::string::String\")>]]\n#endif\ntype std_string_String = 00:00:40 verbose #1068 > > class end" 00:00:40 verbose #1069 > > ) : () -> () 00:00:40 verbose #1070 > > } 00:00:40 verbose #1071 > > $'' : $'std_string_String' 00:00:40 verbose #1072 > > ) 00:00:40 verbose #1073 > 00:00:40 debug #79 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/29add921f408f322fec9baf3f4b378d33dda8ce951eb6d0071f6dc8d176a2f97/main.spi 00:00:40 verbose #1074 > > 00:00:40 verbose #1075 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1076 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1077 > > │ ### raw_string_literal │ 00:00:40 verbose #1078 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1079 > > 00:00:40 verbose #1080 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1081 > > inl raw_string_literal (s : string) : rust.ref str = 00:00:40 verbose #1082 > > !\($'"r#\\"" + !s + "\\"#"') 00:00:40 verbose #1083 > 00:00:40 debug #80 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0537737b94e58b05121d225d723a4ec37bfa44f28c71e0ea9b6f91c009d0fcac/main.spi 00:00:40 verbose #1084 > > 00:00:40 verbose #1085 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1086 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1087 > > │ ### raw_string_literal_static │ 00:00:40 verbose #1088 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1089 > > 00:00:40 verbose #1090 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1091 > > inl raw_string_literal_static (s : string) : rust.static_ref str = 00:00:40 verbose #1092 > > !\($'"r#\\"" + !s + "\\"#"') 00:00:40 verbose #1093 > 00:00:40 debug #81 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/479bfac701ff7c4ca701f36a7658d64746ee64df9ad5b21ee017e33d43098bb5/main.spi 00:00:40 verbose #1094 > > 00:00:40 verbose #1095 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:40 verbose #1096 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:40 verbose #1097 > > │ ### (~#) │ 00:00:40 verbose #1098 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:40 verbose #1099 > > 00:00:40 verbose #1100 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:40 verbose #1101 > > inl (~#) s = 00:00:40 verbose #1102 > > s |> raw_string_literal 00:00:40 verbose #1103 > 00:00:40 debug #82 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f8323b052d8a43ff2ce9a59510f77a32df7326e4fa0ce66a6bdbd25f119e33eb/main.spi 00:00:41 verbose #1104 > > 00:00:41 verbose #1105 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1106 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1107 > > │ ### (~##) │ 00:00:41 verbose #1108 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1109 > > 00:00:41 verbose #1110 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1111 > > inl (~##) s = 00:00:41 verbose #1112 > > s |> raw_string_literal_static 00:00:41 verbose #1113 > 00:00:40 debug #83 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe8d193c34080947b95b4115f67a284670247fd000e948203cc419309ea6da17/main.spi 00:00:41 verbose #1114 > > 00:00:41 verbose #1115 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1116 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1117 > > │ ### include_str │ 00:00:41 verbose #1118 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1119 > > 00:00:41 verbose #1120 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1121 > > inl include_str (path : string) : rust.ref str = 00:00:41 verbose #1122 > > !\($'"include_str\!(\\\"" + !path + "\\\")"') 00:00:41 verbose #1123 > 00:00:40 debug #84 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/31f347e3e7e032c52b7b1fb6cd9dee0cb258ff057c817729c37f3d53b204f4d9/main.spi 00:00:41 verbose #1124 > > 00:00:41 verbose #1125 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1126 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1127 > > │ ### as_str │ 00:00:41 verbose #1128 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1129 > > 00:00:41 verbose #1130 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1131 > > inl as_str (s : string) : rust.ref str = 00:00:41 verbose #1132 > > // !\\(s, $'"fable_library_rust::String_::LrcStr::as_str(&$0)"') 00:00:41 verbose #1133 > > !\\(s, $'"&*$0"') 00:00:41 verbose #1134 > 00:00:40 debug #85 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ea46a3a5094cbd0bc193f1f8ba4fa48547172517739464db75ccbb640bba7362/main.spi 00:00:41 verbose #1135 > > 00:00:41 verbose #1136 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1137 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1138 > > │ ### from_std_string │ 00:00:41 verbose #1139 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1140 > > 00:00:41 verbose #1141 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1142 > > inl from_std_string (str : std_string) : string = 00:00:41 verbose #1143 > > !\\(str, $'"fable_library_rust::String_::fromString($0)"') 00:00:41 verbose #1144 > 00:00:40 debug #86 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3da5f16c1b1e26dfe39e09ac8478c9df5b4ecde83dbcb71a198ba6d6561786af/main.spi 00:00:41 verbose #1145 > > 00:00:41 verbose #1146 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1147 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1148 > > │ ### ref_to_std_string │ 00:00:41 verbose #1149 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1150 > > 00:00:41 verbose #1151 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1152 > > inl ref_to_std_string (str : rust.ref str) : std_string = 00:00:41 verbose #1153 > > !\\(str, $'"String::from($0)"') 00:00:41 verbose #1154 > 00:00:41 debug #87 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3b13eb96f4c3834e992f356f4c929b86febe19924cb3f92fbd2eb03372e924f4/main.spi 00:00:41 verbose #1155 > > 00:00:41 verbose #1156 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1157 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1158 > > │ ### cow_to_std_string │ 00:00:41 verbose #1159 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1160 > > 00:00:41 verbose #1161 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1162 > > inl cow_to_std_string (str : rust.cow str) : std_string = 00:00:41 verbose #1163 > > !\\(str, $'"String::from($0)"') 00:00:41 verbose #1164 > 00:00:41 debug #88 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/81320af0fcfe7d13198b11e2d50525d4c5cbed6ffd3ab6ef344a091e28cdbefb/main.spi 00:00:41 verbose #1165 > > 00:00:41 verbose #1166 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1167 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1168 > > │ ### to_std_string │ 00:00:41 verbose #1169 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1170 > > 00:00:41 verbose #1171 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1172 > > inl to_std_string (s : string) : std_string = 00:00:41 verbose #1173 > > s |> as_str |> ref_to_std_string 00:00:41 verbose #1174 > 00:00:41 debug #89 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/42b307386cdb7bfe31ead116a925cb117ed9b26ef6a8f4fbaddd795b03c0e865/main.spi 00:00:41 verbose #1175 > > 00:00:41 verbose #1176 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1177 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1178 > > │ ### as_str_std │ 00:00:41 verbose #1179 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1180 > > 00:00:41 verbose #1181 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1182 > > inl as_str_std (s : std_string) : rust.ref str = 00:00:41 verbose #1183 > > !\\(s, $'"$0.as_str()"') 00:00:41 verbose #1184 > 00:00:41 debug #90 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/50f1f7ce0e0efe19b6475374d7fe86e798a07950121c6ecb690695d5d6841087/main.spi 00:00:41 verbose #1185 > > 00:00:41 verbose #1186 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1187 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1188 > > │ ### into_boxed_str │ 00:00:41 verbose #1189 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1190 > > 00:00:41 verbose #1191 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1192 > > inl into_boxed_str (s : std_string) : rust.box str = 00:00:41 verbose #1193 > > !\\(s, $'"$0.into_boxed_str()"') 00:00:41 verbose #1194 > 00:00:41 debug #91 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c6def788928908172d95cb583d15cc2fb3cca582f9e561e183b9aa253dc3304b/main.spi 00:00:41 verbose #1195 > > 00:00:41 verbose #1196 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:41 verbose #1197 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:41 verbose #1198 > > │ ### os_string_as_ref │ 00:00:41 verbose #1199 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:41 verbose #1200 > > 00:00:41 verbose #1201 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:41 verbose #1202 > > inl os_string_as_ref (s : os_string) : rust.ref os_str = 00:00:41 verbose #1203 > > !\\(s, $'"$0.as_ref()"') 00:00:41 verbose #1204 > 00:00:41 debug #92 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/762e337bcb20935912f9e4f61fc244fa2586e0d124aad5597dcce44b76e13575/main.spi 00:00:42 verbose #1205 > > 00:00:42 verbose #1206 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #1207 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #1208 > > │ ### to_os_string │ 00:00:42 verbose #1209 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #1210 > > 00:00:42 verbose #1211 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #1212 > > inl to_os_string (s : rust.ref os_str) : os_string = 00:00:42 verbose #1213 > > !\\(s, $'"$0.to_os_string()"') 00:00:42 verbose #1214 > 00:00:41 debug #93 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/98b5007cb795b9c0d199c9530b7c47b00b874569bc3a2ca566f1acb913d5a583/main.spi 00:00:42 verbose #1215 > > 00:00:42 verbose #1216 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #1217 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #1218 > > │ ### os_to_str │ 00:00:42 verbose #1219 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #1220 > > 00:00:42 verbose #1221 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #1222 > > inl os_to_str (s : os_string) : optionm'.option' (rust.ref str) = 00:00:42 verbose #1223 > > !\\(s, $'"$0.to_str()"') 00:00:42 verbose #1224 > 00:00:41 debug #94 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f5b07c30a201ac7f0c3bf308fa0b275f9c3f836c1f5994b5c461ccfac747bfef/main.spi 00:00:42 verbose #1225 > > 00:00:42 verbose #1226 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #1227 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #1228 > > │ ### from_os_str_ref │ 00:00:42 verbose #1229 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #1230 > > 00:00:42 verbose #1231 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #1232 > > inl from_os_str_ref s = 00:00:42 verbose #1233 > > s 00:00:42 verbose #1234 > > |> to_os_string 00:00:42 verbose #1235 > > |> os_to_str 00:00:42 verbose #1236 > > |> optionm'.unwrap 00:00:42 verbose #1237 > > |> ref_to_std_string 00:00:42 verbose #1238 > > |> from_std_string 00:00:42 verbose #1239 > 00:00:41 debug #95 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b0a4adbd913fdc3ebdff205f7c1c85e8d35f63b05b4be10ca036c48808554d7e/main.spi 00:00:42 verbose #1240 > > 00:00:42 verbose #1241 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #1242 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #1243 > > │ ### format_custom' │ 00:00:42 verbose #1244 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #1245 > > 00:00:42 verbose #1246 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #1247 > > inl format_custom' (format : string) x : std_string = 00:00:42 verbose #1248 > > run_target function 00:00:42 verbose #1249 > > | Rust _ => fun () => 00:00:42 verbose #1250 > > !\\(x, $'"format\!(\\\"" + !format + "\\\", $0)"') 00:00:42 verbose #1251 > > | _ => fun () => null () 00:00:42 verbose #1252 > 00:00:41 debug #96 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/688f938c5c7ac3e02ad9a2336181287452f46fa880966748180af59c6da6a6d5/main.spi 00:00:42 verbose #1253 > > 00:00:42 verbose #1254 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #1255 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #1256 > > │ ### format' │ 00:00:42 verbose #1257 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #1258 > > 00:00:42 verbose #1259 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #1260 > > inl format' x : std_string = 00:00:42 verbose #1261 > > run_target function 00:00:42 verbose #1262 > > | Rust _ => fun () => 00:00:42 verbose #1263 > > !\\(x, $'"format\!(\\\"{}\\\", $0)"') 00:00:42 verbose #1264 > > | _ => fun () => null () 00:00:42 verbose #1265 > 00:00:42 debug #97 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aafe04737af6d3296fc13b60011c7d1d495e4d51aa4e582c95a4c4824114f007/main.spi 00:00:42 verbose #1266 > > 00:00:42 verbose #1267 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:42 verbose #1268 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:42 verbose #1269 > > │ ### format_debug' │ 00:00:42 verbose #1270 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:42 verbose #1271 > > 00:00:42 verbose #1272 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:42 verbose #1273 > > inl format_debug' x : std_string = 00:00:42 verbose #1274 > > run_target function 00:00:42 verbose #1275 > > | Rust _ => fun () => 00:00:42 verbose #1276 > > !\\(x, $'"format\!(\\\"{:?}\\\", $0)"') 00:00:42 verbose #1277 > > | _ => fun () => null () 00:00:42 verbose #1278 > 00:00:42 debug #98 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a32d5cd44d65f5fdfe9ea7d3e015c6e62676a31c0a291990201514c68bb86c37/main.spi 00:00:43 verbose #1279 > > 00:00:43 verbose #1280 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1281 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1282 > > │ ### format_pretty' │ 00:00:43 verbose #1283 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1284 > > 00:00:43 verbose #1285 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1286 > > inl format_pretty' x : std_string = 00:00:43 verbose #1287 > > run_target function 00:00:43 verbose #1288 > > | Rust _ => fun () => 00:00:43 verbose #1289 > > !\\(x, $'"format\!(\\\"{:#?}\\\", $0)"') 00:00:43 verbose #1290 > > | _ => fun () => null () 00:00:43 verbose #1291 > 00:00:42 debug #99 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/35188952494aa100ed7b19bdbed365a5b412fac052877fc68f937e6204beede2/main.spi 00:00:43 verbose #1292 > > 00:00:43 verbose #1293 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1294 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1295 > > │ ### format_hex' │ 00:00:43 verbose #1296 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1297 > > 00:00:43 verbose #1298 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1299 > > inl format_hex' x : std_string = 00:00:43 verbose #1300 > > !\\(x, $'"format\!(\\\"{:02x}\\\", $0)"') 00:00:43 verbose #1301 > 00:00:42 debug #100 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/983f70c260baff28edc55eacccf2fa4717f4c657191f6dd91e48ccdabb90c4d8/main.spi 00:00:43 verbose #1302 > > 00:00:43 verbose #1303 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1304 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1305 > > │ ### format'' │ 00:00:43 verbose #1306 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1307 > > 00:00:43 verbose #1308 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1309 > > inl format'' (format : string) : std_string = 00:00:43 verbose #1310 > > !\($'@@$"format\!(" + !format + ")"') 00:00:43 verbose #1311 > 00:00:42 debug #101 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/01107b2fb59daaed8baa77bfeec853b63054e3097fa9c26fb5aba4f4fdaf85e0/main.spi 00:00:43 verbose #1312 > > 00:00:43 verbose #1313 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1314 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1315 > > │ ### regex │ 00:00:43 verbose #1316 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1317 > > 00:00:43 verbose #1318 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1319 > > nominal regex = 00:00:43 verbose #1320 > > `( 00:00:43 verbose #1321 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:43 verbose #1322 > > Fable.Core.Emit(\"regex::Regex\")>]]\n#endif\ntype regex_Regex = class end" 00:00:43 verbose #1323 > > $'' : $'regex_Regex' 00:00:43 verbose #1324 > > ) 00:00:43 verbose #1325 > 00:00:43 debug #102 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97e427a98f34c3e2afbf3a224a441b7e4bc02f978647ce65cabe8595b3827e38/main.spi 00:00:43 verbose #1326 > > 00:00:43 verbose #1327 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1328 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1329 > > │ ### regex_error │ 00:00:43 verbose #1330 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1331 > > 00:00:43 verbose #1332 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1333 > > nominal regex_error = 00:00:43 verbose #1334 > > `( 00:00:43 verbose #1335 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:43 verbose #1336 > > Fable.Core.Emit(\"regex::Error\")>]]\n#endif\ntype regex_Error = class end" 00:00:43 verbose #1337 > > $'' : $'regex_Error' 00:00:43 verbose #1338 > > ) 00:00:43 verbose #1339 > 00:00:43 debug #103 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/32940af2e82adab4aeaf090d4d07e53845da1a52976fafb01a5e1c7884f6080c/main.spi 00:00:43 verbose #1340 > > 00:00:43 verbose #1341 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1342 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1343 > > │ ### new_regex │ 00:00:43 verbose #1344 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1345 > > 00:00:43 verbose #1346 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1347 > > inl new_regex (pattern : string) : resultm.result' regex regex_error = 00:00:43 verbose #1348 > > !\\(pattern, $'$"regex::Regex::new(&$0)"') 00:00:43 verbose #1349 > 00:00:43 debug #104 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6a361fc837c9879fec7c141607bbae19d00631cc52e4b26495e79e4dd0771b5a/main.spi 00:00:43 verbose #1350 > > 00:00:43 verbose #1351 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1352 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1353 > > │ ### captures │ 00:00:43 verbose #1354 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1355 > > 00:00:43 verbose #1356 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1357 > > nominal regex_captures t = 00:00:43 verbose #1358 > > `( 00:00:43 verbose #1359 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:43 verbose #1360 > > Fable.Core.Emit(\"regex::Captures<$0>\")>]]\n#endif\ntype regex_Captures<'T> = 00:00:43 verbose #1361 > > class end" 00:00:43 verbose #1362 > > $'' : $'regex_Captures<`t>' 00:00:43 verbose #1363 > > ) 00:00:43 verbose #1364 > 00:00:43 debug #105 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b52d63ae2c6dbcc82991e95288e4817c0e06ec8c960f2dcbfa98899e340fded8/main.spi 00:00:43 verbose #1365 > > 00:00:43 verbose #1366 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1367 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1368 > > │ ### regex_capture_matches │ 00:00:43 verbose #1369 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1370 > > 00:00:43 verbose #1371 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1372 > > nominal regex_capture_matches = 00:00:43 verbose #1373 > > `( 00:00:43 verbose #1374 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:43 verbose #1375 > > Fable.Core.Emit(\"regex::CaptureMatches\")>]]\n#endif\ntype regex_CaptureMatches 00:00:43 verbose #1376 > > = class end" 00:00:43 verbose #1377 > > $'' : $'regex_CaptureMatches' 00:00:43 verbose #1378 > > ) 00:00:43 verbose #1379 > 00:00:43 debug #106 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/33de945e2fd569a136cc72fe3bd926a3df279c643a6c36f96e430f6bf021700b/main.spi 00:00:43 verbose #1380 > > 00:00:43 verbose #1381 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:43 verbose #1382 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:43 verbose #1383 > > │ ### regex_capture_names │ 00:00:43 verbose #1384 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:43 verbose #1385 > > 00:00:43 verbose #1386 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:43 verbose #1387 > > nominal regex_capture_names = 00:00:43 verbose #1388 > > `( 00:00:43 verbose #1389 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:43 verbose #1390 > > Fable.Core.Emit(\"regex::CaptureNames\")>]]\n#endif\ntype regex_CaptureNames = 00:00:43 verbose #1391 > > class end" 00:00:43 verbose #1392 > > $'' : $'regex_CaptureNames' 00:00:43 verbose #1393 > > ) 00:00:43 verbose #1394 > > 00:00:43 verbose #1395 > > inl regex_capture_names (regex : regex) : regex_capture_names = 00:00:43 verbose #1396 > > !\\(regex, $'$"$0.capture_names()"') 00:00:43 verbose #1397 > 00:00:43 debug #107 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cfd2e4b058a435cec2bb649a226013eb604cf1874cf27b6797fb0efcdaf9b867/main.spi 00:00:44 verbose #1398 > > 00:00:44 verbose #1399 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:44 verbose #1400 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:44 verbose #1401 > > │ ### match' │ 00:00:44 verbose #1402 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:44 verbose #1403 > > 00:00:44 verbose #1404 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:44 verbose #1405 > > nominal match' = 00:00:44 verbose #1406 > > `( 00:00:44 verbose #1407 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:44 verbose #1408 > > Fable.Core.Emit(\"regex::Match\")>]]\n#endif\ntype regex_Match = class end" 00:00:44 verbose #1409 > > $'' : $'regex_Match' 00:00:44 verbose #1410 > > ) 00:00:44 verbose #1411 > 00:00:43 debug #108 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0d038f3436607dce1a3dac7cd4b3418e5ade5abcc55fd4c88b7ca70f4ffbbcc1/main.spi 00:00:44 verbose #1412 > > 00:00:44 verbose #1413 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:44 verbose #1414 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:44 verbose #1415 > > │ ### regex_captures_iter │ 00:00:44 verbose #1416 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:44 verbose #1417 > > 00:00:44 verbose #1418 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:44 verbose #1419 > > inl regex_captures_iter (s : rust.static_ref (rust.mut' std_string)) (regex : 00:00:44 verbose #1420 > > regex) : regex_capture_matches = 00:00:44 verbose #1421 > > !\($'$"!regex.captures_iter(!s)"') 00:00:44 verbose #1422 > 00:00:43 debug #109 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15c1e977deab5e56e65c51c09d7625b57a7e0db3b7bea7800c7c9577a1d51ea7/main.spi 00:00:44 verbose #1423 > > 00:00:44 verbose #1424 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:44 verbose #1425 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:44 verbose #1426 > > │ ### regex_captures │ 00:00:44 verbose #1427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:44 verbose #1428 > > 00:00:44 verbose #1429 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:44 verbose #1430 > > inl regex_captures (s : string) (regex : regex) : am'.vec (mapm.hash_map string 00:00:44 verbose #1431 > > string) = 00:00:44 verbose #1432 > > // inl s = join s 00:00:44 verbose #1433 > > // !\\(regex, $'$"$0.captures_iter(&*!s).map(|caps| 00:00:44 verbose #1434 > > $0.capture_names().map(|x| x.and_then(|n| Some((n, 00:00:44 verbose #1435 > > caps.name(n)?.as_str())))).flatten().collect()).collect()"') 00:00:44 verbose #1436 > > 00:00:44 verbose #1437 > > inl s = s |> to_std_string 00:00:44 verbose #1438 > > fun () => 00:00:44 verbose #1439 > > inl matches = 00:00:44 verbose #1440 > > inl s = s |> rust.new_box |> rust.box_leak 00:00:44 verbose #1441 > > regex |> regex_captures_iter s 00:00:44 verbose #1442 > > 00:00:44 verbose #1443 > > (!\($'"true; let _result : Vec<_> = !matches.map(|x| { //"') : bool) |> 00:00:44 verbose #1444 > > ignore 00:00:44 verbose #1445 > > 00:00:44 verbose #1446 > > inl fn (match' : rust.static_ref (rust.mut' (regex_captures 00:00:44 verbose #1447 > > rust.static_lifetime))) : mapm.hash_map string string = 00:00:44 verbose #1448 > > 00:00:44 verbose #1449 > > inl names = regex |> regex_capture_names 00:00:44 verbose #1450 > > 00:00:44 verbose #1451 > > (!\($'"true; let _result : std::collections::HashMap<_, _> = 00:00:44 verbose #1452 > > !names.map(|x| { //"') : bool) |> ignore 00:00:44 verbose #1453 > > 00:00:44 verbose #1454 > > inl fn (n : string) : pair string string = 00:00:44 verbose #1455 > > inl n' = n |> rust.clone 00:00:44 verbose #1456 > > 00:00:44 verbose #1457 > > new_pair n' !\\(n, $'$"!match'.name(&$0).map(|x| 00:00:44 verbose #1458 > > x.as_str()).unwrap_or(\\\"\\\").to_string().into()"') 00:00:44 verbose #1459 > > 00:00:44 verbose #1460 > > (!\\(fn !\($'"x.unwrap_or(\\\"\\\").to_string().into()"'), $'"true; 00:00:44 verbose #1461 > > $0 }).map(|x| std::sync::Arc::try_unwrap(x).unwrap_or_else(|x| 00:00:44 verbose #1462 > > (*x).clone())).collect()"') : bool) |> ignore 00:00:44 verbose #1463 > > 00:00:44 verbose #1464 > > !\($'"_result"') 00:00:44 verbose #1465 > > 00:00:44 verbose #1466 > > inl x = 00:00:44 verbose #1467 > > !\($'$"x"') 00:00:44 verbose #1468 > > |> rust.new_box 00:00:44 verbose #1469 > > |> rust.box_leak 00:00:44 verbose #1470 > > 00:00:44 verbose #1471 > > (!\\(fn x, $'"true; $0 }).collect::<Vec<_>>()"') : bool) |> ignore 00:00:44 verbose #1472 > > 00:00:44 verbose #1473 > > !\($'"_result"') 00:00:44 verbose #1474 > > 00:00:44 verbose #1475 > > |> rust.capture_move 00:00:44 verbose #1476 > 00:00:43 debug #110 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/907a884dd24e4a57cde0bb9847094c3f7e2bdaaa6a7e7fa0247fa5fdbf16d048/main.spi 00:00:44 verbose #1477 > > 00:00:44 verbose #1478 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:44 verbose #1479 > > //// test 00:00:44 verbose #1480 > > ///! rust -d regex 00:00:44 verbose #1481 > > 00:00:44 verbose #1482 > > "fable-library-ts\\.(?<a>[[\\d.]]+)$" 00:00:44 verbose #1483 > > |> new_regex 00:00:44 verbose #1484 > > |> resultm.unwrap' 00:00:44 verbose #1485 > > |> regex_captures "fable_modules/fable-library-ts.4.17.0" 00:00:44 verbose #1486 > > |> am'.vec_map (mapm.to_vec >> am'.vec_sort_by_key id) 00:00:44 verbose #1487 > > |> sm'.format_debug 00:00:44 verbose #1488 > > |> _assert_eq ( 00:00:44 verbose #1489 > > ;[[ 00:00:44 verbose #1490 > > ;[[ "", ""; "a", "4.17.0" ]] 00:00:44 verbose #1491 > > |> am'.to_vec 00:00:44 verbose #1492 > > ]] 00:00:44 verbose #1493 > > |> am'.to_vec 00:00:44 verbose #1494 > > |> sm'.format_debug 00:00:44 verbose #1495 > > ) 00:00:44 verbose #1496 > 00:00:43 debug #111 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8d404b57b5937d22fd95aa8e88dee75d13196cc2c31edac166d6e13d7a413076/main.spi 00:00:51 verbose #1497 > > 00:00:51 verbose #1498 > > ╭─[ 7.57s - return value ]─────────────────────────────────────────────────────╮ 00:00:51 verbose #1499 > > │ assert_eq / actual: "[[("", ""), ("a", "4.17.0")]]" / expected: "[[("", ""), │ 00:00:51 verbose #1500 > > │ ("a", "4.17.0")]]" │ 00:00:51 verbose #1501 > > │ │ 00:00:51 verbose #1502 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #1503 > > 00:00:51 verbose #1504 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:51 verbose #1505 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:51 verbose #1506 > > │ ### replace_regex' │ 00:00:51 verbose #1507 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #1508 > > 00:00:51 verbose #1509 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:51 verbose #1510 > > inl replace_regex' (pattern : string) (replacement : a i32 string) (s : string) 00:00:51 verbose #1511 > > : string = 00:00:51 verbose #1512 > > run_target function 00:00:51 verbose #1513 > > | Rust (Native) => fun () => 00:00:51 verbose #1514 > > inl s = join s 00:00:51 verbose #1515 > > inl replacement = join replacement 00:00:51 verbose #1516 > > inl regex = pattern |> new_regex |> resultm.unwrap' 00:00:51 verbose #1517 > > !\\((regex, #s, replacement), $'$"$0.replace_all($1, &*$2)"') 00:00:51 verbose #1518 > > |> cow_to_std_string 00:00:51 verbose #1519 > > |> from_std_string 00:00:51 verbose #1520 > > | _ => fun () => null () 00:00:51 verbose #1521 > 00:00:51 debug #112 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/06c8b23a9b3837dfe3ff0011f1207634350b9026d27b85ecfadf7fbc7843cc43/main.spi 00:00:52 verbose #1522 > > 00:00:52 verbose #1523 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1524 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1525 > > │ ### serialize │ 00:00:52 verbose #1526 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1527 > > 00:00:52 verbose #1528 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1529 > > inl serialize forall t. (x : t) : resultm.result' std_string json_error = 00:00:52 verbose #1530 > > !\($'"serde_json::to_string(&!x)"') 00:00:52 verbose #1531 > 00:00:51 debug #113 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/291b8413971e749405a56b6c0ea6bc6ac4e59e86875e012c19c6402f9d0bc71e/main.spi 00:00:52 verbose #1532 > > 00:00:52 verbose #1533 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1534 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1535 > > │ ### deserialize │ 00:00:52 verbose #1536 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1537 > > 00:00:52 verbose #1538 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1539 > > inl deserialize forall t. (json : string) : resultm.result' t std_string = 00:00:52 verbose #1540 > > inl json = join json 00:00:52 verbose #1541 > > inl json = json |> as_str 00:00:52 verbose #1542 > > !\($'"serde_json::from_str(&!json)"') 00:00:52 verbose #1543 > > |> resultm.map_error' fun (x : json_error) => x |> format' 00:00:52 verbose #1544 > 00:00:51 debug #114 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3fcba496e5b56763a3f2d059621dadbd7a409b2ec02111c04ca59e69653655df/main.spi 00:00:52 verbose #1545 > > 00:00:52 verbose #1546 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1547 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1548 > > │ ### borsh_deserialize │ 00:00:52 verbose #1549 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1550 > > 00:00:52 verbose #1551 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1552 > > inl borsh_deserialize forall t. (data : array_base u8) : resultm.result' t 00:00:52 verbose #1553 > > std_string = 00:00:52 verbose #1554 > > inl data = data |> am'.as_slice 00:00:52 verbose #1555 > > (!\($'"true; let mut !data = !data"') : bool) |> ignore 00:00:52 verbose #1556 > > inl result = !\($'"borsh::BorshDeserialize::deserialize(&mut !data)"') 00:00:52 verbose #1557 > > result 00:00:52 verbose #1558 > > |> resultm.map_error' fun (x : borsh_io_error) => x |> format' 00:00:52 verbose #1559 > 00:00:51 debug #115 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/25b18413ccefebd7eba48d246df776fcafb001ef591229d1a0688124be16b66d/main.spi 00:00:52 verbose #1560 > > 00:00:52 verbose #1561 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1562 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1563 > > │ ### deserialize_vec │ 00:00:52 verbose #1564 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1565 > > 00:00:52 verbose #1566 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1567 > > inl deserialize_vec (value : json_value) : resultm.result' (am'.vec u8) 00:00:52 verbose #1568 > > std_string = 00:00:52 verbose #1569 > > inl value = join value 00:00:52 verbose #1570 > > !\($'"serde_json::from_value(!value)"') 00:00:52 verbose #1571 > > |> resultm.map_error' fun (x : json_error) => x |> format' 00:00:52 verbose #1572 > 00:00:51 debug #116 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/993a2debbf260f105606f34166dfd47d7b003635442cf910dce11c3e3c0f1d24/main.spi 00:00:52 verbose #1573 > > 00:00:52 verbose #1574 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1575 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1576 > > │ ### encode_uri_component │ 00:00:52 verbose #1577 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1578 > > 00:00:52 verbose #1579 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1580 > > inl encode_uri_component (s : std_string) : js_string = 00:00:52 verbose #1581 > > !\($'"js_sys::encode_uri_component(&!s)"') 00:00:52 verbose #1582 > 00:00:52 debug #117 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/efc3ab04e927aeea9937b98330907631337cddd5f6707a865307d1167ec6b8ab/main.spi 00:00:52 verbose #1583 > > 00:00:52 verbose #1584 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1585 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1586 > > │ ### strip_prefix │ 00:00:52 verbose #1587 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1588 > > 00:00:52 verbose #1589 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1590 > > inl strip_prefix (prefix : char) (s : std_string) : optionm'.option' (rust.ref 00:00:52 verbose #1591 > > str) = 00:00:52 verbose #1592 > > inl s = join s 00:00:52 verbose #1593 > > !\($'"!s.strip_prefix(!prefix)"') 00:00:52 verbose #1594 > 00:00:52 debug #118 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e76ae19ae6d6c9adf971eeadfaf99e65f57976e91d88d44e186b9202785d46a4/main.spi 00:00:52 verbose #1595 > > 00:00:52 verbose #1596 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1597 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1598 > > │ ### str_from_utf8 │ 00:00:52 verbose #1599 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1600 > > 00:00:52 verbose #1601 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1602 > > inl str_from_utf8 (bytes : rust.ref (am'.slice u8)) : resultm.result' (rust.ref 00:00:52 verbose #1603 > > str) utf8_error = 00:00:52 verbose #1604 > > !\\(bytes, $'"std::str::from_utf8($0)"') 00:00:52 verbose #1605 > 00:00:52 debug #119 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e1f612d4674aa4b0e90f4d4f5ec5b29956d2d21369c37189d32c4d3122a1e064/main.spi 00:00:52 verbose #1606 > > 00:00:52 verbose #1607 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1608 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1609 > > │ ### string_from_utf8 │ 00:00:52 verbose #1610 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1611 > > 00:00:52 verbose #1612 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1613 > > inl string_from_utf8 (bytes : am'.vec u8) : resultm.result' std_string 00:00:52 verbose #1614 > > from_utf8_error = 00:00:52 verbose #1615 > > inl bytes = join bytes 00:00:52 verbose #1616 > > !\\(bytes, $'"std::string::String::from_utf8($0)"') 00:00:52 verbose #1617 > 00:00:52 debug #120 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/375096613e4bc819e51077fc3ab0021def68e8d8fee84a263d652f4e3ca6d2ed/main.spi 00:00:52 verbose #1618 > > 00:00:52 verbose #1619 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1620 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1621 > > │ ### base64_decode │ 00:00:52 verbose #1622 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1623 > > 00:00:52 verbose #1624 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1625 > > inl base64_decode (s : std_string) : result std_string std_string = 00:00:52 verbose #1626 > > fun () => 00:00:52 verbose #1627 > > inl s = join s 00:00:52 verbose #1628 > > inl bytes : resultm.result' (am'.vec u8) base64_decode_error = 00:00:52 verbose #1629 > > 00:00:52 verbose #1630 > > !\($'"base64::Engine::decode(&base64::engine::general_purpose::STANDARD, !s)"') 00:00:52 verbose #1631 > > bytes 00:00:52 verbose #1632 > > |> resultm.map_error' format' 00:00:52 verbose #1633 > > |> resultm.try' 00:00:52 verbose #1634 > > |> string_from_utf8 00:00:52 verbose #1635 > > |> resultm.map_error' format' 00:00:52 verbose #1636 > > |> fun x => 00:00:52 verbose #1637 > > join x () 00:00:52 verbose #1638 > > |> resultm.unbox 00:00:52 verbose #1639 > 00:00:52 debug #121 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bb6ee6a1e6917ccfb66de1ff3d0b7b958b7da403ff3ad572581422b92b1c402a/main.spi 00:00:52 verbose #1640 > > 00:00:52 verbose #1641 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:52 verbose #1642 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:52 verbose #1643 > > │ ### encoding' │ 00:00:52 verbose #1644 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:52 verbose #1645 > > 00:00:52 verbose #1646 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:52 verbose #1647 > > nominal encoding' = 00:00:52 verbose #1648 > > `( 00:00:52 verbose #1649 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:52 verbose #1650 > > Fable.Core.Emit(\"encoding_rs::Encoding\")>]]\n#endif\ntype encoding_rs_Encoding 00:00:52 verbose #1651 > > = class end" 00:00:52 verbose #1652 > > $'' : $'encoding_rs_Encoding' 00:00:52 verbose #1653 > > ) 00:00:52 verbose #1654 > 00:00:52 debug #122 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e598b0d16361355b0596e9b0b066d29fd31c1d356bdb74d74955f91faceb6f6d/main.spi 00:00:53 verbose #1655 > > 00:00:53 verbose #1656 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1657 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1658 > > │ ### encoding_utf8' │ 00:00:53 verbose #1659 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1660 > > 00:00:53 verbose #1661 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1662 > > inl encoding_utf8' () : rust.ref encoding' = 00:00:53 verbose #1663 > > !\($'"encoding_rs::UTF_8"') 00:00:53 verbose #1664 > 00:00:52 debug #123 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f0fcc25410fba1b559f8d4382b0f40bdba96a2b139eeebcbd80cb19118fe7631/main.spi 00:00:53 verbose #1665 > > 00:00:53 verbose #1666 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1667 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1668 > > │ ### encoding_1252 │ 00:00:53 verbose #1669 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1670 > > 00:00:53 verbose #1671 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1672 > > inl encoding_1252' () : rust.ref encoding' = 00:00:53 verbose #1673 > > !\($'"encoding_rs::WINDOWS_1252"') 00:00:53 verbose #1674 > 00:00:52 debug #124 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c7a232cd3c5b9dfaeed7dc9e32001880e7be936e947e8501bb03747a491bfe51/main.spi 00:00:53 verbose #1675 > > 00:00:53 verbose #1676 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1677 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1678 > > │ ### encoding_encode │ 00:00:53 verbose #1679 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1680 > > 00:00:53 verbose #1681 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1682 > > inl encoding_encode' (encoding : rust.ref encoding') (text : string) : rust.cow 00:00:53 verbose #1683 > > (am'.slice u8) = 00:00:53 verbose #1684 > > !\\((encoding, text), $'"$0.encode(&*$1).0"') 00:00:53 verbose #1685 > 00:00:52 debug #125 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2de59b15498c86c2ec11f9799104ab0f8642a18e030c949c5c1a1504c8795cbc/main.spi 00:00:53 verbose #1686 > > 00:00:53 verbose #1687 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1688 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1689 > > │ ### utf8_decode │ 00:00:53 verbose #1690 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1691 > > 00:00:53 verbose #1692 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1693 > > inl utf8_decode (data : am'.vec u8) : resultm.result' std_string (rust.cow str) 00:00:53 verbose #1694 > > = 00:00:53 verbose #1695 > > !\($'$"encoding::Encoding::decode(encoding::all::UTF_8, &!data, 00:00:53 verbose #1696 > > encoding::DecoderTrap::Replace)"') 00:00:53 verbose #1697 > 00:00:52 debug #126 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2c832cdfceceae03efb7e750ab9c4bc027bb5381e2972212925f994459d140d6/main.spi 00:00:53 verbose #1698 > > 00:00:53 verbose #1699 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1700 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1701 > > │ ### windows │ 00:00:53 verbose #1702 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1703 > > 00:00:53 verbose #1704 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1705 > > nominal windows t = 00:00:53 verbose #1706 > > `( 00:00:53 verbose #1707 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:00:53 verbose #1708 > > Fable.Core.Emit(\"std::slice::Windows<$0>\")>]]\n#endif\ntype 00:00:53 verbose #1709 > > std_slice_Windows<'T> = class end" 00:00:53 verbose #1710 > > $'' : $'std_slice_Windows<`t>' 00:00:53 verbose #1711 > > ) 00:00:53 verbose #1712 > > 00:00:53 verbose #1713 > > inl windows (len : unativeint) (source : am'.vec u8) : windows u8 = 00:00:53 verbose #1714 > > inl source = source |> rust.new_box |> rust.box_leak 00:00:53 verbose #1715 > > // inl source' = source |> rust.clone 00:00:53 verbose #1716 > > inl result = !\\(len, $'"<[[_]]>::windows(!source, $0)"') 00:00:53 verbose #1717 > > // source |> rust.drop 00:00:53 verbose #1718 > > result 00:00:53 verbose #1719 > 00:00:53 debug #127 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a38f2a8f4b0ba3d77e9b82206f8d46c37fc6c498e28c4d15d23b7fe39d2d1fa9/main.spi 00:00:53 verbose #1720 > > 00:00:53 verbose #1721 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1722 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1723 > > │ ### any │ 00:00:53 verbose #1724 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1725 > > 00:00:53 verbose #1726 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1727 > > inl any forall t. (fn : string -> bool) (source : windows t) : bool = 00:00:53 verbose #1728 > > (!\($'"true; let mut !source = !source"') : bool) |> ignore 00:00:53 verbose #1729 > > inl fn' x = 00:00:53 verbose #1730 > > x 00:00:53 verbose #1731 > > |> str_from_utf8 00:00:53 verbose #1732 > > |> resultm.unwrap_or' #"" 00:00:53 verbose #1733 > > |> ref_to_std_string 00:00:53 verbose #1734 > > |> from_std_string 00:00:53 verbose #1735 > > |> fn 00:00:53 verbose #1736 > > !\\(fn', $'"!source.any(move |x| $0(x))"') 00:00:53 verbose #1737 > 00:00:53 debug #128 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/422e0ffa88c29185971bb62837307d34e8e5bda89028bbc41510670b4893475d/main.spi 00:00:53 verbose #1738 > > 00:00:53 verbose #1739 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1740 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1741 > > │ ### slice_contains │ 00:00:53 verbose #1742 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1743 > > 00:00:53 verbose #1744 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1745 > > inl slice_contains (text : string) (source : am'.vec u8) : bool = 00:00:53 verbose #1746 > > fun () => 00:00:53 verbose #1747 > > inl source = join source 00:00:53 verbose #1748 > > source 00:00:53 verbose #1749 > > |> windows (text |> length |> (fun x => x : i32) |> convert) 00:00:53 verbose #1750 > > |> any ((=.) text) 00:00:53 verbose #1751 > > |> fun x => join x () 00:00:53 verbose #1752 > 00:00:53 debug #129 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b65f79a08d10c3c8483a308252f8562abc5e2b0e7cfb18b8c61ff8740896464b/main.spi 00:00:53 verbose #1753 > > 00:00:53 verbose #1754 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1755 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1756 > > │ ### as_bytes │ 00:00:53 verbose #1757 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1758 > > 00:00:53 verbose #1759 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1760 > > inl as_bytes (text : string) : rust.ref (am'.slice u8) = 00:00:53 verbose #1761 > > inl text = join text 00:00:53 verbose #1762 > > !\($'"!text.as_bytes()"') 00:00:53 verbose #1763 > 00:00:53 debug #130 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ee2978392768f339714d8ab2939844de7cefd1620ddbef23cf5109095c1efa8e/main.spi 00:00:53 verbose #1764 > > 00:00:53 verbose #1765 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1766 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1767 > > │ ## python │ 00:00:53 verbose #1768 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1769 > > 00:00:53 verbose #1770 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1771 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1772 > > │ ### encode_utf8 │ 00:00:53 verbose #1773 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1774 > > 00:00:53 verbose #1775 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1776 > > inl encode_utf8 (s : string) : string = 00:00:53 verbose #1777 > > inl encoding = "utf-8" 00:00:53 verbose #1778 > > backend_switch { 00:00:53 verbose #1779 > > Fsharp = fun () => 00:00:53 verbose #1780 > > open python_operators 00:00:53 verbose #1781 > > !\\((s, encoding), $'"$0.encode($1)"') : string 00:00:53 verbose #1782 > > Python = fun () => 00:00:53 verbose #1783 > > $'!s.encode(!encoding)' : string 00:00:53 verbose #1784 > > } 00:00:53 verbose #1785 > 00:00:53 debug #131 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/99ad28d9d0180e9237f28d22daf58eaaa5fe83618e5ca08937f1b6077d9096e4/main.spi 00:00:53 verbose #1786 > > 00:00:53 verbose #1787 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1788 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1789 > > │ ## sm' │ 00:00:53 verbose #1790 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1791 > > 00:00:53 verbose #1792 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:53 verbose #1793 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:53 verbose #1794 > > │ ### contains │ 00:00:53 verbose #1795 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:53 verbose #1796 > > 00:00:53 verbose #1797 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:53 verbose #1798 > > inl contains (value : string) (s : string) : bool = 00:00:53 verbose #1799 > > backend_switch { 00:00:53 verbose #1800 > > Fsharp = fun () => $'!s.Contains !value ' : bool 00:00:53 verbose #1801 > > Python = fun () => $'!value in !s ' : bool 00:00:53 verbose #1802 > > } 00:00:53 verbose #1803 > 00:00:53 debug #132 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7208685f620c941cbf3045d8f97b39caaf79bfb0a5a4f50301518f5a75d1a3e6/main.spi 00:00:54 verbose #1804 > > 00:00:54 verbose #1805 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:54 verbose #1806 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:54 verbose #1807 > > │ ### to_string result t u │ 00:00:54 verbose #1808 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:54 verbose #1809 > > 00:00:54 verbose #1810 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:54 verbose #1811 > > instance to_string result t u = fun x => 00:00:54 verbose #1812 > > real 00:00:54 verbose #1813 > > open rust 00:00:54 verbose #1814 > > typecase (t * u) with 00:00:54 verbose #1815 > > | string * string => 00:00:54 verbose #1816 > > match x with 00:00:54 verbose #1817 > > | Ok x => x 00:00:54 verbose #1818 > > | Error x => $'"sm\'.to_string result / Error: " + !x + ""' : string 00:00:54 verbose #1819 > > | std_string * std_string => 00:00:54 verbose #1820 > > match x with 00:00:54 verbose #1821 > > | Ok x => from_std_string x 00:00:54 verbose #1822 > > | Error x => $'"sm\'.to_string result / Error: " + string !x + ""' : 00:00:54 verbose #1823 > > string 00:00:54 verbose #1824 > > | _ => obj_to_string `u x 00:00:54 verbose #1825 > 00:00:53 debug #133 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/89d53d31be4ff8303028a2cc7fd2ca33751245d2dd770081ca9c59b5fcb82a63/main.spi 00:00:54 verbose #1826 > > 00:00:54 verbose #1827 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:54 verbose #1828 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:54 verbose #1829 > > │ ### format_exception │ 00:00:54 verbose #1830 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:54 verbose #1831 > > 00:00:54 verbose #1832 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:54 verbose #1833 > > inl format_exception (ex : exn) : string = 00:00:54 verbose #1834 > > run_target function 00:00:54 verbose #1835 > > | Fsharp (Native) => fun () => $'$"{!ex.GetType ()}: {!ex.Message}"' 00:00:54 verbose #1836 > > | _ => fun () => ex |> format_debug 00:00:54 verbose #1837 > 00:00:53 debug #134 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/48aefed27ddc89ff02bbc75385dabce6ba55ade45c2208b4bd04c5ce6943ec26/main.spi 00:00:54 verbose #1838 > > 00:00:54 verbose #1839 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:54 verbose #1840 > > //// test 00:00:54 verbose #1841 > > ///! fsharp 00:00:54 verbose #1842 > > ///! rust 00:00:54 verbose #1843 > > ///! typescript 00:00:54 verbose #1844 > > ///! python 00:00:54 verbose #1845 > > 00:00:54 verbose #1846 > > fun () => failwith "test" 00:00:54 verbose #1847 > > |> _throws 00:00:54 verbose #1848 > > |> optionm.value 00:00:54 verbose #1849 > > |> sm'.format_exception 00:00:54 verbose #1850 > > |> _assert_eq (run_target function 00:00:54 verbose #1851 > > | Fsharp _ => fun () => "System.Exception: test" 00:00:54 verbose #1852 > > | Rust _ => fun () => "Exception { message: \"test\" }" 00:00:54 verbose #1853 > > | TypeScript _ => fun () => "Error: test" 00:00:54 verbose #1854 > > | Python _ => fun () => "test" 00:00:54 verbose #1855 > > | _ => fun () => null () 00:00:54 verbose #1856 > > ) 00:00:54 verbose #1857 > 00:00:53 debug #135 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b9e9ed43791203715bb12af110dd64ebba57008bd376784ce543092291b42b21/main.spi 00:01:05 verbose #1858 > > 00:01:05 verbose #1859 > > ╭─[ 11.53s - return value ]────────────────────────────────────────────────────╮ 00:01:05 verbose #1860 > > │ .rs output: │ 00:01:05 verbose #1861 > > │ assert_eq / actual: "Exception { message: "test" }" / expected: "Exception { │ 00:01:05 verbose #1862 > > │ message: "test" }" │ 00:01:05 verbose #1863 > > │ │ 00:01:05 verbose #1864 > > │ .ts output: │ 00:01:05 verbose #1865 > > │ assert_eq / actual: Error: test / expected: Error: test │ 00:01:05 verbose #1866 > > │ │ 00:01:05 verbose #1867 > > │ .py output: │ 00:01:05 verbose #1868 > > │ assert_eq / actual: test / expected: test │ 00:01:05 verbose #1869 > > │ │ 00:01:05 verbose #1870 > > │ │ 00:01:05 verbose #1871 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:05 verbose #1872 > > 00:01:05 verbose #1873 > > ╭─[ 11.53s - stdout ]──────────────────────────────────────────────────────────╮ 00:01:05 verbose #1874 > > │ .fsx output: │ 00:01:05 verbose #1875 > > │ assert_eq / actual: "System.Exception: test" / expected: "System.Exception: │ 00:01:05 verbose #1876 > > │ test" │ 00:01:05 verbose #1877 > > │ │ 00:01:05 verbose #1878 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:05 verbose #1879 > > 00:01:05 verbose #1880 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:05 verbose #1881 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:05 verbose #1882 > > │ ### range │ 00:01:05 verbose #1883 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:05 verbose #1884 > > 00:01:05 verbose #1885 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:05 verbose #1886 > > inl range forall t. (start : am'.range t) (end : am'.range t) s = 00:01:05 verbose #1887 > > inl start, end = 00:01:05 verbose #1888 > > match start, end with 00:01:05 verbose #1889 > > | Start start, End fn => 00:01:05 verbose #1890 > > start, s |> length' |> fn 00:01:05 verbose #1891 > > | End start_fn, End end_fn => 00:01:05 verbose #1892 > > inl len = s |> length' 00:01:05 verbose #1893 > > start_fn len, end_fn len 00:01:05 verbose #1894 > > s |> slice (start |> i32) (end |> i32) 00:01:05 verbose #1895 > 00:01:05 debug #136 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a38848a32354675383b25d5e6bc20b0b9c44527c3524ed3b942aeb300ef8250/main.spi 00:01:05 verbose #1896 > > 00:01:05 verbose #1897 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:05 verbose #1898 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:05 verbose #1899 > > │ ### concat_list │ 00:01:05 verbose #1900 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:05 verbose #1901 > > 00:01:05 verbose #1902 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:05 verbose #1903 > > inl concat_list s list = 00:01:05 verbose #1904 > > list 00:01:05 verbose #1905 > > |> listm'.box 00:01:05 verbose #1906 > > |> seq.of_list' 00:01:05 verbose #1907 > > |> concat s 00:01:05 verbose #1908 > 00:01:05 debug #137 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/194a619c066247caa6adbc3d94692b592de8bb136e3fb072841e55826a6e3237/main.spi 00:01:06 verbose #1909 > > 00:01:06 verbose #1910 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #1911 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #1912 > > │ ### ellipsis_end │ 00:01:06 verbose #1913 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #1914 > > 00:01:06 verbose #1915 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #1916 > > let ellipsis_end (max : i64) (s : string) = 00:01:06 verbose #1917 > > inl len = sm.length s 00:01:06 verbose #1918 > > if len <= max 00:01:06 verbose #1919 > > then s 00:01:06 verbose #1920 > > else 00:01:06 verbose #1921 > > inl half = f64 max / 2 00:01:06 verbose #1922 > > inl start_half = half |> math.ceil |> i64 00:01:06 verbose #1923 > > inl end_half = half |> math.floor |> i64 00:01:06 verbose #1924 > > inl start = s |> slice 0 (start_half - 1) 00:01:06 verbose #1925 > > inl end = s |> slice (len - end_half) (len - 1) 00:01:06 verbose #1926 > > (a ;[[start; "..."; end]] : _ i32 _) 00:01:06 verbose #1927 > > |> seq.of_array 00:01:06 verbose #1928 > > |> concat "" 00:01:06 verbose #1929 > 00:01:05 debug #138 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d6f553bfd9962920a9fc5cbf974173c022a130fabd573a55bc7cf28590d50f3f/main.spi 00:01:06 verbose #1930 > > 00:01:06 verbose #1931 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #1932 > > //// test 00:01:06 verbose #1933 > > 00:01:06 verbose #1934 > > "12345" 00:01:06 verbose #1935 > > |> ellipsis_end 2 00:01:06 verbose #1936 > > |> _assert_eq "1...5" 00:01:06 verbose #1937 > > 00:01:06 verbose #1938 > > "12345" 00:01:06 verbose #1939 > > |> ellipsis_end 3 00:01:06 verbose #1940 > > |> _assert_eq "12...5" 00:01:06 verbose #1941 > > 00:01:06 verbose #1942 > > "1234567" 00:01:06 verbose #1943 > > |> ellipsis_end 4 00:01:06 verbose #1944 > > |> _assert_eq "12...67" 00:01:06 verbose #1945 > 00:01:05 debug #139 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e6020b3e420c25f6a5ed477e5ccab3699b08b667f96bd2cc0e21704263afbe87/main.spi 00:01:06 verbose #1946 > > 00:01:06 verbose #1947 > > ╭─[ 593.63ms - stdout ]────────────────────────────────────────────────────────╮ 00:01:06 verbose #1948 > > │ assert_eq / actual: "1...5" / expected: "1...5" │ 00:01:06 verbose #1949 > > │ assert_eq / actual: "12...5" / expected: "12...5" │ 00:01:06 verbose #1950 > > │ assert_eq / actual: "12...67" / expected: "12...67" │ 00:01:06 verbose #1951 > > │ │ 00:01:06 verbose #1952 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #1953 > > 00:01:06 verbose #1954 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #1955 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #1956 > > │ ### format_ellipsis │ 00:01:06 verbose #1957 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #1958 > > 00:01:06 verbose #1959 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #1960 > > inl format_ellipsis s = 00:01:06 verbose #1961 > > s 00:01:06 verbose #1962 > > |> format_debug 00:01:06 verbose #1963 > > |> ellipsis_end 400 00:01:06 verbose #1964 > 00:01:06 debug #140 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a4aa8a6d6c63094181c99b1f323b5f73218fe8f3edb6521a7b6dd9af7104dca7/main.spi 00:01:06 verbose #1965 > > 00:01:06 verbose #1966 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:06 verbose #1967 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:06 verbose #1968 > > │ ### replace_regex │ 00:01:06 verbose #1969 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:06 verbose #1970 > > 00:01:06 verbose #1971 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #1972 > > inl replace_regex (pattern : string) (replacement : string) (s : string) : 00:01:06 verbose #1973 > > string = 00:01:06 verbose #1974 > > inl replacement = join replacement 00:01:06 verbose #1975 > > run_target function 00:01:06 verbose #1976 > > | Fsharp (Native) => fun () => 00:01:06 verbose #1977 > > inl pattern = join pattern 00:01:06 verbose #1978 > > $'System.Text.RegularExpressions.Regex.Replace (!s, !pattern, 00:01:06 verbose #1979 > > !replacement)' 00:01:06 verbose #1980 > > | Rust (Native) => fun () => 00:01:06 verbose #1981 > > inl s = join s 00:01:06 verbose #1982 > > inl regex = pattern |> new_regex |> resultm.unwrap' 00:01:06 verbose #1983 > > !\\((regex, s, replacement), $'$"$0.replace_all(&$1, &*$2)"') 00:01:06 verbose #1984 > > |> cow_to_std_string 00:01:06 verbose #1985 > > |> from_std_string 00:01:06 verbose #1986 > > | _ => fun () => null () 00:01:06 verbose #1987 > 00:01:06 debug #141 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f0b3e28cbfc1eae0107c65c8e125955bf00b09728d80dc305048300b3edc2a44/main.spi 00:01:06 verbose #1988 > > 00:01:06 verbose #1989 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:06 verbose #1990 > > //// test 00:01:06 verbose #1991 > > 00:01:06 verbose #1992 > > " 123" 00:01:06 verbose #1993 > > |> replace_regex "\\s\\w2" "" 00:01:06 verbose #1994 > > |> _assert_eq "3" 00:01:06 verbose #1995 > 00:01:06 debug #142 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/001bd4409376d0870f24f629c9633a71f983f55357d95f9bf3dca80ffea0bcb7/main.spi 00:01:07 verbose #1996 > > 00:01:07 verbose #1997 > > ╭─[ 136.80ms - stdout ]────────────────────────────────────────────────────────╮ 00:01:07 verbose #1998 > > │ assert_eq / actual: "3" / expected: "3" │ 00:01:07 verbose #1999 > > │ │ 00:01:07 verbose #2000 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:07 verbose #2001 > > 00:01:07 verbose #2002 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:07 verbose #2003 > > //// test 00:01:07 verbose #2004 > > ///! rust -d regex 00:01:07 verbose #2005 > > 00:01:07 verbose #2006 > > " 123" 00:01:07 verbose #2007 > > |> replace_regex "\\s\\w2" "" 00:01:07 verbose #2008 > > |> _assert_eq "3" 00:01:07 verbose #2009 > 00:01:06 debug #143 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c5ce964f2ebe5f407f1832ec21a1dccd03f71af000586048362ba7231eb699c/main.spi 00:01:14 verbose #2010 > > 00:01:14 verbose #2011 > > ╭─[ 7.24s - return value ]─────────────────────────────────────────────────────╮ 00:01:14 verbose #2012 > > │ assert_eq / actual: "3" / expected: "3" │ 00:01:14 verbose #2013 > > │ │ 00:01:14 verbose #2014 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:14 verbose #2015 > > 00:01:14 verbose #2016 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:14 verbose #2017 > > //// test 00:01:14 verbose #2018 > > ///! rust -d regex 00:01:14 verbose #2019 > > 00:01:14 verbose #2020 > > " let main args =\n ()\n" 00:01:14 verbose #2021 > > |> replace_regex $'@@"(?P<a> *)(?P<b>let\\s+main\\s+.*?\\s*=)"' 00:01:14 verbose #2022 > > "$a[[<EntryPoint>]]\n$a$b" 00:01:14 verbose #2023 > > |> _assert_eq " [[<EntryPoint>]]\n let main args =\n ()\n" 00:01:14 verbose #2024 > 00:01:13 debug #144 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52d5924851334646924dff25ff38e29e8372354ae0de99047bfd943e13ef21d1/main.spi 00:01:21 verbose #2025 > > 00:01:21 verbose #2026 > > ╭─[ 7.18s - return value ]─────────────────────────────────────────────────────╮ 00:01:21 verbose #2027 > > │ assert_eq / actual: " [<EntryPoint>] │ 00:01:21 verbose #2028 > > │ let main args = │ 00:01:21 verbose #2029 > > │ () │ 00:01:21 verbose #2030 > > │ " / expected: " [<EntryPoint>] │ 00:01:21 verbose #2031 > > │ let main args = │ 00:01:21 verbose #2032 > > │ () │ 00:01:21 verbose #2033 > > │ " │ 00:01:21 verbose #2034 > > │ │ 00:01:21 verbose #2035 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:21 verbose #2036 > > 00:01:21 verbose #2037 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:21 verbose #2038 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:21 verbose #2039 > > │ ## main │ 00:01:21 verbose #2040 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:21 verbose #2041 > > 00:01:21 verbose #2042 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:21 verbose #2043 > > inl main () = 00:01:21 verbose #2044 > > $'let contains x = !contains x' : () 00:01:21 verbose #2045 > > $'let ends_with x = !ends_with x' : () 00:01:21 verbose #2046 > > $'let pad_left x = !pad_left x' : () 00:01:21 verbose #2047 > > $'let pad_right x = !pad_right x' : () 00:01:21 verbose #2048 > > $'let replace x = !replace x' : () 00:01:21 verbose #2049 > > $'let replace_regex x = !replace_regex x' : () 00:01:21 verbose #2050 > > inl slice (a : i32) (b : i32) c = slice a b c 00:01:21 verbose #2051 > > $'let slice x = !slice x' : () 00:01:21 verbose #2052 > > $'let split x = !split x' : () 00:01:21 verbose #2053 > > $'let split_string x = !split_string x' : () 00:01:21 verbose #2054 > > $'let starts_with x = !starts_with x' : () 00:01:21 verbose #2055 > > $'let substring x = !substring x' : () 00:01:21 verbose #2056 > > $'let to_lower x = !to_lower x' : () 00:01:21 verbose #2057 > > $'let to_upper x = !to_upper x' : () 00:01:21 verbose #2058 > > $'let trim x = !trim x' : () 00:01:21 verbose #2059 > > inl trim_end x = (a x : _ int _) |> am'.to_list' |> listm'.unbox |> trim_end 00:01:21 verbose #2060 > > $'let trim_end x = !trim_end x' : () 00:01:21 verbose #2061 > > inl trim_start x = (a x : _ int _) |> am'.to_list' |> listm'.unbox |> 00:01:21 verbose #2062 > > trim_start 00:01:21 verbose #2063 > > $'let trim_start x = !trim_start x' : () 00:01:21 verbose #2064 > > $'let ellipsis x = !ellipsis x' : () 00:01:21 verbose #2065 > > $'let ellipsis_end x = !ellipsis_end x' : () 00:01:21 verbose #2066 > > $'let format_exception x = !format_exception x' : () 00:01:21 verbose #2067 > > $'let concat_array_trailing x = !concat_array_trailing x' : () 00:01:21 verbose #2068 > > inl concat a (b : seq.seq' string) = concat a b 00:01:21 verbose #2069 > > $'let concat x = !concat x' : () 00:01:21 verbose #2070 > > $'let join\' x = !join' x' : () 00:01:21 verbose #2071 > > $'let to_char_array x = !to_char_array x' : () 00:01:21 verbose #2072 > 00:01:21 debug #145 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/78edcddfa063a455d1bbc715bce8bd88ff86b477f91da5b10e94dc29603ab11f/main.spi 00:01:21 verbose #2073 > > 00:01:21 verbose #2074 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:21 verbose #2075 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:21 verbose #2076 > > │ ## rust │ 00:01:21 verbose #2077 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:21 verbose #2078 > > 00:01:21 verbose #2079 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:21 verbose #2080 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:21 verbose #2081 > > │ ### to_string std_string │ 00:01:21 verbose #2082 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:21 verbose #2083 > > 00:01:21 verbose #2084 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:21 verbose #2085 > > open rust 00:01:21 verbose #2086 > > instance to_string std_string = from_std_string 00:01:21 verbose #2087 > 00:01:21 debug #146 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d43f41ef5699163b8476be07874c9d0fd2a67adfe7445b6efdb84696c58f6e05/main.spi 00:01:22 verbose #2088 > 00:01:20 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 106381 } 00:01:22 verbose #2089 > 00:01:20 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:22 verbose #2090 > 00:01:21 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.ipynb to html 00:01:22 verbose #2091 > 00:01:21 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:01:22 verbose #2092 > 00:01:21 verbose #7 ! validate(nb) 00:01:23 verbose #2093 > 00:01:21 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:01:23 verbose #2094 > 00:01:21 verbose #9 ! return _pygments_highlight( 00:01:24 verbose #2095 > 00:01:22 verbose #10 ! [NbConvertApp] Writing 564459 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/sm'.dib.html 00:01:24 verbose #2096 > 00:01:22 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 890 } 00:01:24 verbose #2097 > 00:01:22 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 890 } 00:01:24 verbose #2098 > 00:01:22 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/sm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/sm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:24 verbose #2099 > 00:01:23 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:01:24 verbose #2100 > 00:01:23 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:01:24 verbose #2101 > 00:01:23 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 107330 } 00:01:24 debug #2102 runtime.execute_with_options_async / { exit_code = 0; output_length = 113960 } 00:01:24 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path sm'.dib --retries 3 00:01:24 debug #2103 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path rust/rust.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:24 verbose #2104 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "rust/rust.dib", "--retries", "3"])) } 00:01:24 verbose #2105 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:01:26 verbose #2106 > > 00:01:26 verbose #2107 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:26 verbose #2108 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:26 verbose #2109 > > │ # rust │ 00:01:26 verbose #2110 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:28 verbose #2111 > > 00:01:28 verbose #2112 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:28 verbose #2113 > > //// test 00:01:28 verbose #2114 > > 00:01:28 verbose #2115 > > open testing 00:01:28 verbose #2116 > 00:01:28 debug #147 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:01:29 verbose #2117 > > 00:01:29 verbose #2118 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2119 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2120 > > │ ## rust │ 00:01:29 verbose #2121 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2122 > > 00:01:29 verbose #2123 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2124 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2125 > > │ ### any │ 00:01:29 verbose #2126 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2127 > > 00:01:29 verbose #2128 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2129 > > nominal any = 00:01:29 verbose #2130 > > `( 00:01:29 verbose #2131 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2132 > > Fable.Core.Emit(\"core::any::Any\")>]]\n#endif\ntype core_any_Any = class end" 00:01:29 verbose #2133 > > $'' : $'core_any_Any' 00:01:29 verbose #2134 > > ) 00:01:29 verbose #2135 > 00:01:28 debug #148 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/89d0819ea9ec1e6d59d903e15f8db8d23ce0b5138b80a1be06aac7e51f31c6d5/main.spi 00:01:29 verbose #2136 > > 00:01:29 verbose #2137 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2138 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2139 > > │ ### try │ 00:01:29 verbose #2140 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2141 > > 00:01:29 verbose #2142 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2143 > > nominal try t = 00:01:29 verbose #2144 > > `( 00:01:29 verbose #2145 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2146 > > Fable.Core.Emit(\"_\")>]]\n#endif\ntype core_ops_Try<'T> = class end" 00:01:29 verbose #2147 > > $'' : $'core_ops_Try<`t>' 00:01:29 verbose #2148 > > ) 00:01:29 verbose #2149 > 00:01:28 debug #149 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/004efb92b41e0c851981c2a915f8467b7e64a69eff14781d46006573576a7c0c/main.spi 00:01:29 verbose #2150 > > 00:01:29 verbose #2151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2153 > > │ ### cow │ 00:01:29 verbose #2154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2155 > > 00:01:29 verbose #2156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2157 > > nominal cow t = 00:01:29 verbose #2158 > > `( 00:01:29 verbose #2159 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2160 > > Fable.Core.Emit(\"std::borrow::Cow<$0>\")>]]\n#endif\ntype std_borrow_Cow<'T> = 00:01:29 verbose #2161 > > class end" 00:01:29 verbose #2162 > > $'' : $'std_borrow_Cow<`t>' 00:01:29 verbose #2163 > > ) 00:01:29 verbose #2164 > 00:01:28 debug #150 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3132a5062f23954f50aa3668b85a3be8a0f17ff19b9e144568ae0948a73f17f4/main.spi 00:01:29 verbose #2165 > > 00:01:29 verbose #2166 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2167 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2168 > > │ ### ref_cell │ 00:01:29 verbose #2169 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2170 > > 00:01:29 verbose #2171 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2172 > > nominal ref_cell t = 00:01:29 verbose #2173 > > `( 00:01:29 verbose #2174 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2175 > > Fable.Core.Emit(\"std::cell::RefCell<$0>\")>]]\n#endif\ntype 00:01:29 verbose #2176 > > std_cell_RefCell<'T> = class end" 00:01:29 verbose #2177 > > $'' : $'std_cell_RefCell<`t>' 00:01:29 verbose #2178 > > ) 00:01:29 verbose #2179 > 00:01:28 debug #151 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bcb236c0affd321b2a10f551e7531464bb33b94701f1b4f53d8a50335589ec10/main.spi 00:01:29 verbose #2180 > > 00:01:29 verbose #2181 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2182 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2183 > > │ ### rc │ 00:01:29 verbose #2184 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2185 > > 00:01:29 verbose #2186 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2187 > > nominal rc t = 00:01:29 verbose #2188 > > `( 00:01:29 verbose #2189 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2190 > > Fable.Core.Emit(\"std::rc::Rc<$0>\")>]]\n#endif\ntype std_rc_Rc<'T> = class end" 00:01:29 verbose #2191 > > $'' : $'std_rc_Rc<`t>' 00:01:29 verbose #2192 > > ) 00:01:29 verbose #2193 > 00:01:29 debug #152 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b8beb0908bdf7e61a99fcd622d2b946d0dbd58e6923f78d7963cecae42227e46/main.spi 00:01:29 verbose #2194 > > 00:01:29 verbose #2195 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2196 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2197 > > │ ### lifetime_ref │ 00:01:29 verbose #2198 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2199 > > 00:01:29 verbose #2200 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2201 > > nominal lifetime_ref (t : * -> *) u = 00:01:29 verbose #2202 > > `( 00:01:29 verbose #2203 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2204 > > Fable.Core.Emit(\"$0\")>]]\n#endif\ntype LifetimeRef<'T> = class end" 00:01:29 verbose #2205 > > $'' : $'LifetimeRef<`(t u)>' 00:01:29 verbose #2206 > > ) 00:01:29 verbose #2207 > 00:01:29 debug #153 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d9d79564f301211e2e27dda8f12b09a24e0c347a768942bfb0266ba8d23e005c/main.spi 00:01:29 verbose #2208 > > 00:01:29 verbose #2209 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2210 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2211 > > │ ### lifetime_join │ 00:01:29 verbose #2212 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2213 > > 00:01:29 verbose #2214 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2215 > > nominal lifetime_join t u = 00:01:29 verbose #2216 > > `( 00:01:29 verbose #2217 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"$0 + 00:01:29 verbose #2218 > > $1\")>]]\n#endif\ntype LifetimeJoin<'T, 'U> = class end" 00:01:29 verbose #2219 > > $'' : $'LifetimeJoin<`t, `u>' 00:01:29 verbose #2220 > > ) 00:01:29 verbose #2221 > 00:01:29 debug #154 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d1ab57fbd78cff02d3b9cfb43dceaea9a5fc5a716211ede6ce82aafd6af5de2d/main.spi 00:01:29 verbose #2222 > > 00:01:29 verbose #2223 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2224 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2225 > > │ ### lifetime │ 00:01:29 verbose #2226 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2227 > > 00:01:29 verbose #2228 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2229 > > nominal lifetime t u = 00:01:29 verbose #2230 > > `( 00:01:29 verbose #2231 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"$0 00:01:29 verbose #2232 > > $1\")>]]\n#endif\ntype Lifetime<'T, 'U> = class end" 00:01:29 verbose #2233 > > $'' : $'Lifetime<`t, `u>' 00:01:29 verbose #2234 > > ) 00:01:29 verbose #2235 > 00:01:29 debug #155 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e47dd73a90a32bcb54884ff919615a5833323b3cb1e78f06db22f60671b12a8c/main.spi 00:01:29 verbose #2236 > > 00:01:29 verbose #2237 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2238 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2239 > > │ ### static_lifetime │ 00:01:29 verbose #2240 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2241 > > 00:01:29 verbose #2242 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2243 > > nominal static_lifetime = 00:01:29 verbose #2244 > > `( 00:01:29 verbose #2245 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2246 > > Fable.Core.Emit(\"'static\")>]]\n#endif\ntype StaticLifetime = class end" 00:01:29 verbose #2247 > > $'' : $'StaticLifetime' 00:01:29 verbose #2248 > > ) 00:01:29 verbose #2249 > 00:01:29 debug #156 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c4922a5325c5b000c59a3ca4a425e68ae5a76f86ad7135f247d5562e87da5bb1/main.spi 00:01:29 verbose #2250 > > 00:01:29 verbose #2251 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2252 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2253 > > │ ### ref │ 00:01:29 verbose #2254 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2255 > > 00:01:29 verbose #2256 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2257 > > nominal ref t = 00:01:29 verbose #2258 > > `( 00:01:29 verbose #2259 > > backend_switch `(()) `({}) { 00:01:29 verbose #2260 > > Fsharp = 00:01:29 verbose #2261 > > (fun () => 00:01:29 verbose #2262 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:29 verbose #2263 > > Fable.Core.Emit(\"&$0\")>]]\n#endif\ntype Ref<'T> = class end" 00:01:29 verbose #2264 > > ) : () -> () 00:01:29 verbose #2265 > > } 00:01:29 verbose #2266 > > $'' : $'Ref<`t>' 00:01:29 verbose #2267 > > ) 00:01:29 verbose #2268 > 00:01:29 debug #157 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dbaf2eaf0f46bf19fe4bbb9898c652c2bb3a04bf70c4cb522d110724accb4122/main.spi 00:01:29 verbose #2269 > > 00:01:29 verbose #2270 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:29 verbose #2271 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:29 verbose #2272 > > │ ### static_ref │ 00:01:29 verbose #2273 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:29 verbose #2274 > > 00:01:29 verbose #2275 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:29 verbose #2276 > > nominal static_ref t = ref (lifetime static_lifetime t) 00:01:29 verbose #2277 > 00:01:29 debug #158 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/83a0b47c39562ee273172de92b8ac6106dc8fb753b4a3de7107422ebc1787938/main.spi 00:01:30 verbose #2278 > > 00:01:30 verbose #2279 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2280 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2281 > > │ ### weak_rc │ 00:01:30 verbose #2282 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2283 > > 00:01:30 verbose #2284 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2285 > > nominal weak_rc t = 00:01:30 verbose #2286 > > `( 00:01:30 verbose #2287 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2288 > > Fable.Core.Emit(\"std::rc::Weak<$0>\")>]]\n#endif\ntype std_rc_Weak<'T> = class 00:01:30 verbose #2289 > > end" 00:01:30 verbose #2290 > > $'' : $'std_rc_Weak<`t>' 00:01:30 verbose #2291 > > ) 00:01:30 verbose #2292 > 00:01:29 debug #159 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1dacc665c1e5ee9bf15a020b333c874d1304bcf85a5cf17da376f50a953805ba/main.spi 00:01:30 verbose #2293 > > 00:01:30 verbose #2294 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2295 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2296 > > │ ### box │ 00:01:30 verbose #2297 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2298 > > 00:01:30 verbose #2299 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2300 > > nominal box t = 00:01:30 verbose #2301 > > `( 00:01:30 verbose #2302 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2303 > > Fable.Core.Emit(\"Box<$0>\")>]]\n#endif\ntype Box<'T> = class end" 00:01:30 verbose #2304 > > $'' : $'Box<`t>' 00:01:30 verbose #2305 > > ) 00:01:30 verbose #2306 > 00:01:29 debug #160 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0d7a9159e795d76dc42f8ba6906fad78a98b85aa9ebb59f43918cf820c07f339/main.spi 00:01:30 verbose #2307 > > 00:01:30 verbose #2308 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2309 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2310 > > │ ### mut_cell │ 00:01:30 verbose #2311 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2312 > > 00:01:30 verbose #2313 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2314 > > nominal mut_cell t = 00:01:30 verbose #2315 > > `( 00:01:30 verbose #2316 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2317 > > Fable.Core.Emit(\"MutCell<$0>\")>]]\n#endif\ntype MutCell<'T> = class end" 00:01:30 verbose #2318 > > $'' : $'MutCell<`t>' 00:01:30 verbose #2319 > > ) 00:01:30 verbose #2320 > 00:01:29 debug #161 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d0bd8c133577dc135f5ec4283dcfaf5aa3696a858d82a3800c450e2a4a1e605d/main.spi 00:01:30 verbose #2321 > > 00:01:30 verbose #2322 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2323 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2324 > > │ ### pin │ 00:01:30 verbose #2325 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2326 > > 00:01:30 verbose #2327 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2328 > > nominal pin t = 00:01:30 verbose #2329 > > `( 00:01:30 verbose #2330 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2331 > > Fable.Core.Emit(\"std::pin::Pin<$0>\")>]]\n#endif\ntype std_pin_Pin<'T> = class 00:01:30 verbose #2332 > > end" 00:01:30 verbose #2333 > > $'' : $'std_pin_Pin<`t>' 00:01:30 verbose #2334 > > ) 00:01:30 verbose #2335 > 00:01:29 debug #162 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a727803675cf5588a451699bd151c3d4cd5d838a1ff55d4cfbfde34e50215a6/main.spi 00:01:30 verbose #2336 > > 00:01:30 verbose #2337 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2338 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2339 > > │ ### dyn' │ 00:01:30 verbose #2340 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2341 > > 00:01:30 verbose #2342 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2343 > > nominal dyn' t = 00:01:30 verbose #2344 > > `( 00:01:30 verbose #2345 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"dyn 00:01:30 verbose #2346 > > $0\")>]]\n#endif\ntype Dyn<'T> = class end" 00:01:30 verbose #2347 > > $'' : $'Dyn<`t>' 00:01:30 verbose #2348 > > ) 00:01:30 verbose #2349 > 00:01:29 debug #163 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d47c80e4c2280aad542b8d87a5352ccae8033d14dd9666e5b2d72f9920b36893/main.spi 00:01:30 verbose #2350 > > 00:01:30 verbose #2351 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2352 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2353 > > │ ### fn' │ 00:01:30 verbose #2354 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2355 > > 00:01:30 verbose #2356 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2357 > > nominal fn' t = 00:01:30 verbose #2358 > > `( 00:01:30 verbose #2359 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"Fn() 00:01:30 verbose #2360 > > -> $0\")>]]\n#endif\ntype Fn<'T> = class end" 00:01:30 verbose #2361 > > $'' : $'Fn<`t>' 00:01:30 verbose #2362 > > ) 00:01:30 verbose #2363 > 00:01:30 debug #164 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8fef277ece319cfd51f58103b8ef87132c778a142fa96bf8a4c89ea0f283ec64/main.spi 00:01:30 verbose #2364 > > 00:01:30 verbose #2365 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2366 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2367 > > │ ### action_fn │ 00:01:30 verbose #2368 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2369 > > 00:01:30 verbose #2370 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2371 > > nominal action_fn t = 00:01:30 verbose #2372 > > `( 00:01:30 verbose #2373 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2374 > > Fable.Core.Emit(\"Fn($0)\")>]]\n#endif\ntype ActionFn<'T> = class end" 00:01:30 verbose #2375 > > $'' : $'ActionFn<`t>' 00:01:30 verbose #2376 > > ) 00:01:30 verbose #2377 > 00:01:30 debug #165 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3e56ae656f29419f4606d1e4874982fd19403ac5b7749dbd0fe4d1c71f3512b2/main.spi 00:01:30 verbose #2378 > > 00:01:30 verbose #2379 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2380 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2381 > > │ ### action_fn2 │ 00:01:30 verbose #2382 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2383 > > 00:01:30 verbose #2384 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2385 > > nominal action_fn2 t u = 00:01:30 verbose #2386 > > `( 00:01:30 verbose #2387 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2388 > > Fable.Core.Emit(\"Fn($0, $1)\")>]]\n#endif\ntype ActionFn2<'T, 'U> = class end" 00:01:30 verbose #2389 > > $'' : $'ActionFn2<`t, `u>' 00:01:30 verbose #2390 > > ) 00:01:30 verbose #2391 > 00:01:30 debug #166 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c4cc6c9cdfe9b7cac393241ccb2aee36472918f54cfbfd72a70db08a70b24375/main.spi 00:01:30 verbose #2392 > > 00:01:30 verbose #2393 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2394 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2395 > > │ ### fn_once │ 00:01:30 verbose #2396 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2397 > > 00:01:30 verbose #2398 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2399 > > nominal fn_once t = 00:01:30 verbose #2400 > > `( 00:01:30 verbose #2401 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2402 > > Fable.Core.Emit(\"FnOnce() -> $0\")>]]\n#endif\ntype FnOnce<'T> = class end" 00:01:30 verbose #2403 > > $'' : $'FnOnce<`t>' 00:01:30 verbose #2404 > > ) 00:01:30 verbose #2405 > 00:01:30 debug #167 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a5b890ecc0ef97f8223b2b6c280939a2beb35e0041262846d0f54d61ab6dfe5/main.spi 00:01:30 verbose #2406 > > 00:01:30 verbose #2407 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2408 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2409 > > │ ### fn_unit │ 00:01:30 verbose #2410 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2411 > > 00:01:30 verbose #2412 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2413 > > nominal fn_unit = 00:01:30 verbose #2414 > > `( 00:01:30 verbose #2415 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2416 > > Fable.Core.Emit(\"Fn()\")>]]\n#endif\ntype FnUnit = class end" 00:01:30 verbose #2417 > > $'' : $'FnUnit' 00:01:30 verbose #2418 > > ) 00:01:30 verbose #2419 > 00:01:30 debug #168 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7588293f139a2464a930bdab131722ef3f712776f98c3a9ebf29264f948e43f9/main.spi 00:01:30 verbose #2420 > > 00:01:30 verbose #2421 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2422 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2423 > > │ ### func0 │ 00:01:30 verbose #2424 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2425 > > 00:01:30 verbose #2426 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2427 > > nominal func0 t = 00:01:30 verbose #2428 > > `( 00:01:30 verbose #2429 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2430 > > Fable.Core.Emit(\"Func0<$0>\")>]]\n#endif\ntype Func0<'T> = class end" 00:01:30 verbose #2431 > > $'' : $'Func0<`t>' 00:01:30 verbose #2432 > > ) 00:01:30 verbose #2433 > 00:01:30 debug #169 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fce8f9de56e561d2dc66fbd7d0aa68b0573c9bb4c4e6605b9baf766174edc196/main.spi 00:01:30 verbose #2434 > > 00:01:30 verbose #2435 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:30 verbose #2436 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:30 verbose #2437 > > │ ### func1 │ 00:01:30 verbose #2438 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:30 verbose #2439 > > 00:01:30 verbose #2440 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:30 verbose #2441 > > nominal func1 t u = 00:01:30 verbose #2442 > > `( 00:01:30 verbose #2443 > > typecase t with 00:01:30 verbose #2444 > > | () => `func0 `u 00:01:30 verbose #2445 > > | _ => 00:01:30 verbose #2446 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:30 verbose #2447 > > Fable.Core.Emit(\"Func1<$0, $1>\")>]]\n#endif\ntype Func0<'T, 'U> = class end" 00:01:30 verbose #2448 > > $'' : $'Func0<`t, `u>' 00:01:30 verbose #2449 > > ) 00:01:31 verbose #2450 > 00:01:30 debug #170 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d840144e35ab9c14dfa10d811b461540aaa494858359d4a129623913d778e366/main.spi 00:01:31 verbose #2451 > > 00:01:31 verbose #2452 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2453 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2454 > > │ ### impl │ 00:01:31 verbose #2455 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2456 > > 00:01:31 verbose #2457 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2458 > > nominal impl t = 00:01:31 verbose #2459 > > `( 00:01:31 verbose #2460 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"impl 00:01:31 verbose #2461 > > $0\")>]]\n#endif\ntype Impl<'T> = class end" 00:01:31 verbose #2462 > > $'' : $'Impl<`t>' 00:01:31 verbose #2463 > > ) 00:01:31 verbose #2464 > 00:01:30 debug #171 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c7f597e684e492b219fe976c8ff391aa1f864c4d8d12af10c75259a70346847f/main.spi 00:01:31 verbose #2465 > > 00:01:31 verbose #2466 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2467 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2468 > > │ ### mut' │ 00:01:31 verbose #2469 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2470 > > 00:01:31 verbose #2471 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2472 > > nominal mut' t = 00:01:31 verbose #2473 > > `( 00:01:31 verbose #2474 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; Fable.Core.Emit(\"mut 00:01:31 verbose #2475 > > $0\")>]]\n#endif\ntype Mut<'T> = class end" 00:01:31 verbose #2476 > > $'' : $'Mut<`t>' 00:01:31 verbose #2477 > > ) 00:01:31 verbose #2478 > 00:01:30 debug #172 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d8d83925607a44820c9dfd86e929e509a40f96916563f40ebe3b812d02dd9fd2/main.spi 00:01:31 verbose #2479 > > 00:01:31 verbose #2480 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2481 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2482 > > │ ### send │ 00:01:31 verbose #2483 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2484 > > 00:01:31 verbose #2485 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2486 > > nominal send t = 00:01:31 verbose #2487 > > `( 00:01:31 verbose #2488 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:01:31 verbose #2489 > > Fable.Core.Emit(\"Send\")>]]\n#endif\ntype Send<'T> = class end" 00:01:31 verbose #2490 > > $'' : lifetime_join t $'Send<`t>' 00:01:31 verbose #2491 > > ) 00:01:31 verbose #2492 > 00:01:30 debug #173 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/acec227c403ef5f605fd2994cd4e6144ef339dc17a6e7905db44be2a4a500b0a/main.spi 00:01:31 verbose #2493 > > 00:01:31 verbose #2494 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2495 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2496 > > │ ### emit_expr │ 00:01:31 verbose #2497 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2498 > > 00:01:31 verbose #2499 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2500 > > inl emit_expr forall a t. (args : a) (code : string) : t = 00:01:31 verbose #2501 > > $'Fable.Core.RustInterop.emitRustExpr !args !code ' 00:01:31 verbose #2502 > 00:01:30 debug #174 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b2dcc35f9e3ed6ff8746ce921830da26cd9b68ec0ecc34bc9079d3831ff5c047/main.spi 00:01:31 verbose #2503 > > 00:01:31 verbose #2504 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2505 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2506 > > │ ### (~!\\) │ 00:01:31 verbose #2507 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2508 > > 00:01:31 verbose #2509 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2510 > > inl (~!\) forall t. (code : string) : t = 00:01:31 verbose #2511 > > emit_expr () code 00:01:31 verbose #2512 > 00:01:31 debug #175 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9d3568ea2772f1490accc066ec11071fe436dd25722fba064803ebdb85c710d8/main.spi 00:01:31 verbose #2513 > > 00:01:31 verbose #2514 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2515 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2516 > > │ ### (~!\\\\) │ 00:01:31 verbose #2517 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2518 > > 00:01:31 verbose #2519 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2520 > > inl (~!\\) forall t u. ((args : t), (code : string)) : u = 00:01:31 verbose #2521 > > emit_expr args code 00:01:31 verbose #2522 > 00:01:31 debug #176 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52edab8b403db56e140fc5aab07f5175fdb0b2e2dc05a77fe3f2c590a92bfbea/main.spi 00:01:31 verbose #2523 > > 00:01:31 verbose #2524 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2525 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2526 > > │ ### emit │ 00:01:31 verbose #2527 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2528 > > 00:01:31 verbose #2529 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2530 > > inl emit forall t. (x : t) : t = 00:01:31 verbose #2531 > > !\\(x, $'"$0"') 00:01:31 verbose #2532 > 00:01:31 debug #177 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1b7953ecd6af954d4f322aa9f9c353a6e1c380e67b27d05c22e0d334833d342d/main.spi 00:01:31 verbose #2533 > > 00:01:31 verbose #2534 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2535 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2536 > > │ ### emit' │ 00:01:31 verbose #2537 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2538 > > 00:01:31 verbose #2539 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2540 > > inl emit' forall t. (x : t) : t = 00:01:31 verbose #2541 > > !\\(x, $'"let !x = $0"') 00:01:31 verbose #2542 > > x 00:01:31 verbose #2543 > 00:01:31 debug #178 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/204ba6cb2f9ec702c207a6042618e7f9920812df9d8f0416b7fe0e9f52fbbbc7/main.spi 00:01:31 verbose #2544 > > 00:01:31 verbose #2545 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:31 verbose #2546 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:31 verbose #2547 > > │ ### clone │ 00:01:31 verbose #2548 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:31 verbose #2549 > > 00:01:31 verbose #2550 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:31 verbose #2551 > > inl clone forall t. (x : t) : t = 00:01:31 verbose #2552 > > !\\(x, $'"$0.clone()"') 00:01:31 verbose #2553 > 00:01:31 debug #179 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aed8ffa91c937c5044d5d7e4a47ab49d4008252715a4ba54f9798d431310e28e/main.spi 00:01:32 verbose #2554 > > 00:01:32 verbose #2555 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2556 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2557 > > │ ### dbg │ 00:01:32 verbose #2558 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2559 > > 00:01:32 verbose #2560 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2561 > > inl dbg forall t. (x : t) : t = 00:01:32 verbose #2562 > > !\\(x, $'"dbg\!($0)"') 00:01:32 verbose #2563 > 00:01:31 debug #180 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/56513f39b75cbbf9c404d316ed23fa09f023cb8d8526abf134578cbe56e69dc8/main.spi 00:01:32 verbose #2564 > > 00:01:32 verbose #2565 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2566 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2567 > > │ ### new_box │ 00:01:32 verbose #2568 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2569 > > 00:01:32 verbose #2570 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2571 > > inl new_box forall t. (x : t) : box t = 00:01:32 verbose #2572 > > !\\(x, $'"Box::new($0)"') 00:01:32 verbose #2573 > 00:01:31 debug #181 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b0d417db5061b1587b4bcd70901c98399a2ab190267c2cb29a3346fd1c1c28a6/main.spi 00:01:32 verbose #2574 > > 00:01:32 verbose #2575 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2576 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2577 > > │ ### new_rc │ 00:01:32 verbose #2578 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2579 > > 00:01:32 verbose #2580 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2581 > > inl new_rc forall t. (x : t) : rc t = 00:01:32 verbose #2582 > > !\\(x, $'"std::rc::Rc::new($0)"') 00:01:32 verbose #2583 > 00:01:31 debug #182 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/42c45b90cb5e07c99f69efaf4da1422c7d643e909ba2b280742022e1314166ab/main.spi 00:01:32 verbose #2584 > > 00:01:32 verbose #2585 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2586 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2587 > > │ ### rc_clone │ 00:01:32 verbose #2588 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2589 > > 00:01:32 verbose #2590 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2591 > > inl rc_clone forall t. (x : rc t) : rc t = 00:01:32 verbose #2592 > > !\\(x, $'"std::rc::Rc::clone(&$0)"') 00:01:32 verbose #2593 > 00:01:31 debug #183 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/744a02198b55660c50205de1608d8145f28c5fd843fac0d0aaa4d7bc6312fdad/main.spi 00:01:32 verbose #2594 > > 00:01:32 verbose #2595 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2596 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2597 > > │ ### rc_unwrap_or_clone │ 00:01:32 verbose #2598 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2599 > > 00:01:32 verbose #2600 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2601 > > inl rc_unwrap_or_clone forall t. (x : rc t) : t = 00:01:32 verbose #2602 > > !\\(x, $'"std::rc::Rc::unwrap_or_clone($0)"') 00:01:32 verbose #2603 > 00:01:31 debug #184 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ead939232b1c73a7e77cedbe54393c474269dab19c54483553011a21c5be7feb/main.spi 00:01:32 verbose #2604 > > 00:01:32 verbose #2605 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2606 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2607 > > │ ### rc_downgrade │ 00:01:32 verbose #2608 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2609 > > 00:01:32 verbose #2610 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2611 > > inl rc_downgrade forall t. (x : rc t) : weak_rc t = 00:01:32 verbose #2612 > > !\\(x, $'"std::rc::Rc::downgrade(&$0)"') 00:01:32 verbose #2613 > 00:01:32 debug #185 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6a333d9c4946253364d905ba3d259e61d2bbb259f26aba6ac7373075cb04caff/main.spi 00:01:32 verbose #2614 > > 00:01:32 verbose #2615 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2616 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2617 > > │ ### new_ref_cell │ 00:01:32 verbose #2618 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2619 > > 00:01:32 verbose #2620 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2621 > > inl new_ref_cell forall t. (x : t) : ref_cell t = 00:01:32 verbose #2622 > > !\\(x, $'"std::cell::RefCell::new($0)"') 00:01:32 verbose #2623 > 00:01:32 debug #186 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ad93aaad8ec072026826e45624cffa5cd63b99a51f3450b85a4dbf2a2761b19/main.spi 00:01:32 verbose #2624 > > 00:01:32 verbose #2625 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2626 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2627 > > │ ### ref_cell_borrow │ 00:01:32 verbose #2628 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2629 > > 00:01:32 verbose #2630 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2631 > > inl ref_cell_borrow forall t. (x : rc (ref_cell t)) : t = 00:01:32 verbose #2632 > > !\\(x, $'"*std::cell::RefCell::borrow(&std::rc::Rc::clone(&$0))"') 00:01:32 verbose #2633 > 00:01:32 debug #187 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/265b4d5de2b3d666fb5bc0af5d4b92a5fcc87b36abff4599c5cb3ece24710794/main.spi 00:01:32 verbose #2634 > > 00:01:32 verbose #2635 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2636 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2637 > > │ ### ref_cell_borrow_mut │ 00:01:32 verbose #2638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2639 > > 00:01:32 verbose #2640 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2641 > > inl ref_cell_borrow_mut forall t. (x : rc (ref_cell t)) : mut' t = 00:01:32 verbose #2642 > > !\\(x, $'"*std::cell::RefCell::borrow_mut(&std::rc::Rc::clone(&$0))"') 00:01:32 verbose #2643 > 00:01:32 debug #188 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e6af5ccdb87d3f485ed3f02969b925f29e5a3cb409b278401dd1e180cd355416/main.spi 00:01:32 verbose #2644 > > 00:01:32 verbose #2645 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2646 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2647 > > │ ### to_mut │ 00:01:32 verbose #2648 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2649 > > 00:01:32 verbose #2650 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2651 > > inl to_mut forall t. (x : t) : t = 00:01:32 verbose #2652 > > (!\($'"true; // 1"') : bool) |> ignore 00:01:32 verbose #2653 > > (!\($'"true; let mut !x = !x"') : bool) |> ignore 00:01:32 verbose #2654 > > (!\($'"true; !x"') : bool) |> ignore 00:01:32 verbose #2655 > > !\($'"!x"') 00:01:32 verbose #2656 > > // inl result = !\($'"!x"') : mut' t 00:01:32 verbose #2657 > > // !\($'"!result"') 00:01:32 verbose #2658 > > // inl result = !\($'"*/ // a"') : mut' t 00:01:32 verbose #2659 > > // inl result = !\($'"!x"') : mut' t 00:01:32 verbose #2660 > > // result |> fun x => $'!x |> unbox // b' 00:01:32 verbose #2661 > 00:01:32 debug #189 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe06c672d5f5442b39e705a5c6a33184af6adf61b49d601e2abe5ca3df04646a/main.spi 00:01:32 verbose #2662 > > 00:01:32 verbose #2663 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2664 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2665 > > │ ### ref_map │ 00:01:32 verbose #2666 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2667 > > 00:01:32 verbose #2668 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2669 > > inl ref_map forall t u. (fn : t -> u) (x : ref t) : ref u = 00:01:32 verbose #2670 > > !\($'"!fn(!x)"') 00:01:32 verbose #2671 > 00:01:32 debug #190 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/724f3c5ab16eccb2be295ba639217ec0c96a7e636b2e9c3469afaf0830820789/main.spi 00:01:32 verbose #2672 > > 00:01:32 verbose #2673 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:32 verbose #2674 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:32 verbose #2675 > > │ ### ref_invoke │ 00:01:32 verbose #2676 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:32 verbose #2677 > > 00:01:32 verbose #2678 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:32 verbose #2679 > > inl ref_invoke forall t u. (fn : t -> u) (ref : ref t) : u = 00:01:32 verbose #2680 > > !\\(fn, $'"$0(!ref.clone())"') 00:01:32 verbose #2681 > 00:01:32 debug #191 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8a30b766bf8c7ed573830e1101be35ad5cd22614bc0ee71ec0edfc9e1b25ad44/main.spi 00:01:33 verbose #2682 > > 00:01:33 verbose #2683 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2684 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2685 > > │ ### cow_as_ref │ 00:01:33 verbose #2686 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2687 > > 00:01:33 verbose #2688 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2689 > > inl cow_as_ref forall t. (s : cow t) : ref t = 00:01:33 verbose #2690 > > !\\(s, $'"$0.as_ref()"') 00:01:33 verbose #2691 > 00:01:32 debug #192 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5c0e1db63a9e2c781b3413964856da0714ee5f85d67d2636e660cacac309eb4a/main.spi 00:01:33 verbose #2692 > > 00:01:33 verbose #2693 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2694 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2695 > > │ ### from_mut │ 00:01:33 verbose #2696 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2697 > > 00:01:33 verbose #2698 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2699 > > inl from_mut forall t. (x : mut' t) : t = 00:01:33 verbose #2700 > > !\($'"!x"') 00:01:33 verbose #2701 > 00:01:32 debug #193 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2a21416a3d227f2fc09ca33d3f64719f3eb8c8fee2a668342400f637f8a1ac6a/main.spi 00:01:33 verbose #2702 > > 00:01:33 verbose #2703 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2704 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2705 > > │ ### box_fn │ 00:01:33 verbose #2706 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2707 > > 00:01:33 verbose #2708 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2709 > > inl box_fn forall t. (x : () -> ()) : box t = 00:01:33 verbose #2710 > > inl x = join x 00:01:33 verbose #2711 > > !\($'"Box::new(move || !x())"') 00:01:33 verbose #2712 > 00:01:33 debug #194 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/df3b6f9298365e61abc83529ef0c5a510218ce687f206200fb2fba3ffb7818ca/main.spi 00:01:33 verbose #2713 > > 00:01:33 verbose #2714 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2715 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2716 > > │ ### box_pin │ 00:01:33 verbose #2717 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2718 > > 00:01:33 verbose #2719 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2720 > > inl box_pin forall t. (x : t) : pin (box t) = 00:01:33 verbose #2721 > > !\\(x, $'"Box::pin($0)"') 00:01:33 verbose #2722 > 00:01:33 debug #195 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bdf97473534335c189679ab39df773f90c2d954a36b6dc6f7642d6c6fc892971/main.spi 00:01:33 verbose #2723 > > 00:01:33 verbose #2724 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2725 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2726 > > │ ### to_ref │ 00:01:33 verbose #2727 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2728 > > 00:01:33 verbose #2729 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2730 > > inl to_ref forall t. (x : t) : ref t = 00:01:33 verbose #2731 > > !\\(x, $'"&$0"') 00:01:33 verbose #2732 > 00:01:33 debug #196 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/84b0de0b775848f44371a20cdc77f72e0f00ed032446de7915c42715f118e969/main.spi 00:01:33 verbose #2733 > > 00:01:33 verbose #2734 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2735 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2736 > > │ ### deref │ 00:01:33 verbose #2737 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2738 > > 00:01:33 verbose #2739 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2740 > > inl deref forall t. (ref : ref t) : t = 00:01:33 verbose #2741 > > !\\(ref, $'"*$0"') 00:01:33 verbose #2742 > 00:01:33 debug #197 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1efe3c4f3f7194d0e9be85768a5687772e5f0c834316e05a268eec39ea480002/main.spi 00:01:33 verbose #2743 > > 00:01:33 verbose #2744 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:33 verbose #2745 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:33 verbose #2746 > > │ ### ops_deref │ 00:01:33 verbose #2747 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:33 verbose #2748 > > 00:01:33 verbose #2749 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:33 verbose #2750 > > inl ops_deref forall t. (ref : t) : t = 00:01:33 verbose #2751 > > !\\(ref, $'"core::ops::Deref::deref(&$0)"') 00:01:33 verbose #2752 > 00:01:33 debug #198 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/93a2ccb2a118ff350861000c488740ad91e381926d063aec62a832e34bccca8c/main.spi 00:01:34 verbose #2753 > > 00:01:34 verbose #2754 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2755 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2756 > > │ ### func0_invoke │ 00:01:34 verbose #2757 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2758 > > 00:01:34 verbose #2759 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2760 > > inl func0_invoke forall t. (x : func0 t) : t = 00:01:34 verbose #2761 > > !\\(x, $'"$0()"') 00:01:34 verbose #2762 > 00:01:33 debug #199 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/375d6636bbdbc6cd159d347675878534e970449894fa64cb976242218cb0ba61/main.spi 00:01:34 verbose #2763 > > 00:01:34 verbose #2764 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2765 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2766 > > │ ### func0_move │ 00:01:34 verbose #2767 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2768 > > 00:01:34 verbose #2769 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2770 > > inl func0_move forall t. (fn : func0 t) : t = 00:01:34 verbose #2771 > > inl fn = join fn 00:01:34 verbose #2772 > > !\($'"(move || !fn())()"') 00:01:34 verbose #2773 > 00:01:33 debug #200 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a26a2b039af5cdc60d7132eb605d874fcc45d747802de42e674e295568cb46d/main.spi 00:01:34 verbose #2774 > > 00:01:34 verbose #2775 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2776 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2777 > > │ ### move │ 00:01:34 verbose #2778 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2779 > > 00:01:34 verbose #2780 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2781 > > inl move forall t. (fn : () -> t) : func0 t = 00:01:34 verbose #2782 > > !\\(fn, $'"Func0::new(move || $0())"') 00:01:34 verbose #2783 > 00:01:33 debug #201 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2b38c98ad26e2f56a0c8281110fca52a8e99714b19f3dea741c7542589a4c7c4/main.spi 00:01:34 verbose #2784 > > 00:01:34 verbose #2785 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2786 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2787 > > │ ### to_static_ref_unbox │ 00:01:34 verbose #2788 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2789 > > 00:01:34 verbose #2790 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2791 > > inl to_static_ref_unbox forall t. (x : ref t) : static_ref t = 00:01:34 verbose #2792 > > x |> unbox 00:01:34 verbose #2793 > 00:01:33 debug #202 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3321ff64752d9a5054ee221d59a7be9b2a09bc06d18bda233e6b91038e9b28d0/main.spi 00:01:34 verbose #2794 > > 00:01:34 verbose #2795 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2796 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2797 > > │ ### from_static_ref_unbox │ 00:01:34 verbose #2798 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2799 > > 00:01:34 verbose #2800 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2801 > > inl from_static_ref_unbox forall t. (x : static_ref t) : ref t = 00:01:34 verbose #2802 > > x |> unbox 00:01:34 verbose #2803 > 00:01:33 debug #203 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74b92dfae68da881284ec97dc9c7298669d16943cb5d72d91be597be522b35c1/main.spi 00:01:34 verbose #2804 > > 00:01:34 verbose #2805 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2806 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2807 > > │ ### box_leak │ 00:01:34 verbose #2808 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2809 > > 00:01:34 verbose #2810 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2811 > > inl box_leak forall t. (x : box t) : static_ref (mut' t) = 00:01:34 verbose #2812 > > !\\(x, $'"Box::leak($0)"') 00:01:34 verbose #2813 > 00:01:34 debug #204 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/090305294ce563f278ee90d8e9c3419ba09e8bf2a0e1e2447d0632431e1c21a6/main.spi 00:01:34 verbose #2814 > > 00:01:34 verbose #2815 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2816 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2817 > > │ ### drop │ 00:01:34 verbose #2818 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2819 > > 00:01:34 verbose #2820 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2821 > > inl drop forall t. (x : t) : () = 00:01:34 verbose #2822 > > !\\(x, $'"drop($0)"') 00:01:34 verbose #2823 > 00:01:34 debug #205 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a79dcb5de359f0808d9c7b06522db7dc14bd19c193bee9e08205fc1dd5fb4c58/main.spi 00:01:34 verbose #2824 > > 00:01:34 verbose #2825 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2826 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2827 > > │ ### break │ 00:01:34 verbose #2828 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2829 > > 00:01:34 verbose #2830 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2831 > > inl break () : () = 00:01:34 verbose #2832 > > (!\($'"true; break"') : bool) |> ignore 00:01:34 verbose #2833 > 00:01:34 debug #206 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/128103198a8c1371aaa44ee9441e86795dfec0ed713c1316fcc2d00a90b4f026/main.spi 00:01:34 verbose #2834 > > 00:01:34 verbose #2835 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:34 verbose #2836 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:34 verbose #2837 > > │ ### fix_closure' │ 00:01:34 verbose #2838 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:34 verbose #2839 > > 00:01:34 verbose #2840 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2841 > > inl fix_closure' (depth : u8 * u8) x = 00:01:34 verbose #2842 > > inl rec loop text (acc : string) n : string = 00:01:34 verbose #2843 > > if n <= 0 00:01:34 verbose #2844 > > then acc 00:01:34 verbose #2845 > > else loop text (acc +. text) (n - 1) 00:01:34 verbose #2846 > > inl a = depth |> fst |> loop "}" "" 00:01:34 verbose #2847 > > inl b = depth |> snd |> loop "{" "" 00:01:34 verbose #2848 > > $'"!x " + !a + "); " + !b + " //"' 00:01:34 verbose #2849 > 00:01:34 debug #207 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/38edb7f641b2fc5090f7bcd31ca3f18d1563ac808af3cd7a2bd6d7087af3148a/main.spi 00:01:34 verbose #2850 > > 00:01:34 verbose #2851 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:34 verbose #2852 > > //// test 00:01:34 verbose #2853 > > 00:01:34 verbose #2854 > > fix_closure' (3, 2) 0i32 00:01:34 verbose #2855 > > |> _assert_eq "0 }}}); {{ //" 00:01:34 verbose #2856 > 00:01:34 debug #208 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c1f8f170fcfb148352ed51fb8fe404e22825b466a786a93d1f2515bdda748ad2/main.spi 00:01:35 verbose #2857 > > 00:01:35 verbose #2858 > > ╭─[ 577.20ms - stdout ]────────────────────────────────────────────────────────╮ 00:01:35 verbose #2859 > > │ assert_eq / actual: "0 }}}); {{ //" / expected: "0 }}}); {{ //" │ 00:01:35 verbose #2860 > > │ │ 00:01:35 verbose #2861 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #2862 > > 00:01:35 verbose #2863 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #2864 > > //// test 00:01:35 verbose #2865 > > 00:01:35 verbose #2866 > > fix_closure' (0, 0) () 00:01:35 verbose #2867 > > |> _assert_eq "() ); //" 00:01:35 verbose #2868 > 00:01:35 debug #209 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/36891adb03d92be68cf6ced81317bc3ebc780b139f220bf0f48ee5b78b3f1af7/main.spi 00:01:35 verbose #2869 > > 00:01:35 verbose #2870 > > ╭─[ 105.11ms - stdout ]────────────────────────────────────────────────────────╮ 00:01:35 verbose #2871 > > │ assert_eq / actual: "() ); //" / expected: "() ); //" │ 00:01:35 verbose #2872 > > │ │ 00:01:35 verbose #2873 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #2874 > > 00:01:35 verbose #2875 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #2876 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #2877 > > │ ### fix_closure │ 00:01:35 verbose #2878 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #2879 > > 00:01:35 verbose #2880 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #2881 > > inl fix_closure depth x = 00:01:35 verbose #2882 > > inl code = fix_closure' depth x 00:01:35 verbose #2883 > > !\code 00:01:35 verbose #2884 > 00:01:35 debug #210 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/70c3b2000b8cea631804718ff040bee48c7aeb7f57b6cfa3148b1d807fbea7d7/main.spi 00:01:35 verbose #2885 > > 00:01:35 verbose #2886 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #2887 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #2888 > > │ ### loop │ 00:01:35 verbose #2889 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #2890 > > 00:01:35 verbose #2891 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #2892 > > inl loop (depth : i32) (fn : () -> ()) : () = 00:01:35 verbose #2893 > > (!\($'"true; loop { // rust.loop"') : bool) |> ignore 00:01:35 verbose #2894 > > fn () 00:01:35 verbose #2895 > > 00:01:35 verbose #2896 > > listm.init depth id 00:01:35 verbose #2897 > > |> listm.iter fun n => 00:01:35 verbose #2898 > > (!\($'"true; } // rust.loop"') : bool) |> ignore 00:01:35 verbose #2899 > > 00:01:35 verbose #2900 > > (!\($'"true; } // rust.loop"') : bool) |> ignore 00:01:35 verbose #2901 > > 00:01:35 verbose #2902 > > listm.init depth id 00:01:35 verbose #2903 > > |> listm.iter fun n => 00:01:35 verbose #2904 > > (!\($'"true; { // rust.loop"') : bool) |> ignore 00:01:35 verbose #2905 > 00:01:35 debug #211 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/770cb5157227dad6b0a7b0a7573ba0af56705253710dc1efeff7a76d718aac31/main.spi 00:01:35 verbose #2906 > > 00:01:35 verbose #2907 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #2908 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #2909 > > │ ### capture │ 00:01:35 verbose #2910 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #2911 > > 00:01:35 verbose #2912 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #2913 > > inl capture forall t. (fn : () -> t) : t = 00:01:35 verbose #2914 > > (!\($'"true; let _result = (|| { //"') : bool) |> ignore 00:01:35 verbose #2915 > > (!\\(fn (), $'"true; $0 })()"') : bool) |> ignore 00:01:35 verbose #2916 > > !\($'"_result"') 00:01:35 verbose #2917 > 00:01:35 debug #212 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c55f0a5fafb14bf2bf629bce38fcb74b8d8fb9a12f4e527d7c34ac70e6bc7483/main.spi 00:01:35 verbose #2918 > > 00:01:35 verbose #2919 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:35 verbose #2920 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:35 verbose #2921 > > │ ### capture_move │ 00:01:35 verbose #2922 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:35 verbose #2923 > > 00:01:35 verbose #2924 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:35 verbose #2925 > > inl capture_move forall t. (fn : () -> t) : t = 00:01:35 verbose #2926 > > (!\($'"true; let _result = (move || { //"') : bool) |> ignore 00:01:35 verbose #2927 > > (!\\(fn (), $'"true; $0 })()"') : bool) |> ignore 00:01:35 verbose #2928 > > !\($'"_result"') 00:01:35 verbose #2929 > 00:01:35 debug #213 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/24a6b823d3b75a28933b3a1f9b9dde4999b22248d7251ff8398139c6230b8a5b/main.spi 00:01:36 verbose #2930 > 00:00:11 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 43154 } 00:01:36 verbose #2931 > 00:00:11 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:36 verbose #2932 > 00:00:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.ipynb to html 00:01:36 verbose #2933 > 00:00:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:01:36 verbose #2934 > 00:00:12 verbose #7 ! validate(nb) 00:01:37 verbose #2935 > 00:00:12 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:01:37 verbose #2936 > 00:00:12 verbose #9 ! return _pygments_highlight( 00:01:37 verbose #2937 > 00:00:12 verbose #10 ! [NbConvertApp] Writing 390114 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.html 00:01:37 verbose #2938 > 00:00:13 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 902 } 00:01:37 verbose #2939 > 00:00:13 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 902 } 00:01:37 verbose #2940 > 00:00:13 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/rust/rust.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:38 verbose #2941 > 00:00:13 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:01:38 verbose #2942 > 00:00:13 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:01:38 verbose #2943 > 00:00:13 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 44115 } 00:01:38 debug #2944 runtime.execute_with_options_async / { exit_code = 0; output_length = 48439 } 00:01:38 debug #4 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path rust/rust.dib --retries 3 00:01:38 debug #2945 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path rust/testing.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:01:38 verbose #2946 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "rust/testing.dib", "--retries", "3"])) } 00:01:38 verbose #2947 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:01:39 verbose #2948 > > 00:01:39 verbose #2949 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:39 verbose #2950 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:39 verbose #2951 > > │ # rust/testing │ 00:01:39 verbose #2952 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:41 verbose #2953 > > 00:01:41 verbose #2954 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:41 verbose #2955 > > open rust.rust_operators 00:01:42 verbose #2956 > 00:01:41 debug #214 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40daf77a2acec5ac15e1cf56631d4105f4f565759117828320eb559038e65549/main.spi 00:01:42 verbose #2957 > > 00:01:42 verbose #2958 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:42 verbose #2959 > > //// test 00:01:42 verbose #2960 > > 00:01:42 verbose #2961 > > open testing 00:01:42 verbose #2962 > 00:01:42 debug #215 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc76f360fd664f6988ee1c6bc1dc43132802e524aab226e74a21329193e410ca/main.spi 00:01:42 verbose #2963 > > 00:01:42 verbose #2964 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:42 verbose #2965 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:42 verbose #2966 > > │ ### run_tests' │ 00:01:42 verbose #2967 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:42 verbose #2968 > > 00:01:42 verbose #2969 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:42 verbose #2970 > > inl run_tests' tests = 00:01:42 verbose #2971 > > (!\($'"true; () //"') : bool) |> ignore 00:01:42 verbose #2972 > > 00:01:42 verbose #2973 > > inl fields = reflection.get_record_fields tests 00:01:42 verbose #2974 > > 00:01:42 verbose #2975 > > fields 00:01:42 verbose #2976 > > |> listm.iter fun name, (fn : string -> ()) => 00:01:42 verbose #2977 > > !\($'"} /* /*"') 00:01:42 verbose #2978 > > (!\($'$"*/ #[[test]] fn " + !name + "() { //"') : bool) |> ignore 00:01:42 verbose #2979 > > fn name 00:01:42 verbose #2980 > > 00:01:42 verbose #2981 > > fields 00:01:42 verbose #2982 > > |> listm.iter fun _ => 00:01:42 verbose #2983 > > !\($'"{ //"') : () 00:01:42 verbose #2984 > 00:01:42 debug #216 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/263288e059e1bb9fa8b8afa244cef91b9f569ce3ac736f79759abbf877ab581f/main.spi 00:01:42 verbose #2985 > > 00:01:42 verbose #2986 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:42 verbose #2987 > > //// test 00:01:42 verbose #2988 > > 00:01:42 verbose #2989 > > inl run test = 00:01:42 verbose #2990 > > if env.get_environment_variable "TEST" = "1" 00:01:42 verbose #2991 > > then () 00:01:42 verbose #2992 > > else 00:01:42 verbose #2993 > > runtime.execution_options fun x => { x with 00:01:42 verbose #2994 > > command = "cargo +nightly test -- --show-output" 00:01:42 verbose #2995 > > working_directory = file_system.get_source_directory () |> Some |> 00:01:42 verbose #2996 > > optionm'.box 00:01:42 verbose #2997 > > environment_variables = ;[[ "TEST", "1" ]] 00:01:42 verbose #2998 > > } 00:01:42 verbose #2999 > > |> runtime.execute_with_options 00:01:42 verbose #3000 > > |> fun exit_code, result => 00:01:42 verbose #3001 > > exit_code |> _assert_eq 0i32 00:01:42 verbose #3002 > > result |> _assert_string_contains "test result: ok. 1 passed; 0 00:01:42 verbose #3003 > > failed; 0 ignored;" 00:01:42 verbose #3004 > > 00:01:42 verbose #3005 > > $'let tests () = !test ()' : () 00:01:42 verbose #3006 > 00:01:42 debug #217 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f45374451c5af63f03da2a49218ab59ec0bb3ba736b58d72cf9047632675df13/main.spi 00:01:42 verbose #3007 > > 00:01:42 verbose #3008 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:42 verbose #3009 > > //// test 00:01:42 verbose #3010 > > ///! rust -d encoding_rs encoding_rs_io 00:01:42 verbose #3011 > > 00:01:42 verbose #3012 > > fun () => 00:01:42 verbose #3013 > > run_tests' { 00:01:42 verbose #3014 > > a = _assert_eq "a" 00:01:42 verbose #3015 > > } 00:01:42 verbose #3016 > > |> run 00:01:42 verbose #3017 > 00:01:42 debug #218 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3438219f592501d18023b74038acf5101ca11916f447986f627b7ff4d9175683/main.spi 00:01:57 verbose #3018 > > 00:01:57 verbose #3019 > > ╭─[ 14.35s - return value ]────────────────────────────────────────────────────╮ 00:01:57 verbose #3020 > > │ 00:00:00 debug #1 runtime.execute_with_options / { file_name = │ 00:01:57 verbose #3021 > > │ cargo; arguments = ["+nightly", "test", "--", "--show-output"]; options = { │ 00:01:57 verbose #3022 > > │ command = cargo +nightly test -- --show-output; cancellation_token = None; │ 00:01:57 verbose #3023 > > │ environment_variables = Array(MutCell([("TEST", "1")])); on_line = None; │ 00:01:57 verbose #3024 > > │ stdin = None; trace = true; working_directory = │ 00:01:57 verbose #3025 > > │ Some("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_build │ 00:01:57 verbose #3026 > > │ er/packages/Rust/3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9ad78fef1e4f45f3 │ 00:01:57 verbose #3027 > > │ b5b37") } } │ 00:01:57 verbose #3028 > > │ 00:00:00 verbose #2 ! Compiling │ 00:01:57 verbose #3029 > > │ spiral_builder_3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9ad78fef1e4f45f3b5 │ 00:01:57 verbose #3030 > > │ b37 v0.0.1 │ 00:01:57 verbose #3031 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:01:57 verbose #3032 > > │ ckages/Rust/3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9ad78fef1e4f45f3b5b37 │ 00:01:57 verbose #3033 > > │ ) │ 00:01:57 verbose #3034 > > │ 00:00:01 verbose #3 ! Finished `test` profile [unoptimized │ 00:01:57 verbose #3035 > > │ + debuginfo] target(s) in 1.22s │ 00:01:57 verbose #3036 > > │ 00:00:01 verbose #4 ! Running unittests spiral_builder.rs │ 00:01:57 verbose #3037 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/ta │ 00:01:57 verbose #3038 > > │ rget/debug/deps/spiral_builder_3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9a │ 00:01:57 verbose #3039 > > │ d78fef1e4f45f3b5b37-6edce84fe7e466a4) │ 00:01:57 verbose #3040 > > │ 00:00:01 verbose #5 > │ 00:01:57 verbose #3041 > > │ 00:00:01 verbose #6 > running 1 test │ 00:01:57 verbose #3042 > > │ 00:00:01 verbose #7 > test module_7e2cd9e0::Spiral_builder::a ... ok │ 00:01:57 verbose #3043 > > │ 00:00:01 verbose #8 > │ 00:01:57 verbose #3044 > > │ 00:00:01 verbose #9 > successes: │ 00:01:57 verbose #3045 > > │ 00:00:01 verbose #10 > │ 00:01:57 verbose #3046 > > │ 00:00:01 verbose #1...> │ 00:01:57 verbose #3047 > > │ 00:00:01 verbose #15 > successes: │ 00:01:57 verbose #3048 > > │ 00:00:01 verbose #16 > module_7e2cd9e0::Spiral_builder::a │ 00:01:57 verbose #3049 > > │ 00:00:01 verbose #17 > │ 00:01:57 verbose #3050 > > │ 00:00:01 verbose #18 > test result: ok. 1 passed; 0 failed; 0 ignored; │ 00:01:57 verbose #3051 > > │ 0 measured; 0 filtered out; finished in 0.00s │ 00:01:57 verbose #3052 > > │ 00:00:01 verbose #19 > │ 00:01:57 verbose #3053 > > │ 00:00:01 verbose #20 runtime.execute_with_options / result / { │ 00:01:57 verbose #3054 > > │ exit_code = 0; std_trace_length = 942 } │ 00:01:57 verbose #3055 > > │ assert_eq / actual: 0 / expected: 0 │ 00:01:57 verbose #3056 > > │ assert_string_contains / actual: "test result: ok. 1 passed; 0 failed; 0 │ 00:01:57 verbose #3057 > > │ ignored;" / expected: " Compiling │ 00:01:57 verbose #3058 > > │ spiral_builder_3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9ad78fef1e4f45f3b5 │ 00:01:57 verbose #3059 > > │ b37 v0.0.1 │ 00:01:57 verbose #3060 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:01:57 verbose #3061 > > │ ckages/Rust/3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9ad78fef1e4f45f3b5b37) │ 00:01:57 verbose #3062 > > │ [0m │ 00:01:57 verbose #3063 > > │ Finished `test` profile [unoptimized + debuginfo] target(s) │ 00:01:57 verbose #3064 > > │ in 1.22s │ 00:01:57 verbose #3065 > > │ Running unittests spiral_builder.rs │ 00:01:57 verbose #3066 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/ta │ 00:01:57 verbose #3067 > > │ rget/debug/deps/spiral_builder_3670d56ab7003a583a3d8e0676ee1b237de70d5d34d9a │ 00:01:57 verbose #3068 > > │ d78fef1e4f45f3b5b37-6edce84fe7e466a4) │ 00:01:57 verbose #3069 > > │ │ 00:01:57 verbose #3070 > > │ running 1 test │ 00:01:57 verbose #3071 > > │ test module_7e2cd9e0::Spiral_builder::a ... ok │ 00:01:57 verbose #3072 > > │ │ 00:01:57 verbose #3073 > > │ successes: │ 00:01:57 verbose #3074 > > │ │ 00:01:57 verbose #3075 > > │ ---- module_7e2cd9e0::Spiral_builder::a stdout ---- │ 00:01:57 verbose #3076 > > │ assert_eq / actual: "a" / expected: "a" │ 00:01:57 verbose #3077 > > │ │ 00:01:57 verbose #3078 > > │ │ 00:01:57 verbose #3079 > > │ successes: │ 00:01:57 verbose #3080 > > │ module_7e2cd9e0::Spiral_builder::a │ 00:01:57 verbose #3081 > > │ │ 00:01:57 verbose #3082 > > │ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │ 00:01:57 verbose #3083 > > │ finished in 0.00s │ 00:01:57 verbose #3084 > > │ " │ 00:01:57 verbose #3085 > > │ │ 00:01:57 verbose #3086 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:57 verbose #3087 > > 00:01:57 verbose #3088 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:01:57 verbose #3089 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:01:57 verbose #3090 > > │ ### run_tests │ 00:01:57 verbose #3091 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:01:57 verbose #3092 > > 00:01:57 verbose #3093 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #3094 > > inl run_tests tests : () = 00:01:57 verbose #3095 > > real 00:01:57 verbose #3096 > > inl tests = 00:01:57 verbose #3097 > > real_core.record_map 00:01:57 verbose #3098 > > fun { key value } => 00:01:57 verbose #3099 > > (fun _ => value ()) : string -> () 00:01:57 verbose #3100 > > tests 00:01:57 verbose #3101 > > run_tests' `(`tests) tests 00:01:57 verbose #3102 > 00:01:56 debug #219 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b40064f6657c4121aae447d92d35dad4335273374ea9a08c98dc968b851f26f4/main.spi 00:01:57 verbose #3103 > > 00:01:57 verbose #3104 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:01:57 verbose #3105 > > //// test 00:01:57 verbose #3106 > > ///! rust -d encoding_rs encoding_rs_io 00:01:57 verbose #3107 > > 00:01:57 verbose #3108 > > fun () => 00:01:57 verbose #3109 > > run_tests { 00:01:57 verbose #3110 > > a = fun () => "a" |> _assert_eq "a" 00:01:57 verbose #3111 > > } 00:01:57 verbose #3112 > > |> run 00:01:57 verbose #3113 > 00:01:56 debug #220 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edab390a0acb4abf75f831702f22ab3b3c9a8dc8b711d80fa134b3ac8a6c49c5/main.spi 00:02:11 verbose #3114 > > 00:02:11 verbose #3115 > > ╭─[ 14.08s - return value ]────────────────────────────────────────────────────╮ 00:02:11 verbose #3116 > > │ 00:00:00 debug #1 runtime.execute_with_options / { file_name = │ 00:02:11 verbose #3117 > > │ cargo; arguments = ["+nightly", "test", "--", "--show-output"]; options = { │ 00:02:11 verbose #3118 > > │ command = cargo +nightly test -- --show-output; cancellation_token = None; │ 00:02:11 verbose #3119 > > │ environment_variables = Array(MutCell([("TEST", "1")])); on_line = None; │ 00:02:11 verbose #3120 > > │ stdin = None; trace = true; working_directory = │ 00:02:11 verbose #3121 > > │ Some("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_build │ 00:02:11 verbose #3122 > > │ er/packages/Rust/c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e44f8ee9a7adb2b9 │ 00:02:11 verbose #3123 > > │ ee2cc") } } │ 00:02:11 verbose #3124 > > │ 00:00:00 verbose #2 ! Compiling │ 00:02:11 verbose #3125 > > │ spiral_builder_c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e44f8ee9a7adb2b9ee │ 00:02:11 verbose #3126 > > │ 2cc v0.0.1 │ 00:02:11 verbose #3127 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:11 verbose #3128 > > │ ckages/Rust/c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e44f8ee9a7adb2b9ee2cc │ 00:02:11 verbose #3129 > > │ ) │ 00:02:11 verbose #3130 > > │ 00:00:01 verbose #3 ! Finished `test` profile [unoptimized │ 00:02:11 verbose #3131 > > │ + debuginfo] target(s) in 1.22s │ 00:02:11 verbose #3132 > > │ 00:00:01 verbose #4 ! Running unittests spiral_builder.rs │ 00:02:11 verbose #3133 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/ta │ 00:02:11 verbose #3134 > > │ rget/debug/deps/spiral_builder_c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e4 │ 00:02:11 verbose #3135 > > │ 4f8ee9a7adb2b9ee2cc-6e48e22c728a908e) │ 00:02:11 verbose #3136 > > │ 00:00:01 verbose #5 > │ 00:02:11 verbose #3137 > > │ 00:00:01 verbose #6 > running 1 test │ 00:02:11 verbose #3138 > > │ 00:00:01 verbose #7 > test module_7e2cd9e0::Spiral_builder::a ... ok │ 00:02:11 verbose #3139 > > │ 00:00:01 verbose #8 > │ 00:02:11 verbose #3140 > > │ 00:00:01 verbose #9 > successes: │ 00:02:11 verbose #3141 > > │ 00:00:01 verbose #10 > │ 00:02:11 verbose #3142 > > │ 00:00:01 verbose #1...> │ 00:02:11 verbose #3143 > > │ 00:00:01 verbose #15 > successes: │ 00:02:11 verbose #3144 > > │ 00:00:01 verbose #16 > module_7e2cd9e0::Spiral_builder::a │ 00:02:11 verbose #3145 > > │ 00:00:01 verbose #17 > │ 00:02:11 verbose #3146 > > │ 00:00:01 verbose #18 > test result: ok. 1 passed; 0 failed; 0 ignored; │ 00:02:11 verbose #3147 > > │ 0 measured; 0 filtered out; finished in 0.00s │ 00:02:11 verbose #3148 > > │ 00:00:01 verbose #19 > │ 00:02:11 verbose #3149 > > │ 00:00:01 verbose #20 runtime.execute_with_options / result / { │ 00:02:11 verbose #3150 > > │ exit_code = 0; std_trace_length = 942 } │ 00:02:11 verbose #3151 > > │ assert_eq / actual: 0 / expected: 0 │ 00:02:11 verbose #3152 > > │ assert_string_contains / actual: "test result: ok. 1 passed; 0 failed; 0 │ 00:02:11 verbose #3153 > > │ ignored;" / expected: " Compiling │ 00:02:11 verbose #3154 > > │ spiral_builder_c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e44f8ee9a7adb2b9ee │ 00:02:11 verbose #3155 > > │ 2cc v0.0.1 │ 00:02:11 verbose #3156 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:11 verbose #3157 > > │ ckages/Rust/c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e44f8ee9a7adb2b9ee2cc) │ 00:02:11 verbose #3158 > > │ [0m │ 00:02:11 verbose #3159 > > │ Finished `test` profile [unoptimized + debuginfo] target(s) │ 00:02:11 verbose #3160 > > │ in 1.22s │ 00:02:11 verbose #3161 > > │ Running unittests spiral_builder.rs │ 00:02:11 verbose #3162 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/ta │ 00:02:11 verbose #3163 > > │ rget/debug/deps/spiral_builder_c8ef3a091baa45c744a7d832eced3956eb83f0b5a78e4 │ 00:02:11 verbose #3164 > > │ 4f8ee9a7adb2b9ee2cc-6e48e22c728a908e) │ 00:02:11 verbose #3165 > > │ │ 00:02:11 verbose #3166 > > │ running 1 test │ 00:02:11 verbose #3167 > > │ test module_7e2cd9e0::Spiral_builder::a ... ok │ 00:02:11 verbose #3168 > > │ │ 00:02:11 verbose #3169 > > │ successes: │ 00:02:11 verbose #3170 > > │ │ 00:02:11 verbose #3171 > > │ ---- module_7e2cd9e0::Spiral_builder::a stdout ---- │ 00:02:11 verbose #3172 > > │ assert_eq / actual: "a" / expected: "a" │ 00:02:11 verbose #3173 > > │ │ 00:02:11 verbose #3174 > > │ │ 00:02:11 verbose #3175 > > │ successes: │ 00:02:11 verbose #3176 > > │ module_7e2cd9e0::Spiral_builder::a │ 00:02:11 verbose #3177 > > │ │ 00:02:11 verbose #3178 > > │ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │ 00:02:11 verbose #3179 > > │ finished in 0.00s │ 00:02:11 verbose #3180 > > │ " │ 00:02:11 verbose #3181 > > │ │ 00:02:11 verbose #3182 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:11 verbose #3183 > > 00:02:11 verbose #3184 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:11 verbose #3185 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:11 verbose #3186 > > │ ### run_tests_log │ 00:02:11 verbose #3187 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:11 verbose #3188 > > 00:02:11 verbose #3189 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:11 verbose #3190 > > inl run_tests_log tests : () = 00:02:11 verbose #3191 > > real 00:02:11 verbose #3192 > > inl tests = 00:02:11 verbose #3193 > > real_core.record_map 00:02:11 verbose #3194 > > fun { key value } => 00:02:11 verbose #3195 > > (fun _ => value false) : () -> () 00:02:11 verbose #3196 > > tests 00:02:11 verbose #3197 > > run_tests `(`tests) tests 00:02:11 verbose #3198 > 00:02:10 debug #221 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f47224acad2f78e7e76113a0ad1d84747bf610037c53dbde16136b4fecfdc472/main.spi 00:02:11 verbose #3199 > > 00:02:11 verbose #3200 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:11 verbose #3201 > > //// test 00:02:11 verbose #3202 > > ///! rust -d encoding_rs encoding_rs_io 00:02:11 verbose #3203 > > 00:02:11 verbose #3204 > > fun () => 00:02:11 verbose #3205 > > run_tests_log { 00:02:11 verbose #3206 > > a = _assert_eq false 00:02:11 verbose #3207 > > } 00:02:11 verbose #3208 > > |> run 00:02:11 verbose #3209 > 00:02:11 debug #222 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2f798e1457608856a0173b57aa2d56b65b03a88c2fb4eb6845626b7bb8bcca4c/main.spi 00:02:25 verbose #3210 > > 00:02:25 verbose #3211 > > ╭─[ 14.16s - return value ]────────────────────────────────────────────────────╮ 00:02:25 verbose #3212 > > │ 00:00:00 debug #1 runtime.execute_with_options / { file_name = │ 00:02:25 verbose #3213 > > │ cargo; arguments = ["+nightly", "test", "--", "--show-output"]; options = { │ 00:02:25 verbose #3214 > > │ command = cargo +nightly test -- --show-output; cancellation_token = None; │ 00:02:25 verbose #3215 > > │ environment_variables = Array(MutCell([("TEST", "1")])); on_line = None; │ 00:02:25 verbose #3216 > > │ stdin = None; trace = true; working_directory = │ 00:02:25 verbose #3217 > > │ Some("/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_build │ 00:02:25 verbose #3218 > > │ er/packages/Rust/dc791a8300cd41fcab532f813a4782c2226308f1402655530256b8a7e00 │ 00:02:25 verbose #3219 > > │ 2e8d1") } } │ 00:02:25 verbose #3220 > > │ 00:00:00 verbose #2 ! Compiling │ 00:02:25 verbose #3221 > > │ spiral_builder_dc791a8300cd41fcab532f813a4782c2226308f1402655530256b8a7e002e │ 00:02:25 verbose #3222 > > │ 8d1 v0.0.1 │ 00:02:25 verbose #3223 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:25 verbose #3224 > > │ ckages/Rust/dc791a8300cd41fcab532f813a4782c2226308f1402655530256b8a7e002e8d1 │ 00:02:25 verbose #3225 > > │ ) │ 00:02:25 verbose #3226 > > │ 00:00:01 verbose #3 ! Finished `test` profile [unoptimized │ 00:02:25 verbose #3227 > > │ + debuginfo] target(s) in 1.21s │ 00:02:25 verbose #3228 > > │ 00:00:01 verbose #4 ! Running unittests spiral_builder.rs │ 00:02:25 verbose #3229 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/ta │ 00:02:25 verbose #3230 > > │ rget/debug/deps/spiral_builder_dc791a8300cd41fcab532f813a4782c2226308f140265 │ 00:02:25 verbose #3231 > > │ 5530256b8a7e002e8d1-7f97f8a7c739c5f3) │ 00:02:25 verbose #3232 > > │ 00:00:01 verbose #5 > │ 00:02:25 verbose #3233 > > │ 00:00:01 verbose #6 > running 1 test │ 00:02:25 verbose #3234 > > │ 00:00:01 verbose #7 > test module_7e2cd9e0::Spiral_builder::a ... ok │ 00:02:25 verbose #3235 > > │ 00:00:01 verbose #8 > │ 00:02:25 verbose #3236 > > │ 00:00:01 verbose #9 > successes: │ 00:02:25 verbose #3237 > > │ 00:00:01 verbose #10 > │ 00:02:25 verbose #3238 > > │ 00:00:01 verbose #1...:00:01 verbose #15 > successes: │ 00:02:25 verbose #3239 > > │ 00:00:01 verbose #16 > module_7e2cd9e0::Spiral_builder::a │ 00:02:25 verbose #3240 > > │ 00:00:01 verbose #17 > │ 00:02:25 verbose #3241 > > │ 00:00:01 verbose #18 > test result: ok. 1 passed; 0 failed; 0 ignored; │ 00:02:25 verbose #3242 > > │ 0 measured; 0 filtered out; finished in 0.00s │ 00:02:25 verbose #3243 > > │ 00:00:01 verbose #19 > │ 00:02:25 verbose #3244 > > │ 00:00:01 verbose #20 runtime.execute_with_options / result / { │ 00:02:25 verbose #3245 > > │ exit_code = 0; std_trace_length = 946 } │ 00:02:25 verbose #3246 > > │ assert_eq / actual: 0 / expected: 0 │ 00:02:25 verbose #3247 > > │ assert_string_contains / actual: "test result: ok. 1 passed; 0 failed; 0 │ 00:02:25 verbose #3248 > > │ ignored;" / expected: " Compiling │ 00:02:25 verbose #3249 > > │ spiral_builder_dc791a8300cd41fcab532f813a4782c2226308f1402655530256b8a7e002e │ 00:02:25 verbose #3250 > > │ 8d1 v0.0.1 │ 00:02:25 verbose #3251 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/pa │ 00:02:25 verbose #3252 > > │ ckages/Rust/dc791a8300cd41fcab532f813a4782c2226308f1402655530256b8a7e002e8d1) │ 00:02:25 verbose #3253 > > │ [0m │ 00:02:25 verbose #3254 > > │ Finished `test` profile [unoptimized + debuginfo] target(s) │ 00:02:25 verbose #3255 > > │ in 1.21s │ 00:02:25 verbose #3256 > > │ Running unittests spiral_builder.rs │ 00:02:25 verbose #3257 > > │ (/home/runner/work/polyglot/polyglot/target/spiral_builder/spiral_builder/ta │ 00:02:25 verbose #3258 > > │ rget/debug/deps/spiral_builder_dc791a8300cd41fcab532f813a4782c2226308f140265 │ 00:02:25 verbose #3259 > > │ 5530256b8a7e002e8d1-7f97f8a7c739c5f3) │ 00:02:25 verbose #3260 > > │ │ 00:02:25 verbose #3261 > > │ running 1 test │ 00:02:25 verbose #3262 > > │ test module_7e2cd9e0::Spiral_builder::a ... ok │ 00:02:25 verbose #3263 > > │ │ 00:02:25 verbose #3264 > > │ successes: │ 00:02:25 verbose #3265 > > │ │ 00:02:25 verbose #3266 > > │ ---- module_7e2cd9e0::Spiral_builder::a stdout ---- │ 00:02:25 verbose #3267 > > │ assert_eq / actual: false / expected: false │ 00:02:25 verbose #3268 > > │ │ 00:02:25 verbose #3269 > > │ │ 00:02:25 verbose #3270 > > │ successes: │ 00:02:25 verbose #3271 > > │ module_7e2cd9e0::Spiral_builder::a │ 00:02:25 verbose #3272 > > │ │ 00:02:25 verbose #3273 > > │ test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │ 00:02:25 verbose #3274 > > │ finished in 0.00s │ 00:02:25 verbose #3275 > > │ " │ 00:02:25 verbose #3276 > > │ │ 00:02:25 verbose #3277 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:25 verbose #3278 > 00:00:47 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 26354 } 00:02:25 verbose #3279 > 00:00:47 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:26 verbose #3280 > 00:00:48 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.ipynb to html 00:02:26 verbose #3281 > 00:00:48 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:02:26 verbose #3282 > 00:00:48 verbose #7 ! validate(nb) 00:02:26 verbose #3283 > 00:00:48 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:02:26 verbose #3284 > 00:00:48 verbose #9 ! return _pygments_highlight( 00:02:26 verbose #3285 > 00:00:48 verbose #10 ! [NbConvertApp] Writing 299212 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.html 00:02:26 verbose #3286 > 00:00:48 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 908 } 00:02:26 verbose #3287 > 00:00:48 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 908 } 00:02:26 verbose #3288 > 00:00:48 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/rust/testing.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:27 verbose #3289 > 00:00:49 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:02:27 verbose #3290 > 00:00:49 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:02:27 verbose #3291 > 00:00:49 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 27321 } 00:02:27 debug #3292 runtime.execute_with_options_async / { exit_code = 0; output_length = 30800 } 00:02:27 debug #5 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path rust/testing.dib --retries 3 00:02:27 debug #3293 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path testing.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:27 verbose #3294 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "testing.dib", "--retries", "3"])) } 00:02:27 verbose #3295 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:02:28 verbose #3296 > > 00:02:28 verbose #3297 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:28 verbose #3298 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:28 verbose #3299 > > │ # testing │ 00:02:28 verbose #3300 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:28 verbose #3301 > > 00:02:28 verbose #3302 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:28 verbose #3303 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:28 verbose #3304 > > │ ## testing │ 00:02:28 verbose #3305 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:28 verbose #3306 > > 00:02:28 verbose #3307 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:28 verbose #3308 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:28 verbose #3309 > > │ ### __expect │ 00:02:28 verbose #3310 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:31 verbose #3311 > > 00:02:31 verbose #3312 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:31 verbose #3313 > > inl __expect fn log name b a = 00:02:31 verbose #3314 > > inl result = fn a b 00:02:31 verbose #3315 > > inl result = 00:02:31 verbose #3316 > > result || join result 00:02:31 verbose #3317 > > if log |> not 00:02:31 verbose #3318 > > then "__expect" 00:02:31 verbose #3319 > > else 00:02:31 verbose #3320 > > inl text = 00:02:31 verbose #3321 > > backend_switch { 00:02:31 verbose #3322 > > Fsharp = fun () => $'$"{!name} / actual: %A{!a} / expected: 00:02:31 verbose #3323 > > %A{!b}"' : string 00:02:31 verbose #3324 > > Python = fun () => $'f"{!name} / actual: {!a} / expected: {!b}"' 00:02:31 verbose #3325 > > : string 00:02:31 verbose #3326 > > } 00:02:31 verbose #3327 > > text |> console.write_line 00:02:31 verbose #3328 > > text 00:02:31 verbose #3329 > > |> assert result 00:02:31 verbose #3330 > 00:02:31 debug #223 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a908bb2db39526528c19bb3504f98c802a7f801ed253d940ec83b2c996dccfd7/main.spi 00:02:31 verbose #3331 > > 00:02:31 verbose #3332 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:31 verbose #3333 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:31 verbose #3334 > > │ ### __assert_approx_eq │ 00:02:31 verbose #3335 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:31 verbose #3336 > > 00:02:31 verbose #3337 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:31 verbose #3338 > > inl __assert_approx_eq log e b a = __expect (fun a b => abs (b - a) < (e |> 00:02:31 verbose #3339 > > optionm.defaultWith 0.00000001)) log "assert_approx_eq" b a 00:02:31 verbose #3340 > > inl _assert_approx_eq e b a = __assert_approx_eq true e b a 00:02:31 verbose #3341 > 00:02:31 debug #224 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/630fb695a15641a87e56cf037b7f376efbbeff5f33c382b053d9791321a2a022/main.spi 00:02:31 verbose #3342 > > 00:02:31 verbose #3343 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:31 verbose #3344 > > //// test 00:02:31 verbose #3345 > > ///! fsharp 00:02:31 verbose #3346 > > ///! cuda 00:02:31 verbose #3347 > > ///! rust 00:02:31 verbose #3348 > > ///! typescript 00:02:31 verbose #3349 > > ///! python 00:02:31 verbose #3350 > > 00:02:31 verbose #3351 > > 12.345f64 00:02:31 verbose #3352 > > |> _assert_approx_eq (Some 0.0001f64) 12.345f64 00:02:31 verbose #3353 > 00:02:31 debug #225 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e7c5cdb3c55b5b1c640b7ad8a80ec6dd1664e6e21dd71a28f87fe71593e5da4c/main.spi 00:02:31 verbose #3354 > 00:02:31 debug #226 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/750711c3b0c624220af68a0911e1f8c71f3f78fedd45281fdbd42ffe7c45fa80/main.spi 00:02:44 verbose #3355 > > 00:02:44 verbose #3356 > > ╭─[ 12.08s - return value ]────────────────────────────────────────────────────╮ 00:02:44 verbose #3357 > > │ .py output (Cuda): │ 00:02:44 verbose #3358 > > │ assert_approx_eq / actual: 12.345 / expected: 12.345 │ 00:02:44 verbose #3359 > > │ │ 00:02:44 verbose #3360 > > │ .rs output: │ 00:02:44 verbose #3361 > > │ assert_approx_eq / actual: 12.345 / expected: 12.345 │ 00:02:44 verbose #3362 > > │ │ 00:02:44 verbose #3363 > > │ .ts output: │ 00:02:44 verbose #3364 > > │ assert_approx_eq / actual: 12.345 / expected: 12.345 │ 00:02:44 verbose #3365 > > │ │ 00:02:44 verbose #3366 > > │ .py output: │ 00:02:44 verbose #3367 > > │ assert_approx_eq / actual: 12.345 / expected: 12.345 │ 00:02:44 verbose #3368 > > │ │ 00:02:44 verbose #3369 > > │ │ 00:02:44 verbose #3370 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3371 > > 00:02:44 verbose #3372 > > ╭─[ 12.08s - stdout ]──────────────────────────────────────────────────────────╮ 00:02:44 verbose #3373 > > │ .fsx output: │ 00:02:44 verbose #3374 > > │ assert_approx_eq / actual: 12.345 / expected: 12.345 │ 00:02:44 verbose #3375 > > │ │ 00:02:44 verbose #3376 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3377 > > 00:02:44 verbose #3378 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3379 > > //// test 00:02:44 verbose #3380 > > 00:02:44 verbose #3381 > > 1f64 00:02:44 verbose #3382 > > |> _assert_approx_eq (Some 3) 2 00:02:44 verbose #3383 > 00:02:43 debug #227 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f7e3225d53652f951fe7e7657c1582d108d8bb65ead49fff933851ddd4a9a745/main.spi 00:02:44 verbose #3384 > > 00:02:44 verbose #3385 > > ╭─[ 110.77ms - stdout ]────────────────────────────────────────────────────────╮ 00:02:44 verbose #3386 > > │ assert_approx_eq / actual: 1.0 / expected: 2.0 │ 00:02:44 verbose #3387 > > │ │ 00:02:44 verbose #3388 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3389 > > 00:02:44 verbose #3390 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3391 > > //// test 00:02:44 verbose #3392 > > 00:02:44 verbose #3393 > > (dyn 1f64) 00:02:44 verbose #3394 > > |> _assert_approx_eq (Some 3) 2 00:02:44 verbose #3395 > 00:02:43 debug #228 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ba490665bf8812731ea625ddf4012a10c9dcab2cd5018002fd3d7f06c3e17300/main.spi 00:02:44 verbose #3396 > > 00:02:44 verbose #3397 > > ╭─[ 194.02ms - stdout ]────────────────────────────────────────────────────────╮ 00:02:44 verbose #3398 > > │ assert_approx_eq / actual: 1.0 / expected: 2.0 │ 00:02:44 verbose #3399 > > │ │ 00:02:44 verbose #3400 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3401 > > 00:02:44 verbose #3402 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3403 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3404 > > │ ### __assert_eq │ 00:02:44 verbose #3405 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3406 > > 00:02:44 verbose #3407 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3408 > > inl __assert_eq log b a = __expect (=) log "assert_eq" b a 00:02:44 verbose #3409 > > inl _assert_eq b a = __assert_eq true b a 00:02:44 verbose #3410 > 00:02:43 debug #229 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0536e123a98842b73c72be4d18c09334a318550c66ba1c298e5059b6e663f972/main.spi 00:02:44 verbose #3411 > > 00:02:44 verbose #3412 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3413 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3414 > > │ ### __assert_eq' │ 00:02:44 verbose #3415 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3416 > > 00:02:44 verbose #3417 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3418 > > inl __assert_eq' log b a = __expect (=.) log "assert_eq'" b a 00:02:44 verbose #3419 > > inl _assert_eq' b a = __assert_eq' true b a 00:02:44 verbose #3420 > 00:02:44 debug #230 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/25f50f527335a824ae6ab8ca015d3bd520fd702098841a54b6a3b42a22ba9d14/main.spi 00:02:44 verbose #3421 > > 00:02:44 verbose #3422 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3423 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3424 > > │ ### __assert_ne │ 00:02:44 verbose #3425 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3426 > > 00:02:44 verbose #3427 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3428 > > inl __assert_ne log b a = __expect (<>.) log "assert_ne" b a 00:02:44 verbose #3429 > > inl _assert_ne b a = __assert_ne true b a 00:02:44 verbose #3430 > 00:02:44 debug #231 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7c3b545a37d40672182f34fc97f9e39928f0d1366b943e66e5bb212db10799d3/main.spi 00:02:44 verbose #3431 > > 00:02:44 verbose #3432 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3433 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3434 > > │ ### __assert_gt │ 00:02:44 verbose #3435 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3436 > > 00:02:44 verbose #3437 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3438 > > inl __assert_gt log b a = __expect (>) log "assert_gt" b a 00:02:44 verbose #3439 > > inl _assert_gt b a = __assert_gt true b a 00:02:44 verbose #3440 > 00:02:44 debug #232 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c35535827852d46bf121f79ffa8c841b6df08aa172a720761eac028194910135/main.spi 00:02:44 verbose #3441 > > 00:02:44 verbose #3442 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3443 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3444 > > │ ### __assert_ge │ 00:02:44 verbose #3445 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3446 > > 00:02:44 verbose #3447 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3448 > > inl __assert_ge log b a = __expect (>=) log "assert_ge" b a 00:02:44 verbose #3449 > > inl _assert_ge b a = __assert_ge true b a 00:02:44 verbose #3450 > 00:02:44 debug #233 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ad0d5e41e8fbf265d02cd17394551150955653c85a09878bc5708b25566ac7d2/main.spi 00:02:44 verbose #3451 > > 00:02:44 verbose #3452 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3453 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3454 > > │ ### __assert_lt │ 00:02:44 verbose #3455 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3456 > > 00:02:44 verbose #3457 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3458 > > inl __assert_lt log b a = __expect (<) log "assert_lt" b a 00:02:44 verbose #3459 > > inl _assert_lt b a = __assert_lt true b a 00:02:44 verbose #3460 > 00:02:44 debug #234 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cdea3448765b81b4703fb4449b21426a6601408a827a235b566beb566660b43e/main.spi 00:02:44 verbose #3461 > > 00:02:44 verbose #3462 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3463 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3464 > > │ ### __assert_le │ 00:02:44 verbose #3465 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3466 > > 00:02:44 verbose #3467 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3468 > > inl __assert_le log b a = __expect (<=) log "assert_le" b a 00:02:44 verbose #3469 > > inl _assert_le b a = __assert_le true b a 00:02:44 verbose #3470 > 00:02:44 debug #235 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c62b926dbb2a354a1358f1bbfe934319789ddb7869c1c6bfd21e25da20927b21/main.spi 00:02:44 verbose #3471 > > 00:02:44 verbose #3472 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:44 verbose #3473 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:44 verbose #3474 > > │ ### __assert_string_contains │ 00:02:44 verbose #3475 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:44 verbose #3476 > > 00:02:44 verbose #3477 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:44 verbose #3478 > > inl __assert_string_contains log b a = __expect sm'.contains log 00:02:44 verbose #3479 > > "assert_string_contains" a b 00:02:44 verbose #3480 > > inl _assert_string_contains b a = __assert_string_contains true b a 00:02:44 verbose #3481 > 00:02:44 debug #236 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/13dfb239e9e67fa86d2ff5d23982efc32b332d650ff954e902059daaf23e1ebf/main.spi 00:02:45 verbose #3482 > > 00:02:45 verbose #3483 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:45 verbose #3484 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:45 verbose #3485 > > │ ### __assert_between │ 00:02:45 verbose #3486 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:45 verbose #3487 > > 00:02:45 verbose #3488 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:45 verbose #3489 > > inl __assert_between log a b actual = 00:02:45 verbose #3490 > > inl assert_between actual (a, b) = 00:02:45 verbose #3491 > > __assert_ge false a actual 00:02:45 verbose #3492 > > __assert_le false b actual 00:02:45 verbose #3493 > > true 00:02:45 verbose #3494 > > __expect assert_between log "assert_between" (a, b) actual 00:02:45 verbose #3495 > > inl _assert_between a b actual = __assert_between true a b actual 00:02:45 verbose #3496 > 00:02:44 debug #237 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/444298354c32f35d51cca2c1fd77cedc9a8f918bb2afb0c9c045752474828e18/main.spi 00:02:45 verbose #3497 > > 00:02:45 verbose #3498 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:45 verbose #3499 > > inl _assert_fn fn list = 00:02:45 verbose #3500 > > list 00:02:45 verbose #3501 > > |> listm.rev 00:02:45 verbose #3502 > > |> listm.map fun input, expected => join 00:02:45 verbose #3503 > > input 00:02:45 verbose #3504 > > |> fn 00:02:45 verbose #3505 > > |> resultm.get 00:02:45 verbose #3506 > > |> fun x => 00:02:45 verbose #3507 > > inl expected' = join expected 00:02:45 verbose #3508 > > try 00:02:45 verbose #3509 > > fun () => 00:02:45 verbose #3510 > > console.write_line "" 00:02:45 verbose #3511 > > trace Verbose 00:02:45 verbose #3512 > > fun () => $'$"testing._assert_fn"' 00:02:45 verbose #3513 > > fun () => { input } 00:02:45 verbose #3514 > > x 00:02:45 verbose #3515 > > |> _assert_eq' expected' 00:02:45 verbose #3516 > > true 00:02:45 verbose #3517 > > fun ex => 00:02:45 verbose #3518 > > trace Critical 00:02:45 verbose #3519 > > fun () => $'$"testing._assert_fn / error"' 00:02:45 verbose #3520 > > fun () => { ex expected } 00:02:45 verbose #3521 > > Some false 00:02:45 verbose #3522 > > |> optionm.value 00:02:45 verbose #3523 > > |> listm'.filter not 00:02:45 verbose #3524 > > |> function 00:02:45 verbose #3525 > > | [[]] => () 00:02:45 verbose #3526 > > | x => failwith $'$"{!x}"' 00:02:45 verbose #3527 > 00:02:44 debug #238 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/38bffb536ef81a037c7ac12d325611f0809cf5dc3b9de9c042b5d30bced06c03/main.spi 00:02:45 verbose #3528 > > 00:02:45 verbose #3529 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:45 verbose #3530 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:45 verbose #3531 > > │ ## fsharp │ 00:02:45 verbose #3532 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:45 verbose #3533 > > 00:02:45 verbose #3534 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:45 verbose #3535 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:45 verbose #3536 > > │ ### __assert_contains │ 00:02:45 verbose #3537 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:45 verbose #3538 > > 00:02:45 verbose #3539 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:45 verbose #3540 > > inl __assert_contains forall t. log (b : t) a = 00:02:45 verbose #3541 > > __expect 00:02:45 verbose #3542 > > fun a b => 00:02:45 verbose #3543 > > a 00:02:45 verbose #3544 > > |> $'List.ofSeq' 00:02:45 verbose #3545 > > |> fun x => x : listm'.list' t 00:02:45 verbose #3546 > > |> $'List.tryFind' ((=) b) 00:02:45 verbose #3547 > > |> optionm'.unbox 00:02:45 verbose #3548 > > |> fun (x : _ t) => x <> None 00:02:45 verbose #3549 > > log "assert_contains" b a 00:02:45 verbose #3550 > > inl _assert_contains b a = __assert_contains true b a 00:02:45 verbose #3551 > 00:02:45 debug #239 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc56497bb98fedc2ca14e27881c82ad8e84bcb960df89c52f7a3f2f509a373c2/main.spi 00:02:45 verbose #3552 > > 00:02:45 verbose #3553 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:45 verbose #3554 > > //// test 00:02:45 verbose #3555 > > 00:02:45 verbose #3556 > > "abcd" 00:02:45 verbose #3557 > > |> _assert_contains 'b' 00:02:45 verbose #3558 > 00:02:45 debug #240 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e55bf3578dffdd39f7c7b8990b0ff63ffabd527077c8becffb33b9f6012d9d77/main.spi 00:02:46 verbose #3559 > > 00:02:46 verbose #3560 > > ╭─[ 529.07ms - stdout ]────────────────────────────────────────────────────────╮ 00:02:46 verbose #3561 > > │ assert_contains / actual: "abcd" / expected: 'b' │ 00:02:46 verbose #3562 > > │ │ 00:02:46 verbose #3563 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:46 verbose #3564 > > 00:02:46 verbose #3565 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:46 verbose #3566 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:46 verbose #3567 > > │ ### _throws │ 00:02:46 verbose #3568 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:46 verbose #3569 > > 00:02:46 verbose #3570 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:46 verbose #3571 > > inl _throws (fn : () -> ()) : option exn = 00:02:46 verbose #3572 > > inl none = None : option exn 00:02:46 verbose #3573 > > inl some (s : exn) = Some s 00:02:46 verbose #3574 > > $'try !fn (); !none with ex -> ex |> !some ' 00:02:46 verbose #3575 > 00:02:45 debug #241 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/88ebd76b9479253fc7c2377c34a60bcc8991623680f360dcef18fc97d34ef719/main.spi 00:02:46 verbose #3576 > > 00:02:46 verbose #3577 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:46 verbose #3578 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:46 verbose #3579 > > │ ### print_and_return │ 00:02:46 verbose #3580 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:46 verbose #3581 > > 00:02:46 verbose #3582 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:46 verbose #3583 > > inl print_and_return x = 00:02:46 verbose #3584 > > $'printfn $"print_and_return / x: {!x}"' 00:02:46 verbose #3585 > > x 00:02:46 verbose #3586 > 00:02:45 debug #242 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9a63a960305e81ce0b131dbb842b3914805a5d5bcfd1d25fb0ccad6dcd0f5c5/main.spi 00:02:46 verbose #3587 > 00:00:19 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 15499 } 00:02:46 verbose #3588 > 00:00:19 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:47 verbose #3589 > 00:00:19 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.ipynb to html 00:02:47 verbose #3590 > 00:00:19 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:02:47 verbose #3591 > 00:00:19 verbose #7 ! validate(nb) 00:02:47 verbose #3592 > 00:00:20 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:02:47 verbose #3593 > 00:00:20 verbose #9 ! return _pygments_highlight( 00:02:47 verbose #3594 > 00:00:20 verbose #10 ! [NbConvertApp] Writing 308371 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.html 00:02:47 verbose #3595 > 00:00:20 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:02:47 verbose #3596 > 00:00:20 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:02:47 verbose #3597 > 00:00:20 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/testing.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:48 verbose #3598 > 00:00:20 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:02:48 verbose #3599 > 00:00:20 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:02:48 verbose #3600 > 00:00:20 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 16456 } 00:02:48 debug #3601 runtime.execute_with_options_async / { exit_code = 0; output_length = 19790 } 00:02:48 debug #6 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path testing.dib --retries 3 00:02:48 debug #3602 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path guid.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:02:48 verbose #3603 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "guid.dib", "--retries", "3"])) } 00:02:48 verbose #3604 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:02:49 verbose #3605 > > 00:02:49 verbose #3606 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:49 verbose #3607 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:49 verbose #3608 > > │ # guid │ 00:02:49 verbose #3609 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:51 verbose #3610 > > 00:02:51 verbose #3611 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:51 verbose #3612 > > //// test 00:02:51 verbose #3613 > > 00:02:51 verbose #3614 > > open testing 00:02:52 verbose #3615 > 00:02:51 debug #243 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:02:52 verbose #3616 > > 00:02:52 verbose #3617 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:52 verbose #3618 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:52 verbose #3619 > > │ ## guid │ 00:02:52 verbose #3620 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:52 verbose #3621 > > 00:02:52 verbose #3622 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:52 verbose #3623 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:52 verbose #3624 > > │ ### guid │ 00:02:52 verbose #3625 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:52 verbose #3626 > > 00:02:52 verbose #3627 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:52 verbose #3628 > > nominal guid_python = 00:02:52 verbose #3629 > > `( 00:02:52 verbose #3630 > > global "import uuid" 00:02:52 verbose #3631 > > $'' : $'uuid.UUID' 00:02:52 verbose #3632 > > ) 00:02:52 verbose #3633 > > type guid_switch = 00:02:52 verbose #3634 > > { 00:02:52 verbose #3635 > > Fsharp : $'System.Guid' 00:02:52 verbose #3636 > > Python : guid_python 00:02:52 verbose #3637 > > } 00:02:52 verbose #3638 > > nominal guid = $'backend_switch `(guid_switch)' 00:02:52 verbose #3639 > 00:02:52 debug #244 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/76f39c2d3bb155a3e49cc7814ea62906913b7ef6d73d63733323d3f176bbcd8e/main.spi 00:02:52 verbose #3640 > > 00:02:52 verbose #3641 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:52 verbose #3642 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:52 verbose #3643 > > │ ### new_guid │ 00:02:52 verbose #3644 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:52 verbose #3645 > > 00:02:52 verbose #3646 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:52 verbose #3647 > > inl new_guid (x : string) : guid = 00:02:52 verbose #3648 > > x |> convert 00:02:52 verbose #3649 > 00:02:52 debug #245 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/01d0cb264dec434da1d6d41bde7f4bfcbd45b373e83a133a6851f76e8489b81c/main.spi 00:02:52 verbose #3650 > > 00:02:52 verbose #3651 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:52 verbose #3652 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:52 verbose #3653 > > │ ### new_raw_guid │ 00:02:52 verbose #3654 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:52 verbose #3655 > > 00:02:52 verbose #3656 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:52 verbose #3657 > > inl new_raw_guid () : guid = 00:02:52 verbose #3658 > > backend_switch { 00:02:52 verbose #3659 > > Fsharp = fun () => $'System.Guid.NewGuid' () : guid 00:02:52 verbose #3660 > > Python = fun () => $'uuid.uuid4()' : guid 00:02:52 verbose #3661 > > } 00:02:52 verbose #3662 > 00:02:52 debug #246 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4581c26dc5a5bb3dffc1b00d3d164cbaa472cbdcaad2a170f0dc05fcb25973fa/main.spi 00:02:52 verbose #3663 > > 00:02:52 verbose #3664 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:02:52 verbose #3665 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:02:52 verbose #3666 > > │ ### hash_guid │ 00:02:52 verbose #3667 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:02:52 verbose #3668 > > 00:02:52 verbose #3669 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:52 verbose #3670 > > type hash_guid = guid 00:02:52 verbose #3671 > > 00:02:52 verbose #3672 > > let hash_guid (~hash : string) : hash_guid = 00:02:52 verbose #3673 > > run_target function 00:02:52 verbose #3674 > > | Rust (Contract) => fun () => null () 00:02:52 verbose #3675 > > | _ => fun () => 00:02:52 verbose #3676 > > inl hash = hash |> sm'.pad_left 32i32 '0' 00:02:52 verbose #3677 > > backend_switch { 00:02:52 verbose #3678 > > Fsharp = fun () => 00:02:52 verbose #3679 > > $'`hash_guid 00:02:52 verbose #3680 > > $"{!hash.[[0..7]]}-{!hash.[[8..11]]}-{!hash.[[12..15]]}-{!hash.[[16..19]]}-{!has 00:02:52 verbose #3681 > > h.[[20..31]]}"' : hash_guid 00:02:52 verbose #3682 > > Python = fun () => 00:02:52 verbose #3683 > > $'f"{!hash[[0:8]]}-{!hash[[8:12]]}-{!hash[[12:16]]}-{!hash[[16:20]]}-{!hash[[20: 00:02:52 verbose #3684 > > 32]]}"' : hash_guid 00:02:52 verbose #3685 > > } 00:02:52 verbose #3686 > 00:02:52 debug #247 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/14de12f0a51462c69996aa1670a6623acbb48dbc08c6e23caf4f26b57897ed42/main.spi 00:02:52 verbose #3687 > > 00:02:52 verbose #3688 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:02:52 verbose #3689 > > //// test 00:02:52 verbose #3690 > > ///! fsharp 00:02:52 verbose #3691 > > ///! cuda 00:02:52 verbose #3692 > > ///! rust 00:02:52 verbose #3693 > > ///! typescript 00:02:52 verbose #3694 > > ///! python 00:02:52 verbose #3695 > > 00:02:52 verbose #3696 > > "" 00:02:52 verbose #3697 > > |> hash_guid 00:02:52 verbose #3698 > > |> _assert_eq' (new_guid "00000000-0000-0000-0000-000000000000") 00:02:52 verbose #3699 > > 00:02:52 verbose #3700 > > "123456789012345678901234567890123" 00:02:52 verbose #3701 > > |> hash_guid 00:02:52 verbose #3702 > > |> _assert_eq' (new_guid "12345678-9012-3456-7890-123456789012") 00:02:53 verbose #3703 > 00:02:52 debug #248 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2a624d9e41158d1eaf1cae26c62273d35a36788b40f4a6aaa020223dfd3e93b6/main.spi 00:02:53 verbose #3704 > 00:02:52 debug #249 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/029223bcab6fd474a1c6ded9d32f89c5c5ccb7725726d0dd4eb4f806d1ed0361/main.spi 00:03:04 verbose #3705 > > 00:03:04 verbose #3706 > > ╭─[ 11.35s - return value ]────────────────────────────────────────────────────╮ 00:03:04 verbose #3707 > > │ │ 00:03:04 verbose #3708 > > │ .py output (Cuda): │ 00:03:04 verbose #3709 > > │ assert_eq' / actual: 00000000-0000-0000-0000-000000000000 / expected: │ 00:03:04 verbose #3710 > > │ 00000000-0000-0000-0000-000000000000 │ 00:03:04 verbose #3711 > > │ assert_eq' / actual: 12345678-9012-3456-7890-123456789012 / expected: │ 00:03:04 verbose #3712 > > │ 12345678-9012-3456-7890-123456789012 │ 00:03:04 verbose #3713 > > │ │ 00:03:04 verbose #3714 > > │ │ 00:03:04 verbose #3715 > > │ .rs output: │ 00:03:04 verbose #3716 > > │ assert_eq' / actual: Guid(00000000-0000-0000-0000-000000000000) / expected: │ 00:03:04 verbose #3717 > > │ Guid(00000000-0000-0000-0000-000000000000) │ 00:03:04 verbose #3718 > > │ assert_eq' / actual: Guid(12345678-9012-3456-7890-123456789012) / expected: │ 00:03:04 verbose #3719 > > │ Guid(12345678-9012-3456-7890-123456789012) │ 00:03:04 verbose #3720 > > │ │ 00:03:04 verbose #3721 > > │ │ 00:03:04 verbose #3722 > > │ .ts output: │ 00:03:04 verbose #3723 > > │ assert_eq' / actual: 00000000-0000-0000-0000-000000000000 / expected: │ 00:03:04 verbose #3724 > > │ 00000000-0000-0000-0000-000000000000 │ 00:03:04 verbose #3725 > > │ assert_eq' / actual: 12345678-9012-3456-7890-123456789012 / expected: │ 00:03:04 verbose #3726 > > │ 12345678-9012-3456-7890-123456789012 │ 00:03:04 verbose #3727 > > │ │ 00:03:04 verbose #3728 > > │ │ 00:03:04 verbose #3729 > > │ .py output: │ 00:03:04 verbose #3730 > > │ assert_eq' / actual: 00000000-0000-0000-0000-000000000000 / expected: │ 00:03:04 verbose #3731 > > │ 00000000-0000-0000-0000-000000000000 │ 00:03:04 verbose #3732 > > │ assert_eq' / actual: 12345678-9012-3456-7890-123456789012 / expected: │ 00:03:04 verbose #3733 > > │ 12345678-9012-3456-7890-123456789012 │ 00:03:04 verbose #3734 > > │ │ 00:03:04 verbose #3735 > > │ │ 00:03:04 verbose #3736 > > │ │ 00:03:04 verbose #3737 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:04 verbose #3738 > > 00:03:04 verbose #3739 > > ╭─[ 11.36s - stdout ]──────────────────────────────────────────────────────────╮ 00:03:04 verbose #3740 > > │ .fsx output: │ 00:03:04 verbose #3741 > > │ assert_eq' / actual: 00000000-0000-0000-0000-000000000000 / expected: │ 00:03:04 verbose #3742 > > │ 00000000-0000-0000-0000-000000000000 │ 00:03:04 verbose #3743 > > │ assert_eq' / actual: 12345678-9012-3456-7890-123456789012 / expected: │ 00:03:04 verbose #3744 > > │ 12345678-9012-3456-7890-123456789012 │ 00:03:04 verbose #3745 > > │ │ 00:03:04 verbose #3746 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:04 verbose #3747 > > 00:03:04 verbose #3748 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:04 verbose #3749 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:04 verbose #3750 > > │ ## main │ 00:03:04 verbose #3751 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:04 verbose #3752 > > 00:03:04 verbose #3753 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:04 verbose #3754 > > inl main () = 00:03:04 verbose #3755 > > $'let new_guid x = !new_guid x' : () 00:03:04 verbose #3756 > > $'let hash_guid x = !hash_guid x' : () 00:03:04 verbose #3757 > > $'let new_raw_guid x = !new_raw_guid x' : () 00:03:04 verbose #3758 > 00:03:03 debug #250 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/50e870ed3113fa38d48999c67f0885e6d6f6e39278589a7e78ac83294059b436/main.spi 00:03:04 verbose #3759 > 00:00:16 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 9171 } 00:03:04 verbose #3760 > 00:00:16 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:05 verbose #3761 > 00:00:17 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.ipynb to html 00:03:05 verbose #3762 > 00:00:17 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:03:05 verbose #3763 > 00:00:17 verbose #7 ! validate(nb) 00:03:05 verbose #3764 > 00:00:17 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:03:05 verbose #3765 > 00:00:17 verbose #9 ! return _pygments_highlight( 00:03:05 verbose #3766 > 00:00:17 verbose #10 ! [NbConvertApp] Writing 284755 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.html 00:03:05 verbose #3767 > 00:00:17 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:03:05 verbose #3768 > 00:00:17 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:03:05 verbose #3769 > 00:00:17 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/guid.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:06 verbose #3770 > 00:00:18 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:03:06 verbose #3771 > 00:00:18 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:03:06 verbose #3772 > 00:00:18 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 10122 } 00:03:06 debug #3773 runtime.execute_with_options_async / { exit_code = 0; output_length = 13178 } 00:03:06 debug #7 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path guid.dib --retries 3 00:03:06 debug #3774 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path async.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:06 verbose #3775 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "async.dib", "--retries", "3"])) } 00:03:06 verbose #3776 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:03:07 verbose #3777 > > 00:03:07 verbose #3778 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:07 verbose #3779 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:07 verbose #3780 > > │ # async │ 00:03:07 verbose #3781 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:10 verbose #3782 > > 00:03:10 verbose #3783 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:10 verbose #3784 > > //// test 00:03:10 verbose #3785 > > 00:03:10 verbose #3786 > > open testing 00:03:10 verbose #3787 > 00:03:09 debug #251 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:03:10 verbose #3788 > > 00:03:10 verbose #3789 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:10 verbose #3790 > > open rust 00:03:10 verbose #3791 > > open rust_operators 00:03:10 verbose #3792 > 00:03:10 debug #252 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/99d3bf64d597281af4b0797a894e23c32802a4d97ba91164826ac21a270d370b/main.spi 00:03:10 verbose #3793 > > 00:03:10 verbose #3794 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:10 verbose #3795 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:10 verbose #3796 > > │ ## rust │ 00:03:10 verbose #3797 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:10 verbose #3798 > > 00:03:10 verbose #3799 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:10 verbose #3800 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:10 verbose #3801 > > │ ### future │ 00:03:10 verbose #3802 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:10 verbose #3803 > > 00:03:10 verbose #3804 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:10 verbose #3805 > > nominal future t = 00:03:10 verbose #3806 > > `( 00:03:10 verbose #3807 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:10 verbose #3808 > > Fable.Core.Emit(\"std::future::Future<Output = $0>\")>]]\n#endif\ntype 00:03:10 verbose #3809 > > std_future_Future<'T> = class end" 00:03:10 verbose #3810 > > $'' : $'std_future_Future<`t>' 00:03:10 verbose #3811 > > ) 00:03:10 verbose #3812 > 00:03:10 debug #253 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7f5e8afc44eacb2c784de51e56574af62ce18271eae341164d4a53c7ea6e5ede/main.spi 00:03:10 verbose #3813 > > 00:03:10 verbose #3814 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:10 verbose #3815 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:10 verbose #3816 > > │ ### future_pin │ 00:03:10 verbose #3817 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:10 verbose #3818 > > 00:03:10 verbose #3819 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:10 verbose #3820 > > type future_pin t = rust.pin (rust.box (rust.dyn' (future t))) 00:03:10 verbose #3821 > 00:03:10 debug #254 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/abbdb87c07dba5bf75a7b3938b3b0c68e0f916b188f7a8dfaabfa40757a93d79/main.spi 00:03:10 verbose #3822 > > 00:03:10 verbose #3823 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:10 verbose #3824 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:10 verbose #3825 > > │ ### future_pin_send │ 00:03:10 verbose #3826 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:10 verbose #3827 > > 00:03:10 verbose #3828 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:10 verbose #3829 > > type future_pin_send t = rust.pin (rust.box (rust.send (rust.dyn' (future t)))) 00:03:11 verbose #3830 > 00:03:10 debug #255 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e581cea090484d20882cb9ce6ab3c42c975b42f3e6612c3f1951bb4a45cb4e9f/main.spi 00:03:11 verbose #3831 > > 00:03:11 verbose #3832 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3833 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3834 > > │ ### block_on │ 00:03:11 verbose #3835 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3836 > > 00:03:11 verbose #3837 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3838 > > inl block_on forall t. (fn : future_pin t) : t = 00:03:11 verbose #3839 > > inl runtime : infer = 00:03:11 verbose #3840 > > 00:03:11 verbose #3841 > > !\($'$"tokio::runtime::Builder::new_multi_thread().enable_all().build().unwrap() 00:03:11 verbose #3842 > > "') 00:03:11 verbose #3843 > > !\\(fn, $'"!runtime.handle().block_on($0)"') 00:03:11 verbose #3844 > 00:03:10 debug #256 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/da58e3341ba27cbc7ad6108bbfa5dae4fed5f675fbc8d63feba2f38ba7e9c6f6/main.spi 00:03:11 verbose #3845 > > 00:03:11 verbose #3846 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3847 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3848 > > │ ### block_on' │ 00:03:11 verbose #3849 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3850 > > 00:03:11 verbose #3851 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3852 > > inl block_on' forall t. (fn : future_pin t) : t = 00:03:11 verbose #3853 > > !\\(fn, $'"futures_lite::future::block_on($0)"') 00:03:11 verbose #3854 > 00:03:10 debug #257 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86eb8edffccdac446111c637f8f03af56e4d12c74e9b66aa99dac6cd280d7661/main.spi 00:03:11 verbose #3855 > > 00:03:11 verbose #3856 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3857 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3858 > > │ ### block_on'' │ 00:03:11 verbose #3859 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3860 > > 00:03:11 verbose #3861 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3862 > > inl block_on'' forall t. (fn : future_pin t) : t = 00:03:11 verbose #3863 > > !\\(fn, $'"futures::executor::block_on($0)"') 00:03:11 verbose #3864 > 00:03:10 debug #258 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eb9acac4f686c57cd4d45a837283470ec265f6fa791756e43a22a69d20684eb3/main.spi 00:03:11 verbose #3865 > > 00:03:11 verbose #3866 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3867 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3868 > > │ ### block_on''' │ 00:03:11 verbose #3869 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3870 > > 00:03:11 verbose #3871 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3872 > > inl block_on''' forall t. (fn : future_pin t) : t = 00:03:11 verbose #3873 > > !\\(fn, $'"async_std::task::block_on($0)"') 00:03:11 verbose #3874 > 00:03:10 debug #259 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b703ae0a2b2cda0dfe884740816a06cdf410fa146ea8785ababa3e14003b32eb/main.spi 00:03:11 verbose #3875 > > 00:03:11 verbose #3876 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3877 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3878 > > │ ### block_on_send │ 00:03:11 verbose #3879 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3880 > > 00:03:11 verbose #3881 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3882 > > inl block_on_send forall t. (fn : future_pin_send t) : t = 00:03:11 verbose #3883 > > !\($'"tokio::runtime::block_on(!fn)"') 00:03:11 verbose #3884 > 00:03:10 debug #260 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c2c8c8b58bb9cc2ad537b053e3caf2e7be0f7a0d459dfaa0bc72bc7b35a442a/main.spi 00:03:11 verbose #3885 > > 00:03:11 verbose #3886 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3887 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3888 > > │ ### stream_ext │ 00:03:11 verbose #3889 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3890 > > 00:03:11 verbose #3891 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3892 > > nominal stream_ext = 00:03:11 verbose #3893 > > `( 00:03:11 verbose #3894 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:11 verbose #3895 > > Fable.Core.Emit(\"tokio_stream::StreamExt\")>]]\n#endif\ntype 00:03:11 verbose #3896 > > tokio_stream_StreamExt = class end" 00:03:11 verbose #3897 > > $'' : $'tokio_stream_StreamExt' 00:03:11 verbose #3898 > > ) 00:03:11 verbose #3899 > 00:03:11 debug #261 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4653803c6eba3a2dadd6ffc359ada21fe5fedc63fa1729f549083d5441b36adc/main.spi 00:03:11 verbose #3900 > > 00:03:11 verbose #3901 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3902 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3903 > > │ ### join_handle │ 00:03:11 verbose #3904 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3905 > > 00:03:11 verbose #3906 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3907 > > nominal join_handle t = 00:03:11 verbose #3908 > > `( 00:03:11 verbose #3909 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:11 verbose #3910 > > Fable.Core.Emit(\"tokio::task::JoinHandle<$0>\")>]]\n#endif\ntype 00:03:11 verbose #3911 > > tokio_task_JoinHandle<'T> = class end" 00:03:11 verbose #3912 > > $'' : $'tokio_task_JoinHandle<`t>' 00:03:11 verbose #3913 > > ) 00:03:11 verbose #3914 > 00:03:11 debug #262 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aed02bb6b7f134ca88cf87afe72778e764a620b576bd45755f7697401712996a/main.spi 00:03:11 verbose #3915 > > 00:03:11 verbose #3916 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3917 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3918 > > │ ### spawn │ 00:03:11 verbose #3919 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3920 > > 00:03:11 verbose #3921 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3922 > > inl spawn forall t. (fn : future_pin_send t) : join_handle t = 00:03:11 verbose #3923 > > !\($'"tokio::runtime::spawn(!fn)"') 00:03:11 verbose #3924 > 00:03:11 debug #263 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f58a760b3afeb1aca0a90787e2c3c8d2a936a063be9a7a9f1e0acce99448e9e9/main.spi 00:03:11 verbose #3925 > > 00:03:11 verbose #3926 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3927 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3928 > > │ ### try_join_all │ 00:03:11 verbose #3929 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3930 > > 00:03:11 verbose #3931 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3932 > > nominal try_join_all t = 00:03:11 verbose #3933 > > `( 00:03:11 verbose #3934 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:11 verbose #3935 > > Fable.Core.Emit(\"futures::future::TryJoinAll<$0>\")>]]\n#endif\ntype 00:03:11 verbose #3936 > > futures_future_TryJoinAll<'T> = class end" 00:03:11 verbose #3937 > > $'' : $'futures_future_TryJoinAll<`t>' 00:03:11 verbose #3938 > > ) 00:03:11 verbose #3939 > > 00:03:11 verbose #3940 > > inl try_join_all forall t. (x : am'.vec (future_pin (resultm.result' t 00:03:11 verbose #3941 > > sm'.std_string))) : try_join_all (future_pin (resultm.result' t sm'.std_string)) 00:03:11 verbose #3942 > > = 00:03:11 verbose #3943 > > inl x = join x 00:03:11 verbose #3944 > > !\($'"futures::future::try_join_all(!x)"') 00:03:11 verbose #3945 > 00:03:11 debug #264 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a40cdecbf18a5d517a5d105beb12c7505bb6724b3f60dd1f5393283df88f04a2/main.spi 00:03:11 verbose #3946 > > 00:03:11 verbose #3947 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3948 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3949 > > │ ### fuse │ 00:03:11 verbose #3950 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3951 > > 00:03:11 verbose #3952 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3953 > > nominal fuse t = 00:03:11 verbose #3954 > > `( 00:03:11 verbose #3955 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:11 verbose #3956 > > Fable.Core.Emit(\"tokio::prelude::stream::Fuse<$0>\")>]]\n#endif\ntype 00:03:11 verbose #3957 > > tokio_prelude_stream_Fuse<'T> = class end" 00:03:11 verbose #3958 > > $'' : $'tokio_prelude_stream_Fuse<`t>' 00:03:11 verbose #3959 > > ) 00:03:11 verbose #3960 > 00:03:11 debug #265 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/29d5d45f9898ad5c5e7d0c643c58f93f27296d6d33d2fe384efc3d63a9b869ee/main.spi 00:03:11 verbose #3961 > > 00:03:11 verbose #3962 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:11 verbose #3963 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:11 verbose #3964 > > │ ### future_fuse │ 00:03:11 verbose #3965 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:11 verbose #3966 > > 00:03:11 verbose #3967 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:11 verbose #3968 > > inl future_fuse forall t. (x : future_pin t) : fuse (future_pin t) = 00:03:11 verbose #3969 > > !\($'"futures::future::FutureExt::fuse(!x)"') 00:03:12 verbose #3970 > 00:03:11 debug #266 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74c6bf46054b4d3386e307e404315150b5ab2f3cad564bdc7522f94b8fbdf312/main.spi 00:03:12 verbose #3971 > > 00:03:12 verbose #3972 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #3973 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #3974 > > │ ### join_all │ 00:03:12 verbose #3975 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #3976 > > 00:03:12 verbose #3977 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #3978 > > nominal join_all t = 00:03:12 verbose #3979 > > `( 00:03:12 verbose #3980 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:12 verbose #3981 > > Fable.Core.Emit(\"futures::future::JoinAll<$0>\")>]]\n#endif\ntype 00:03:12 verbose #3982 > > futures_future_JoinAll<'T> = class end" 00:03:12 verbose #3983 > > $'' : $'futures_future_JoinAll<`t>' 00:03:12 verbose #3984 > > ) 00:03:12 verbose #3985 > > 00:03:12 verbose #3986 > > inl join_all forall t. (x : am'.vec (future_pin t)) : join_all (future_pin t) = 00:03:12 verbose #3987 > > inl x = join x 00:03:12 verbose #3988 > > !\($'"futures::future::join_all(!x)"') 00:03:12 verbose #3989 > 00:03:11 debug #267 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/383ae4f2c191547b2a679204e508decf0ce989ef267b8181ccce22f37071f248/main.spi 00:03:12 verbose #3990 > > 00:03:12 verbose #3991 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #3992 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #3993 > > │ ### join_all_send │ 00:03:12 verbose #3994 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #3995 > > 00:03:12 verbose #3996 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #3997 > > inl join_all_send forall t. (x : am'.vec (future_pin_send t)) : join_all 00:03:12 verbose #3998 > > (future_pin_send t) = 00:03:12 verbose #3999 > > inl x = join x 00:03:12 verbose #4000 > > !\($'"futures::future::join_all(!x)"') 00:03:12 verbose #4001 > 00:03:11 debug #268 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2fe534c6edd9b4bdba22b184ccc577fa88cc647943955c4f40969850a410fc74/main.spi 00:03:12 verbose #4002 > > 00:03:12 verbose #4003 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4004 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4005 > > │ ### await_handle │ 00:03:12 verbose #4006 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4007 > > 00:03:12 verbose #4008 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4009 > > inl await_handle forall t. (x : join_handle t) : t = 00:03:12 verbose #4010 > > !\($'"!x.await"') 00:03:12 verbose #4011 > 00:03:11 debug #269 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2ce4c4bc810d01d13d8b02e9ef86c8cb1f4c5579c935a89094c1dd34b5b33ec9/main.spi 00:03:12 verbose #4012 > > 00:03:12 verbose #4013 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4014 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4015 > > │ ### await_all │ 00:03:12 verbose #4016 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4017 > > 00:03:12 verbose #4018 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4019 > > inl await_all forall t. (x : join_all (future_pin t)) : am'.vec t = 00:03:12 verbose #4020 > > !\($'"!x.await"') 00:03:12 verbose #4021 > 00:03:11 debug #270 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8d0b6c72ad9eb9e00aba04ea3c4d6de3529102cd36e2c0ea2ba770eb13e51b4f/main.spi 00:03:12 verbose #4022 > > 00:03:12 verbose #4023 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4024 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4025 > > │ ### await_all_send │ 00:03:12 verbose #4026 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4027 > > 00:03:12 verbose #4028 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4029 > > inl await_all_send forall t. (x : join_all (future_pin_send t)) : am'.vec t = 00:03:12 verbose #4030 > > !\($'"!x.await"') 00:03:12 verbose #4031 > 00:03:11 debug #271 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2b92a316e657403544d315f1926f7a42d3a44e3dbc598e8c053cd42bfeaa5020/main.spi 00:03:12 verbose #4032 > > 00:03:12 verbose #4033 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4034 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4035 > > │ ### try_await_all │ 00:03:12 verbose #4036 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4037 > > 00:03:12 verbose #4038 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4039 > > inl try_await_all forall t. (x : try_join_all (future_pin (resultm.result' t 00:03:12 verbose #4040 > > sm'.std_string))) : resultm.result' (am'.vec t) sm'.std_string = 00:03:12 verbose #4041 > > !\($'"!x.await"') 00:03:12 verbose #4042 > 00:03:12 debug #272 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c927e3ab0d1287308d18c1dc90b521ff8a51037e3ece46a71d90dc5c2f695918/main.spi 00:03:12 verbose #4043 > > 00:03:12 verbose #4044 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4045 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4046 > > │ ### try_await_all_send │ 00:03:12 verbose #4047 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4048 > > 00:03:12 verbose #4049 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4050 > > inl try_await_all_send forall t. (x : try_join_all (future_pin_send 00:03:12 verbose #4051 > > (resultm.result' t sm'.std_string))) : resultm.result' (am'.vec t) 00:03:12 verbose #4052 > > sm'.std_string = 00:03:12 verbose #4053 > > !\($'"!x.await"') 00:03:12 verbose #4054 > 00:03:12 debug #273 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b32897a17fee47478f8185825b803caf7975365936efad747a605538f32d1fa4/main.spi 00:03:12 verbose #4055 > > 00:03:12 verbose #4056 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4057 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4058 > > │ ### await │ 00:03:12 verbose #4059 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4060 > > 00:03:12 verbose #4061 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4062 > > inl await forall t. (x : future_pin t) : t = 00:03:12 verbose #4063 > > !\($'"!x.await"') 00:03:12 verbose #4064 > 00:03:12 debug #274 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/185bbc42020c6881fd4f1e8655a28feafbb1401acf5e9890522b7dac492d61d6/main.spi 00:03:12 verbose #4065 > > 00:03:12 verbose #4066 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4067 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4068 > > │ ### await │ 00:03:12 verbose #4069 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4070 > > 00:03:12 verbose #4071 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4072 > > inl await_send forall t. (x : future_pin_send t) : t = 00:03:12 verbose #4073 > > !\($'"!x.await"') 00:03:12 verbose #4074 > 00:03:12 debug #275 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eb41c0125250954903a59e0329659f974775c5a04e790c831e43f08a214d2ffd/main.spi 00:03:12 verbose #4075 > > 00:03:12 verbose #4076 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4077 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4078 > > │ ### into_iter │ 00:03:12 verbose #4079 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4080 > > 00:03:12 verbose #4081 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4082 > > nominal into_iter t = 00:03:12 verbose #4083 > > `( 00:03:12 verbose #4084 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:12 verbose #4085 > > Fable.Core.Emit(\"rayon::vec::IntoIter<$0>\")>]]\n#endif\ntype 00:03:12 verbose #4086 > > rayon_vec_IntoIter<'T> = class end" 00:03:12 verbose #4087 > > $'' : $'rayon_vec_IntoIter<`t>' 00:03:12 verbose #4088 > > ) 00:03:12 verbose #4089 > 00:03:12 debug #276 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/98be383c1499790694c239a8a2e6eb3696ea274c5dc0e154351eeb6d317ef5e3/main.spi 00:03:12 verbose #4090 > > 00:03:12 verbose #4091 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:12 verbose #4092 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:12 verbose #4093 > > │ ### into_par_iter │ 00:03:12 verbose #4094 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:12 verbose #4095 > > 00:03:12 verbose #4096 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:12 verbose #4097 > > inl into_par_iter forall t. (x : am'.vec t) : into_iter t = 00:03:12 verbose #4098 > > !\($'"rayon::iter::IntoParallelIterator::into_par_iter(!x)"') 00:03:12 verbose #4099 > 00:03:12 debug #277 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cdf04e2912f16130449b5841efbc683c621272d567afc132176ee6b0379d1d8f/main.spi 00:03:13 verbose #4100 > > 00:03:13 verbose #4101 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4102 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4103 > > │ ### par_iter │ 00:03:13 verbose #4104 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4105 > > 00:03:13 verbose #4106 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4107 > > inl par_iter forall t. (x : am'.vec t) : into_iter t = 00:03:13 verbose #4108 > > !\($'"rayon::iter::IntoParallelIterator::par_iter(!x)"') 00:03:13 verbose #4109 > 00:03:12 debug #278 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0edf104f84fe275bff3ffa23dfd17787a91e917cc578659d4fb083fdc11db551/main.spi 00:03:13 verbose #4110 > > 00:03:13 verbose #4111 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4112 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4113 > > │ ### iter_map │ 00:03:13 verbose #4114 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4115 > > 00:03:13 verbose #4116 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4117 > > nominal iter_map t u = 00:03:13 verbose #4118 > > `( 00:03:13 verbose #4119 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:13 verbose #4120 > > Fable.Core.Emit(\"rayon::iter::Map<$0, _>\")>]]\n#endif\ntype rayon_iter_Map<'T> 00:03:13 verbose #4121 > > = class end" 00:03:13 verbose #4122 > > $'' : $'rayon_iter_Map<`t>' 00:03:13 verbose #4123 > > ) 00:03:13 verbose #4124 > 00:03:12 debug #279 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/224f0d9b729594d8b2a04326542eff7e398009a9d2e5ad47e51a658558172a82/main.spi 00:03:13 verbose #4125 > > 00:03:13 verbose #4126 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4127 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4128 > > │ ### par_map │ 00:03:13 verbose #4129 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4130 > > 00:03:13 verbose #4131 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4132 > > inl par_map forall t u. (fn : t -> u) (ar : into_iter t) : iter_map (into_iter 00:03:13 verbose #4133 > > t) u = 00:03:13 verbose #4134 > > !\\((ar, fn), $'"rayon::iter::ParallelIterator::map($0, |x| $1(x))"') 00:03:13 verbose #4135 > 00:03:12 debug #280 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4099ff023666b8391319a21e60676294f0db19ba465bef7c6c2842e94ff85deb/main.spi 00:03:13 verbose #4136 > > 00:03:13 verbose #4137 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4138 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4139 > > │ ### par_collect │ 00:03:13 verbose #4140 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4141 > > 00:03:13 verbose #4142 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4143 > > inl par_collect forall t u. (iter : iter_map (into_iter t) u) : am'.vec u = 00:03:13 verbose #4144 > > !\\(iter, $'"rayon::iter::ParallelIterator::collect($0)"') 00:03:13 verbose #4145 > 00:03:12 debug #281 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f7f1816d26cb4b3b230e08535ad18d23b52169188904cecee90928696829fa1f/main.spi 00:03:13 verbose #4146 > > 00:03:13 verbose #4147 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4148 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4149 > > │ ### try_join_all_iter │ 00:03:13 verbose #4150 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4151 > > 00:03:13 verbose #4152 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4153 > > inl try_join_all_iter forall t. (x : am'.vec (future_pin_send (resultm.result' t 00:03:13 verbose #4154 > > sm'.std_string))) : try_join_all (future_pin_send (resultm.result' t 00:03:13 verbose #4155 > > sm'.std_string)) = 00:03:13 verbose #4156 > > inl x = join x 00:03:13 verbose #4157 > > !\($'"futures::future::try_join_all(!x)"') 00:03:13 verbose #4158 > 00:03:12 debug #282 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cfc1bb4b514decb036a74d1d32477af173f31102ec859db4913f6663c4ce8fc9/main.spi 00:03:13 verbose #4159 > > 00:03:13 verbose #4160 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4161 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4162 > > │ ### new_future │ 00:03:13 verbose #4163 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4164 > > 00:03:13 verbose #4165 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4166 > > inl new_future forall t. (x : () -> t) : future_pin t = 00:03:13 verbose #4167 > > join 00:03:13 verbose #4168 > > !\($'"{Box::pin(async { //"') 00:03:13 verbose #4169 > > x () |> fun x => join $'!x ' 00:03:13 verbose #4170 > > !\($'"}}) //"') 00:03:13 verbose #4171 > 00:03:13 debug #283 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4f39d69b4f4310fa6daf81e5e8547b6217d1510f296ac5071bfdd7c319b54d1a/main.spi 00:03:13 verbose #4172 > > 00:03:13 verbose #4173 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4174 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4175 > > │ ### new_future_move │ 00:03:13 verbose #4176 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4177 > > 00:03:13 verbose #4178 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4179 > > inl new_future_move forall t. (x : () -> t) : future_pin t = 00:03:13 verbose #4180 > > join 00:03:13 verbose #4181 > > !\($'"{Box::pin(async move { //"') 00:03:13 verbose #4182 > > x () |> fun x => join $'!x ' 00:03:13 verbose #4183 > > !\($'"}}) //"') 00:03:13 verbose #4184 > 00:03:13 debug #284 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6a5ec4a45f2415203ba536f6a719cf65585735e48e8394032a9b8c6c5eee03da/main.spi 00:03:13 verbose #4185 > > 00:03:13 verbose #4186 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4187 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4188 > > │ ### future_init │ 00:03:13 verbose #4189 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4190 > > 00:03:13 verbose #4191 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4192 > > inl future_init forall t. (depth : (u8 * u8)) (flag : u8) (x : () -> t) : 00:03:13 verbose #4193 > > future_pin t = 00:03:13 verbose #4194 > > // join 00:03:13 verbose #4195 > > // if flag = 1 00:03:13 verbose #4196 > > // then new_future_move x 00:03:13 verbose #4197 > > // else new_future x 00:03:13 verbose #4198 > > if flag = 1 00:03:13 verbose #4199 > > then !\($'"let __result = Box::pin(async move { //"') 00:03:13 verbose #4200 > > else !\($'"let __result = Box::pin(async { //"') 00:03:13 verbose #4201 > > 00:03:13 verbose #4202 > > let x' = x () 00:03:13 verbose #4203 > > inl x' = join x' 00:03:13 verbose #4204 > > 00:03:13 verbose #4205 > > x' |> rust.fix_closure depth 00:03:13 verbose #4206 > > 00:03:13 verbose #4207 > > !\($'"__result"') 00:03:13 verbose #4208 > 00:03:13 debug #285 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/091b107e17c5200ba86aa8b20c746ff2595b5ca7e547ab644f11ce09278a645a/main.spi 00:03:13 verbose #4209 > > 00:03:13 verbose #4210 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4211 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4212 > > │ ### future_init_send │ 00:03:13 verbose #4213 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4214 > > 00:03:13 verbose #4215 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4216 > > inl future_init_send forall t. (depth : (u8 * u8)) (flag : u8) (x : () -> t) : 00:03:13 verbose #4217 > > future_pin_send t = 00:03:13 verbose #4218 > > // join 00:03:13 verbose #4219 > > // if flag = 1 00:03:13 verbose #4220 > > // then new_future_move x 00:03:13 verbose #4221 > > // else new_future x 00:03:13 verbose #4222 > > join 00:03:13 verbose #4223 > > if flag = 1 00:03:13 verbose #4224 > > then !\($'"let __result = Box::pin(async move { //"') 00:03:13 verbose #4225 > > else !\($'"let __result = Box::pin(async { //"') 00:03:13 verbose #4226 > > 00:03:13 verbose #4227 > > let x' = x () 00:03:13 verbose #4228 > > inl x' = join x' 00:03:13 verbose #4229 > > 00:03:13 verbose #4230 > > x' |> rust.fix_closure depth 00:03:13 verbose #4231 > > 00:03:13 verbose #4232 > > !\($'"__result"') 00:03:13 verbose #4233 > 00:03:13 debug #286 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/57e4f8bff64924351fa07b4750a78c15a81b463e8e29749a08a9d7ccb08ebdf4/main.spi 00:03:13 verbose #4234 > > 00:03:13 verbose #4235 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4236 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4237 > > │ ### new_future_move_init │ 00:03:13 verbose #4238 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4239 > > 00:03:13 verbose #4240 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4241 > > inl new_future_move_init forall t. (depth : (u8 * u8)) (flag : u8) (x : () -> t) 00:03:13 verbose #4242 > > : future_pin t = 00:03:13 verbose #4243 > > future_init depth flag x 00:03:13 verbose #4244 > > // join 00:03:13 verbose #4245 > > // !\($'"{Box::pin(async move { //"') 00:03:13 verbose #4246 > > // inl x' = x () |> fun x => join $'!x ' 00:03:13 verbose #4247 > > // inl depth = depth |> fst 00:03:13 verbose #4248 > > // if depth = 1 00:03:13 verbose #4249 > > // then !\($'"!x' })"') 00:03:13 verbose #4250 > > // elif depth = 2 00:03:13 verbose #4251 > > // then !\($'"!x' }})"') 00:03:13 verbose #4252 > > // elif depth = 3 00:03:13 verbose #4253 > > // then !\($'"!x' }}})"') 00:03:13 verbose #4254 > > // elif depth = 4 00:03:13 verbose #4255 > > // then !\($'"!x' }}}})"') 00:03:13 verbose #4256 > > 00:03:13 verbose #4257 > > // !\($'"// 1"') 00:03:13 verbose #4258 > 00:03:13 debug #287 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5574db3273cb6ca4f036111e4272966eb8867360f7247df882979af830f2bee8/main.spi 00:03:13 verbose #4259 > > 00:03:13 verbose #4260 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4261 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4262 > > │ ## fsharp │ 00:03:13 verbose #4263 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4264 > > 00:03:13 verbose #4265 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:13 verbose #4266 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:13 verbose #4267 > > │ ### async │ 00:03:13 verbose #4268 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:13 verbose #4269 > > 00:03:13 verbose #4270 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:13 verbose #4271 > > nominal async t = $'Async<`t>' 00:03:13 verbose #4272 > 00:03:13 debug #288 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/30cb3ea11e8f4d523746dbab9810c9f273a8207ee04a215df1a7320e871a45a8/main.spi 00:03:14 verbose #4273 > > 00:03:14 verbose #4274 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4275 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4276 > > │ ### task │ 00:03:14 verbose #4277 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4278 > > 00:03:14 verbose #4279 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4280 > > nominal task t = 00:03:14 verbose #4281 > > `( 00:03:14 verbose #4282 > > typecase t with 00:03:14 verbose #4283 > > | () => $'' : $'System.Threading.Tasks.Task' 00:03:14 verbose #4284 > > | _ => $'' : $'System.Threading.Tasks.Task<`t>' 00:03:14 verbose #4285 > > ) 00:03:14 verbose #4286 > 00:03:13 debug #289 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7bbe8cba801b3b1770453b2501859e8cae699a8dab38b60aae6927a1f851a2c6/main.spi 00:03:14 verbose #4287 > > 00:03:14 verbose #4288 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4289 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4290 > > │ ### new_async_unit │ 00:03:14 verbose #4291 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4292 > > 00:03:14 verbose #4293 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4294 > > inl new_async_unit forall t. (fn : () -> ()) : async t = 00:03:14 verbose #4295 > > run_target function 00:03:14 verbose #4296 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4297 > > inl result : optionm'.option' (async t) = optionm'.none' () 00:03:14 verbose #4298 > > $'let mutable _!result = !result ' 00:03:14 verbose #4299 > > $'async {' 00:03:14 verbose #4300 > > fn () 00:03:14 verbose #4301 > > $'}' 00:03:14 verbose #4302 > > $'|> fun x -> _!result <- Some x' 00:03:14 verbose #4303 > > $'match _!result with Some x -> x | None -> failwith 00:03:14 verbose #4304 > > "async.new_async_unit / _!result=None"' 00:03:14 verbose #4305 > > | _ => fun () => null () 00:03:14 verbose #4306 > 00:03:13 debug #290 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bf224819706fbfb66eff4098a5b9b167d6f82ba993db54f43d20f14ca460cf66/main.spi 00:03:14 verbose #4307 > > 00:03:14 verbose #4308 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4309 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4310 > > │ ### new_async │ 00:03:14 verbose #4311 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4312 > > 00:03:14 verbose #4313 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4314 > > inl new_async forall t. (fn : () -> t) : async t = 00:03:14 verbose #4315 > > new_async_unit (fn >> ignore) 00:03:14 verbose #4316 > 00:03:13 debug #291 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c50c30d97e230529b34704f6592fffd861f7074120495b95d1898e17691ccf62/main.spi 00:03:14 verbose #4317 > > 00:03:14 verbose #4318 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4319 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4320 > > │ ### new_task │ 00:03:14 verbose #4321 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4322 > > 00:03:14 verbose #4323 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4324 > > inl new_task forall t. (fn : () -> t) : task t = 00:03:14 verbose #4325 > > run_target function 00:03:14 verbose #4326 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4327 > > inl result : optionm'.option' (task t) = optionm'.none' () 00:03:14 verbose #4328 > > $'let mutable _!result = !result ' 00:03:14 verbose #4329 > > $'task {' 00:03:14 verbose #4330 > > fn () |> ignore 00:03:14 verbose #4331 > > $'}' 00:03:14 verbose #4332 > > $'|> fun x -> _!result <- Some x' 00:03:14 verbose #4333 > > $'match _!result with Some x -> x | None -> failwith "async.new_task 00:03:14 verbose #4334 > > / _!result=None"' 00:03:14 verbose #4335 > > | _ => fun () => null () 00:03:14 verbose #4336 > 00:03:13 debug #292 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0e3f6c44a6d4a0f7092f3283a77b5d7fbfacc743b674ec81583a1b17b094b0fb/main.spi 00:03:14 verbose #4337 > > 00:03:14 verbose #4338 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4339 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4340 > > │ ### await_task │ 00:03:14 verbose #4341 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4342 > > 00:03:14 verbose #4343 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4344 > > inl await_task forall t. (a : task t) : async t = 00:03:14 verbose #4345 > > run_target function 00:03:14 verbose #4346 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4347 > > a |> $'Async.AwaitTask' 00:03:14 verbose #4348 > > | _ => fun () => null () 00:03:14 verbose #4349 > 00:03:13 debug #293 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/37925d480fc5e821b4ecfb19660ded979e0c927674650c71d76c71d4e9842c30/main.spi 00:03:14 verbose #4350 > > 00:03:14 verbose #4351 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4352 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4353 > > │ ### ignore │ 00:03:14 verbose #4354 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4355 > > 00:03:14 verbose #4356 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4357 > > inl ignore forall t. (a : async t) : async () = 00:03:14 verbose #4358 > > run_target function 00:03:14 verbose #4359 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4360 > > a |> $'Async.Ignore' 00:03:14 verbose #4361 > > | _ => fun () => null () 00:03:14 verbose #4362 > 00:03:14 debug #294 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/017a3e3e3b96ad262544f05d3e636b662818f033ad1e3bb84ec7ccee6cb461d4/main.spi 00:03:14 verbose #4363 > > 00:03:14 verbose #4364 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4365 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4366 > > │ ### run_synchronously │ 00:03:14 verbose #4367 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4368 > > 00:03:14 verbose #4369 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4370 > > inl run_synchronously forall t. (a : async t) : t = 00:03:14 verbose #4371 > > run_target function 00:03:14 verbose #4372 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4373 > > a |> $'Async.RunSynchronously' 00:03:14 verbose #4374 > > | _ => fun () => null () 00:03:14 verbose #4375 > 00:03:14 debug #295 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1f9470f8def3dd868eeabe73555d2f7ce82931fd8ddbe6a0776c9e11eec05986/main.spi 00:03:14 verbose #4376 > > 00:03:14 verbose #4377 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4378 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4379 > > │ ### start │ 00:03:14 verbose #4380 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4381 > > 00:03:14 verbose #4382 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4383 > > inl start (a : async ()) : () = 00:03:14 verbose #4384 > > run_target function 00:03:14 verbose #4385 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4386 > > a |> $'Async.Start' 00:03:14 verbose #4387 > > | _ => fun () => null () 00:03:14 verbose #4388 > 00:03:14 debug #296 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/500f53cb2781fb7366c4d48c881a7e34fc4430f0416d6288d8645559359f00e8/main.spi 00:03:14 verbose #4389 > > 00:03:14 verbose #4390 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4391 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4392 > > │ ### start_child │ 00:03:14 verbose #4393 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4394 > > 00:03:14 verbose #4395 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4396 > > inl start_child forall t. (a : async t) : async (async t) = 00:03:14 verbose #4397 > > run_target function 00:03:14 verbose #4398 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4399 > > a |> $'Async.StartChild' 00:03:14 verbose #4400 > > | _ => fun () => null () 00:03:14 verbose #4401 > 00:03:14 debug #297 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0334b42951d1be799497f31004c8befe71803b55b92db58190a11ef5c5f37b37/main.spi 00:03:14 verbose #4402 > > 00:03:14 verbose #4403 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:14 verbose #4404 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:14 verbose #4405 > > │ ### start_child_timeout │ 00:03:14 verbose #4406 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:14 verbose #4407 > > 00:03:14 verbose #4408 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:14 verbose #4409 > > inl start_child_timeout forall t. (timeout : i32) (a : async t) : async (async 00:03:14 verbose #4410 > > t) = 00:03:14 verbose #4411 > > run_target function 00:03:14 verbose #4412 > > | Fsharp (Native) => fun () => 00:03:14 verbose #4413 > > $'Async.StartChild (!a, !timeout)' 00:03:14 verbose #4414 > > | _ => fun () => null () 00:03:14 verbose #4415 > 00:03:14 debug #298 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ffb8c8c1531a16ee1907bae6cf517b1714651258e6ffe0ce5bc378d0170b2601/main.spi 00:03:15 verbose #4416 > > 00:03:15 verbose #4417 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4418 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4419 > > │ ### start_immediate │ 00:03:15 verbose #4420 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4421 > > 00:03:15 verbose #4422 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4423 > > inl start_immediate forall t. (a : async t) : () = 00:03:15 verbose #4424 > > run_target function 00:03:15 verbose #4425 > > | Fsharp (Native) => fun () => 00:03:15 verbose #4426 > > a |> $'Async.StartImmediate' 00:03:15 verbose #4427 > > | _ => fun () => null () 00:03:15 verbose #4428 > 00:03:14 debug #299 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4af1a9bb59f72105a5652189fbdfba4c2a8ca40f6ca62f3e5ebe46638aedc663/main.spi 00:03:15 verbose #4429 > > 00:03:15 verbose #4430 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4431 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4432 > > │ ### task_canceled_exception │ 00:03:15 verbose #4433 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4434 > > 00:03:15 verbose #4435 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4436 > > nominal task_canceled_exception = 00:03:15 verbose #4437 > > $'System.Threading.Tasks.TaskCanceledException' 00:03:15 verbose #4438 > 00:03:14 debug #300 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d110b97d05b1985cc8f77d200e596eaace3efae14b7cce29151d763126e65abe/main.spi 00:03:15 verbose #4439 > > 00:03:15 verbose #4440 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4441 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4442 > > │ ### sleep │ 00:03:15 verbose #4443 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4444 > > 00:03:15 verbose #4445 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4446 > > inl sleep (ms : i32) : async () = 00:03:15 verbose #4447 > > run_target function 00:03:15 verbose #4448 > > | Fsharp (Native) => fun () => 00:03:15 verbose #4449 > > ms |> $'Async.Sleep' 00:03:15 verbose #4450 > > | _ => fun () => null () 00:03:15 verbose #4451 > 00:03:14 debug #301 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c55fb3437c14df3d16dc0c8e66bab2d7e5986785bdfe595b22954f771999337/main.spi 00:03:15 verbose #4452 > > 00:03:15 verbose #4453 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4454 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4455 > > │ ### do │ 00:03:15 verbose #4456 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4457 > > 00:03:15 verbose #4458 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4459 > > inl do (a : async ()) : () = 00:03:15 verbose #4460 > > $'do\! !a ' 00:03:15 verbose #4461 > 00:03:15 debug #302 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ff78f0c40a3d2ab22bb1a854281360f21f05c3bbe3513e9c5ea45119a217439/main.spi 00:03:15 verbose #4462 > > 00:03:15 verbose #4463 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4464 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4465 > > │ ### let' │ 00:03:15 verbose #4466 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4467 > > 00:03:15 verbose #4468 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4469 > > inl let' forall t. (a : async t) : t = 00:03:15 verbose #4470 > > $'let\! !a = !a ' 00:03:15 verbose #4471 > > $'!a ' 00:03:15 verbose #4472 > 00:03:15 debug #303 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6dc673e0f9d4b3d74650a4d266d36419d9e6a1171c366f3652edac4ae85ad601/main.spi 00:03:15 verbose #4473 > > 00:03:15 verbose #4474 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4475 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4476 > > │ ### return_await │ 00:03:15 verbose #4477 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4478 > > 00:03:15 verbose #4479 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4480 > > inl return_await forall t. (a : async t) : () = 00:03:15 verbose #4481 > > $'return\! !a ' 00:03:15 verbose #4482 > 00:03:15 debug #304 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c948379881962e47eaaf172e5350062f87e2842c8eb6f8f94c704889958c444/main.spi 00:03:15 verbose #4483 > > 00:03:15 verbose #4484 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4485 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4486 > > │ ### return_await' │ 00:03:15 verbose #4487 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4488 > > 00:03:15 verbose #4489 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4490 > > inl return_await' forall t. (a : async t) : t = 00:03:15 verbose #4491 > > $'return\! !a ' 00:03:15 verbose #4492 > 00:03:15 debug #305 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5f49c9fbbb84e3095f63c5f87caa06387f38b244db838de2f2a17a61bc14ca95/main.spi 00:03:15 verbose #4493 > > 00:03:15 verbose #4494 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:15 verbose #4495 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:15 verbose #4496 > > │ ### map │ 00:03:15 verbose #4497 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:15 verbose #4498 > > 00:03:15 verbose #4499 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:15 verbose #4500 > > inl map forall t u. (fn : t -> u) (a : async t) : async u = 00:03:15 verbose #4501 > > fun () => 00:03:15 verbose #4502 > > inl x = a |> let' 00:03:15 verbose #4503 > > fn x |> return 00:03:15 verbose #4504 > > |> new_async_unit 00:03:15 verbose #4505 > 00:03:15 debug #306 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/62c037978ab529a6370bc7fcc317fb2c795b90e1b03aa9b847871214493efe02/main.spi 00:03:16 verbose #4506 > > 00:03:16 verbose #4507 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4508 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4509 > > │ ### catch' │ 00:03:16 verbose #4510 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4511 > > 00:03:16 verbose #4512 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4513 > > inl catch' forall t e. (a : async t) : async (choice2' t e) = 00:03:16 verbose #4514 > > run_target function 00:03:16 verbose #4515 > > | Fsharp (Native) => fun () => 00:03:16 verbose #4516 > > a |> $'Async.Catch' 00:03:16 verbose #4517 > > | _ => fun () => null () 00:03:16 verbose #4518 > 00:03:15 debug #307 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7a1f64bc131d6bad13a98679069fd1c8f0389b0e504346213105f799391419a6/main.spi 00:03:16 verbose #4519 > > 00:03:16 verbose #4520 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4521 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4522 > > │ ### catch │ 00:03:16 verbose #4523 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4524 > > 00:03:16 verbose #4525 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4526 > > inl catch forall t e. (a : async t) : async (result t e) = 00:03:16 verbose #4527 > > a 00:03:16 verbose #4528 > > |> catch' 00:03:16 verbose #4529 > > |> map choice2_unbox 00:03:16 verbose #4530 > > |> map function 00:03:16 verbose #4531 > > | C1of2 result => Ok result 00:03:16 verbose #4532 > > | C2of2 ex => Error ex 00:03:16 verbose #4533 > 00:03:15 debug #308 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ef76df24e14a6f7cb6f657dd824a1954446fb8e0b7ce20d747e7392c26316789/main.spi 00:03:16 verbose #4534 > > 00:03:16 verbose #4535 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4536 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4537 > > │ ### run_with_timeout_async │ 00:03:16 verbose #4538 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4539 > > 00:03:16 verbose #4540 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4541 > > inl run_with_timeout_async forall t. (timeout : i32) (fn : async t) : async 00:03:16 verbose #4542 > > (option t) = 00:03:16 verbose #4543 > > run_target function 00:03:16 verbose #4544 > > | Fsharp (Native) => fun () => 00:03:16 verbose #4545 > > fun () => 00:03:16 verbose #4546 > > inl child = fn |> start_child_timeout timeout |> let' 00:03:16 verbose #4547 > > child 00:03:16 verbose #4548 > > |> catch 00:03:16 verbose #4549 > > |> map function 00:03:16 verbose #4550 > > | Ok result => Some result 00:03:16 verbose #4551 > > | Error ex when ex |> sm'.format_debug |> sm'.contains 00:03:16 verbose #4552 > > "System.TimeoutException" => 00:03:16 verbose #4553 > > trace Verbose 00:03:16 verbose #4554 > > fun () => $'"async.run_with_timeout_async"' 00:03:16 verbose #4555 > > fun () => { timeout } 00:03:16 verbose #4556 > > None 00:03:16 verbose #4557 > > | Error (ex : exn) => 00:03:16 verbose #4558 > > trace Critical 00:03:16 verbose #4559 > > fun () => $'$"async.run_with_timeout_async**"' 00:03:16 verbose #4560 > > fun () => { timeout ex = ex |> sm'.format_exception 00:03:16 verbose #4561 > > } 00:03:16 verbose #4562 > > None 00:03:16 verbose #4563 > > |> return_await 00:03:16 verbose #4564 > > |> new_async_unit 00:03:16 verbose #4565 > > | _ => fun () => null () 00:03:16 verbose #4566 > 00:03:15 debug #309 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bcffae3b4efe439186eb6f64163a58420231d90bb33056115af57734b796a463/main.spi 00:03:16 verbose #4567 > > 00:03:16 verbose #4568 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4569 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4570 > > │ ### run_with_timeout │ 00:03:16 verbose #4571 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4572 > > 00:03:16 verbose #4573 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4574 > > inl run_with_timeout timeout fn = 00:03:16 verbose #4575 > > fn 00:03:16 verbose #4576 > > |> run_with_timeout_async timeout 00:03:16 verbose #4577 > > |> run_synchronously 00:03:16 verbose #4578 > 00:03:15 debug #310 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/23305ed08844df190ae619852c21bc773e2ab433d93c9c444b84a7c5350d0e46/main.spi 00:03:16 verbose #4579 > > 00:03:16 verbose #4580 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4581 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4582 > > │ ### cancellation_token │ 00:03:16 verbose #4583 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4584 > > 00:03:16 verbose #4585 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4586 > > inl cancellation_token () : async threading.cancellation_token = 00:03:16 verbose #4587 > > $'Async.CancellationToken' 00:03:16 verbose #4588 > 00:03:15 debug #311 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c99ab54586b6b1890d0529f4ed867a15b7ae2a9e5105f0264dc5dd4c28bef151/main.spi 00:03:16 verbose #4589 > > 00:03:16 verbose #4590 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4591 > > inl default_cancellation_token () : threading.cancellation_token = 00:03:16 verbose #4592 > > $'Async.DefaultCancellationToken' 00:03:16 verbose #4593 > 00:03:16 debug #312 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4acedbeba91ff5e38b3d386cb051fee8e229ffd8377e2b634a755eeec558eb36/main.spi 00:03:16 verbose #4594 > > 00:03:16 verbose #4595 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4596 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4597 > > │ ### merge_cancellation_token_with_default_async │ 00:03:16 verbose #4598 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4599 > > 00:03:16 verbose #4600 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4601 > > inl merge_cancellation_token_with_default_async 00:03:16 verbose #4602 > > (token : threading.cancellation_token) 00:03:16 verbose #4603 > > : async threading.cancellation_token 00:03:16 verbose #4604 > > = 00:03:16 verbose #4605 > > run_target function 00:03:16 verbose #4606 > > | Fsharp (Native) => fun () => 00:03:16 verbose #4607 > > fun () => 00:03:16 verbose #4608 > > inl ct = cancellation_token () |> let' 00:03:16 verbose #4609 > > inl dct = default_cancellation_token () 00:03:16 verbose #4610 > > inl cts = threading.create_linked_token_source ;[[ ct; dct; 00:03:16 verbose #4611 > > token ]] 00:03:16 verbose #4612 > > cts |> threading.cancellation_source_token |> return 00:03:16 verbose #4613 > > |> new_async_unit 00:03:16 verbose #4614 > > | _ => fun () => null () 00:03:16 verbose #4615 > 00:03:16 debug #313 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/64d052838ddedd5b3cd100ad84e39034692f8dbbf793758b1ea4c309afcd2497/main.spi 00:03:16 verbose #4616 > > 00:03:16 verbose #4617 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4618 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4619 > > │ ### with_trace_level │ 00:03:16 verbose #4620 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4621 > > 00:03:16 verbose #4622 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4623 > > inl with_trace_level forall t. level fn : _ t = new_async fun () => 00:03:16 verbose #4624 > > inl trace_state = get_trace_state_or_init None 00:03:16 verbose #4625 > > inl old_trace_level = *trace_state.level 00:03:16 verbose #4626 > > inl trace_level = trace_state.level 00:03:16 verbose #4627 > > try_finally 00:03:16 verbose #4628 > > fun () => 00:03:16 verbose #4629 > > trace_level <- level 00:03:16 verbose #4630 > > fn |> return_await 00:03:16 verbose #4631 > > fun () => 00:03:16 verbose #4632 > > trace_level <- old_trace_level 00:03:16 verbose #4633 > 00:03:16 debug #314 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4cb9490e063abe0f9381406fcb6b7a14b26feb156ecf5c32125a52f12c0fbc87/main.spi 00:03:16 verbose #4634 > > 00:03:16 verbose #4635 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4636 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4637 > > │ ### value_task │ 00:03:16 verbose #4638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4639 > > 00:03:16 verbose #4640 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4641 > > nominal value_task = $'System.Threading.Tasks.ValueTask' 00:03:16 verbose #4642 > 00:03:16 debug #315 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9533f6ff030c2ce936090d03696328c8007c2051fd84929e5db165094dfc0fed/main.spi 00:03:16 verbose #4643 > > 00:03:16 verbose #4644 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:16 verbose #4645 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:16 verbose #4646 > > │ ### value_task_as_task │ 00:03:16 verbose #4647 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:16 verbose #4648 > > 00:03:16 verbose #4649 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:16 verbose #4650 > > inl value_task_as_task (task : value_task) : task () = 00:03:16 verbose #4651 > > $'!task.AsTask' () 00:03:16 verbose #4652 > 00:03:16 debug #316 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5808e071d13e41a91f102d8cb49338378c51dfa53597529332f3ab2e97df8c95/main.spi 00:03:17 verbose #4653 > > 00:03:17 verbose #4654 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:17 verbose #4655 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:17 verbose #4656 > > │ ### await_value_task_unit │ 00:03:17 verbose #4657 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:17 verbose #4658 > > 00:03:17 verbose #4659 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:17 verbose #4660 > > inl await_value_task_unit (task : value_task) : async () = 00:03:17 verbose #4661 > > task |> value_task_as_task |> await_task 00:03:17 verbose #4662 > 00:03:16 debug #317 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74e520786829f4b9c018f1fdeec847a8be4920c529b52c99e9e2c030e2c1d028/main.spi 00:03:17 verbose #4663 > > 00:03:17 verbose #4664 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:17 verbose #4665 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:17 verbose #4666 > > │ ## main │ 00:03:17 verbose #4667 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:17 verbose #4668 > > 00:03:17 verbose #4669 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:17 verbose #4670 > > inl main () = 00:03:17 verbose #4671 > > $'let merge_cancellation_token_with_default_async x = 00:03:17 verbose #4672 > > !merge_cancellation_token_with_default_async x' : () 00:03:17 verbose #4673 > 00:03:16 debug #318 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/efb828af86df8f68266180c6f5ecbce9ffca3074d87ee1519484d5215b0946a1/main.spi 00:03:17 verbose #4674 > 00:00:11 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 46782 } 00:03:17 verbose #4675 > 00:00:11 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:18 verbose #4676 > 00:00:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/async.dib.ipynb to html 00:03:18 verbose #4677 > 00:00:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:03:18 verbose #4678 > 00:00:12 verbose #7 ! validate(nb) 00:03:18 verbose #4679 > 00:00:12 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:03:18 verbose #4680 > 00:00:12 verbose #9 ! return _pygments_highlight( 00:03:19 verbose #4681 > 00:00:13 verbose #10 ! [NbConvertApp] Writing 402075 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/async.dib.html 00:03:19 verbose #4682 > 00:00:13 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 894 } 00:03:19 verbose #4683 > 00:00:13 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 894 } 00:03:19 verbose #4684 > 00:00:13 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/async.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:19 verbose #4685 > 00:00:13 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:03:19 verbose #4686 > 00:00:13 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:03:19 verbose #4687 > 00:00:13 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 47735 } 00:03:19 debug #4688 runtime.execute_with_options_async / { exit_code = 0; output_length = 52167 } 00:03:19 debug #8 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path async.dib --retries 3 00:03:19 debug #4689 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path runtime.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:03:19 verbose #4690 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "runtime.dib", "--retries", "3"])) } 00:03:19 verbose #4691 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:03:21 verbose #4692 > > 00:03:21 verbose #4693 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:21 verbose #4694 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:21 verbose #4695 > > │ # runtime │ 00:03:21 verbose #4696 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:23 verbose #4697 > > 00:03:23 verbose #4698 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:23 verbose #4699 > > open rust 00:03:23 verbose #4700 > > open rust_operators 00:03:23 verbose #4701 > > open sm'_operators 00:03:24 verbose #4702 > 00:03:23 debug #319 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/716b2cbc01f0892070ff03319dda7eb0fc1abfbf67f5f9829054763c3a57496f/main.spi 00:03:24 verbose #4703 > > 00:03:24 verbose #4704 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:24 verbose #4705 > > //// test 00:03:24 verbose #4706 > > 00:03:24 verbose #4707 > > open testing 00:03:24 verbose #4708 > > open file_system_operators 00:03:24 verbose #4709 > 00:03:23 debug #320 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1d24ad30630ddeaa6eba453adab5944b53d355403facbf5a79fbe25dd4950d90/main.spi 00:03:24 verbose #4710 > > 00:03:24 verbose #4711 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:24 verbose #4712 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:24 verbose #4713 > > │ ## runtime │ 00:03:24 verbose #4714 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:24 verbose #4715 > > 00:03:24 verbose #4716 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:24 verbose #4717 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:24 verbose #4718 > > │ ### split_args │ 00:03:24 verbose #4719 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:24 verbose #4720 > > 00:03:24 verbose #4721 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:24 verbose #4722 > > let split_args (args : string) : result (array_base string) string = 00:03:24 verbose #4723 > > open parsing 00:03:24 verbose #4724 > > inl esc = [[ '\\'; '`' ]] 00:03:24 verbose #4725 > > inl quotes = [[ '"' ]] 00:03:24 verbose #4726 > > inl special = esc ++ quotes 00:03:24 verbose #4727 > > inl p_esc_char c = 00:03:24 verbose #4728 > > p_char c >>. any_char () |>> fun c' => $'$"{!c}{!c'}"' 00:03:24 verbose #4729 > > inl p_word = special |> none_of |>> sm'.obj_to_string 00:03:24 verbose #4730 > > inl p_plain = special ++ [[ ' ' ]] |> none_of |> many1_chars 00:03:24 verbose #4731 > > inl p_text = p_word |> many1_strings 00:03:24 verbose #4732 > > inl p_esc = esc |> listm.map p_esc_char |> choice 00:03:24 verbose #4733 > > inl p_quoted = (p_word <|> p_esc) |> many |>> sm'.concat_list "" 00:03:24 verbose #4734 > > inl p_quoted_all = p_quoted |> between (p_char '"') (p_char '"') 00:03:24 verbose #4735 > > inl p_esc_root = p_esc >>% "" >>. (p_word |> many) |>> sm'.concat_list "" 00:03:24 verbose #4736 > > inl p_content = p_plain <|> p_quoted_all <|> p_esc_root 00:03:24 verbose #4737 > > inl p_args = spaces1 () |> sep_by p_content 00:03:24 verbose #4738 > > args 00:03:24 verbose #4739 > > |> parse p_args 00:03:24 verbose #4740 > > |> resultm.map (fst >> listm'.box >> listm'.to_array') 00:03:24 verbose #4741 > 00:03:24 debug #321 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5d40014332e4a8f9d0b9be3c2136439bcde653275e7703420e0a70e7be09393c/main.spi 00:03:24 verbose #4742 > > 00:03:24 verbose #4743 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:24 verbose #4744 > > //// test 00:03:24 verbose #4745 > > ///! fsharp 00:03:24 verbose #4746 > > ////! cuda // Only stack allocated primitive types (i8,i16,i32,i64 and 00:03:24 verbose #4747 > > u8,u16,u32,u64 and f32,f64 and bool) are allowed in CuPy arrays. 00:03:24 verbose #4748 > > ///! rust 00:03:24 verbose #4749 > > ///! typescript 00:03:24 verbose #4750 > > ///! python 00:03:24 verbose #4751 > > 00:03:24 verbose #4752 > > [[ 00:03:24 verbose #4753 > > "a b c", 00:03:24 verbose #4754 > > ;[[ "a"; "b"; "c" ]] 00:03:24 verbose #4755 > > 00:03:24 verbose #4756 > > "e f \"g h\" i", 00:03:24 verbose #4757 > > ;[[ "e"; "f"; "g h"; "i" ]] 00:03:24 verbose #4758 > > 00:03:24 verbose #4759 > > "\"j k\" \"l\" \"m\"", 00:03:24 verbose #4760 > > ;[[ "j k"; "l"; "m" ]] 00:03:24 verbose #4761 > > 00:03:24 verbose #4762 > > "s -t \"u \`\"v\`\" w\"", 00:03:24 verbose #4763 > > ;[[ "s"; "-t"; "u \`\"v\`\" w" ]] 00:03:24 verbose #4764 > > 00:03:24 verbose #4765 > > "n -o \"p \\\"q\\\" r\"", 00:03:24 verbose #4766 > > ;[[ "n"; "-o"; "p \\\"q\\\" r" ]] 00:03:24 verbose #4767 > > 00:03:24 verbose #4768 > > "r -s \"t \\\"u\\\"\"", 00:03:24 verbose #4769 > > ;[[ "r"; "-s"; "t \\\"u\\\"" ]] 00:03:24 verbose #4770 > > 00:03:24 verbose #4771 > > $'$"x -y \\\"$z -a \'(b=\\\\\\"c-id=)[[a-fA-F0-9]]{{8}}\', {{ \`$_[[1]] + 00:03:24 verbose #4772 > > \`$d++ }}\\\""', 00:03:24 verbose #4773 > > ;[[ "x"; "-y"; "$z -a '(b=\\\"c-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$d++ }" 00:03:24 verbose #4774 > > ]] 00:03:24 verbose #4775 > > 00:03:24 verbose #4776 > > "e -f \"$g -h '(i=`\"j-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$k++ }\"", 00:03:24 verbose #4777 > > ;[[ "e"; "-f"; "$g -h '(i=`\"j-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$k++ }" 00:03:24 verbose #4778 > > ]] 00:03:24 verbose #4779 > > 00:03:24 verbose #4780 > > $'$"--l \\\\\\"\'\'\' m \'\'\'\\\\\\" "', 00:03:24 verbose #4781 > > ;[[ "--l"; "''' m '''" ]] 00:03:24 verbose #4782 > > 00:03:24 verbose #4783 > > $'$"n --o --p q --r \\\"s:/t u/v.w\\\" --x \\\"y:/z.a\\\" --b c.d 00:03:24 verbose #4784 > > \\\"\\\\e{{f-g}}\\\" h.i \\\"j (k)\\\""', 00:03:24 verbose #4785 > > ;[[ "n"; "--o"; "--p"; "q"; "--r"; "s:/t u/v.w"; "--x"; "y:/z.a"; "--b"; 00:03:24 verbose #4786 > > "c.d"; "\\e{f-g}"; "h.i"; "j (k)" ]] 00:03:24 verbose #4787 > > 00:03:24 verbose #4788 > > $'\@$"l ""m n:\\o.p"""', 00:03:24 verbose #4789 > > ;[[ "l"; "m n:\\o.p" ]] 00:03:24 verbose #4790 > > ]] 00:03:24 verbose #4791 > > |> _assert_fn split_args 00:03:24 verbose #4792 > 00:03:24 debug #322 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f703d3953f21ffa14671a46708821eb2b7f67abe1632faeebf99088b1028cdee/main.spi 00:03:41 verbose #4793 > > 00:03:41 verbose #4794 > > ╭─[ 16.67s - return value ]────────────────────────────────────────────────────╮ 00:03:41 verbose #4795 > > │ │ 00:03:41 verbose #4796 > > │ .rs output: │ 00:03:41 verbose #4797 > > │ │ 00:03:41 verbose #4798 > > │ 00:00:00 verbose #1 testing._assert_fn / { input = a b c } │ 00:03:41 verbose #4799 > > │ assert_eq' / actual: Array(MutCell(["a", "b", "c"])) / expected: │ 00:03:41 verbose #4800 > > │ Array(MutCell(["a", "b", "c"])) │ 00:03:41 verbose #4801 > > │ │ 00:03:41 verbose #4802 > > │ 00:00:00 verbose #2 testing._assert_fn / { input = e f "g h" i } │ 00:03:41 verbose #4803 > > │ assert_eq' / actual: Array(MutCell(["e", "f", "g h", "i"])) / expected: │ 00:03:41 verbose #4804 > > │ Array(MutCell(["e", "f", "g h", "i"])) │ 00:03:41 verbose #4805 > > │ │ 00:03:41 verbose #4806 > > │ 00:00:00 verbose #3 testing._assert_fn / { input = "j k" "l" "m" } │ 00:03:41 verbose #4807 > > │ assert_eq' / actual: Array(MutCell(["j k", "l", "m"])) / expected: │ 00:03:41 verbose #4808 > > │ Array(MutCell(["j k", "l", "m"])) │ 00:03:41 verbose #4809 > > │ │ 00:03:41 verbose #4810 > > │ 00:00:00 verbose #4 testing._assert_fn / { input = s -t "u `"v`" w" } │ 00:03:41 verbose #4811 > > │ assert_eq' / actual: Array(MutCell(["s", "-t", "u `"v`" w"])) / expected: │ 00:03:41 verbose #4812 > > │ Array(MutCell(["s", "-t", "u `"v`" w"])) │ 00:03:41 verbose #4813 > > │ │ 00:03:41 verbose #4814 > > │ 00:00:00 verbose #5 testing._assert_fn / { input = n -o "p \"q\" r" } │ 00:03:41 verbose #4815 > > │ assert_eq' / actual: Array(MutCell(["n", "-o", "p \"q\" r"])) / expected: │ 00:03:41 verbose #4816 > > │ Array(MutCell(["n", "-o", "p \"q\" r"])) │ 00:03:41 verbose #4817 > > │ │ 00:03:41 verbose #4818 > > │ 00:00:00 verbose #6 testing._assert_fn / { input = r -s "t \"u\"" } │ 00:03:41 verbose #4819 > > │ assert_eq' / actual: Array(MutCell(["r", "-s", "t \"u\""])) / expected: │ 00:03:41 verbose #4820 > > │ Array(MutCell(["r", "-s", "t \"u\""])) │ 00:03:41 verbose #4821 > > │ │ 00:03:41 verbose #4822 > > │ 00:00:00 verbose #7 testing._assert_fn / { input = x -y "$z -a │ 00:03:41 verbose #4823 > > │ '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[1] + `$d++ }" } │ 00:03:41 verbose #4824 > > │ assert_eq' / actual: Array(MutCell(["x", "-y", "$z -a '(b=\"c-id=)[ │ 00:03:41 verbose #4825 > > │ a-fA-F0-9]{8}', { `$_[1] + `$d++ }"])) / expected: Array(MutCell(["x", "-y", │ 00:03:41 verbose #4826 > > │ "$z -a '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[1] + `$d++ }"])) │ 00:03:41 verbose #4827 > > │ │ 00:03:41 verbose #4828 > > │ 00:00:00 verbose #8 testing._ass...p \\"q\\" r'] / expected: ['n', │ 00:03:41 verbose #4829 > > │ '-o', 'p \\"q\\" r'] │ 00:03:41 verbose #4830 > > │ │ 00:03:41 verbose #4831 > > │ 00:00:00 verbose #6 testing._assert_fn / { input = r -s "t \"u\"" } │ 00:03:41 verbose #4832 > > │ assert_eq' / actual: ['r', '-s', 't \\"u\\"'] / expected: ['r', '-s', 't │ 00:03:41 verbose #4833 > > │ \\"u\\"'] │ 00:03:41 verbose #4834 > > │ │ 00:03:41 verbose #4835 > > │ 00:00:00 verbose #7 testing._assert_fn / { input = x -y "$z -a │ 00:03:41 verbose #4836 > > │ '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[1] + `$d++ }" } │ 00:03:41 verbose #4837 > > │ assert_eq' / actual: ['x', '-y', '$z -a \'(b=\\"c-id=)[a-fA-F0-9]{8}\', { │ 00:03:41 verbose #4838 > > │ `$_[1] + `$d++ }'] / expected: ['x', '-y', '$z -a \'(b=\\"c-id=)[ │ 00:03:41 verbose #4839 > > │ a-fA-F0-9]{8}\', { `$_[1] + `$d++ }'] │ 00:03:41 verbose #4840 > > │ │ 00:03:41 verbose #4841 > > │ 00:00:00 verbose #8 testing._assert_fn / { input = e -f "$g -h │ 00:03:41 verbose #4842 > > │ '(i=`"j-id=)[a-fA-F0-9]{8}', { `$_[1] + `$k++ }" } │ 00:03:41 verbose #4843 > > │ assert_eq' / actual: ['e', '-f', '$g -h \'(i=`"j-id=)[a-fA-F0-9]{8}\', { `$_ │ 00:03:41 verbose #4844 > > │ [1] + `$k++ }'] / expected: ['e', '-f', '$g -h \'(i=`"j-id=)[ │ 00:03:41 verbose #4845 > > │ a-fA-F0-9]{8}\', { `$_[1] + `$k++ }'] │ 00:03:41 verbose #4846 > > │ │ 00:03:41 verbose #4847 > > │ 00:00:00 verbose #9 testing._assert_fn / { input = --l \"''' m '''\" } │ 00:03:41 verbose #4848 > > │ assert_eq' / actual: ['--l', "''' m '''"] / expected: ['--l', "''' m '''"] │ 00:03:41 verbose #4849 > > │ │ 00:03:41 verbose #4850 > > │ 00:00:00 verbose #10 testing._assert_fn / { input = n --o --p q --r │ 00:03:41 verbose #4851 > > │ "s:/t u/v.w" --x "y:/z.a" --b c.d "\e{f-g}" h.i "j (k)" } │ 00:03:41 verbose #4852 > > │ assert_eq' / actual: ['n', '--o', '--p', 'q', '--r', 's:/t u/v.w', '--x', │ 00:03:41 verbose #4853 > > │ 'y:/z.a', '--b', 'c.d', '\\e{f-g}', 'h.i', 'j (k)'] / expected: ['n', '--o', │ 00:03:41 verbose #4854 > > │ '--p', 'q', '--r', 's:/t u/v.w', '--x', 'y:/z.a', '--b', 'c.d', '\\e{f-g}', │ 00:03:41 verbose #4855 > > │ 'h.i', 'j (k)'] │ 00:03:41 verbose #4856 > > │ │ 00:03:41 verbose #4857 > > │ 00:00:00 verbose #11 testing._assert_fn / { input = l "m n:\o.p" } │ 00:03:41 verbose #4858 > > │ assert_eq' / actual: ['l', 'm n:\\o.p'] / expected: ['l', 'm n:\\o.p'] │ 00:03:41 verbose #4859 > > │ │ 00:03:41 verbose #4860 > > │ │ 00:03:41 verbose #4861 > > │ │ 00:03:41 verbose #4862 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:41 verbose #4863 > > 00:03:41 verbose #4864 > > ╭─[ 16.69s - stdout ]──────────────────────────────────────────────────────────╮ 00:03:41 verbose #4865 > > │ .fsx output: │ 00:03:41 verbose #4866 > > │ │ 00:03:41 verbose #4867 > > │ 00:00:00 verbose #1 testing._assert_fn / { input = a b c } │ 00:03:41 verbose #4868 > > │ assert_eq' / actual: [|"a"; "b"; "c"|] / expected: [|"a"; "b"; "c"|] │ 00:03:41 verbose #4869 > > │ │ 00:03:41 verbose #4870 > > │ 00:00:00 verbose #2 testing._assert_fn / { input = e f "g h" i } │ 00:03:41 verbose #4871 > > │ assert_eq' / actual: [|"e"; "f"; "g h"; "i"|] / expected: [|"e"; "f"; "g h"; │ 00:03:41 verbose #4872 > > │ "i"|] │ 00:03:41 verbose #4873 > > │ │ 00:03:41 verbose #4874 > > │ 00:00:00 verbose #3 testing._assert_fn / { input = "j k" "l" "m" } │ 00:03:41 verbose #4875 > > │ assert_eq' / actual: [|"j k"; "l"; "m"|] / expected: [|"j k"; "l"; "m"|] │ 00:03:41 verbose #4876 > > │ │ 00:03:41 verbose #4877 > > │ 00:00:00 verbose #4 testing._assert_fn / { input = s -t "u `"v`" w" } │ 00:03:41 verbose #4878 > > │ assert_eq' / actual: [|"s"; "-t"; "u `"v`" w"|] / expected: [|"s"; "-t"; "u │ 00:03:41 verbose #4879 > > │ `"v`" w"|] │ 00:03:41 verbose #4880 > > │ │ 00:03:41 verbose #4881 > > │ 00:00:00 verbose #5 testing._assert_fn / { input = n -o "p \"q\" r" } │ 00:03:41 verbose #4882 > > │ assert_eq' / actual: [|"n"; "-o"; "p \"q\" r"|] / expected: [|"n"; "-o"; "p │ 00:03:41 verbose #4883 > > │ \"q\" r"|] │ 00:03:41 verbose #4884 > > │ │ 00:03:41 verbose #4885 > > │ 00:00:00 verbose #6 testing._assert_fn / { input = r -s "t \"u\"" } │ 00:03:41 verbose #4886 > > │ assert_eq' / actual: [|"r"; "-s"; "t \"u\""|] / expected: [|"r"; "-s"; "t │ 00:03:41 verbose #4887 > > │ \"u\""|] │ 00:03:41 verbose #4888 > > │ │ 00:03:41 verbose #4889 > > │ 00:00:00 verbose #7 testing._assert_fn / { input = x -y "$z -a │ 00:03:41 verbose #4890 > > │ '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[1] + `$d++ }" } │ 00:03:41 verbose #4891 > > │ assert_eq' / actual: [|"x"; "-y"; "$z -a '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[ │ 00:03:41 verbose #4892 > > │ 1] + `$d++ }"|] / expected: [|"x"; "-y"; "$z -a '(b=\"c-id=)[a-fA-F0-9]{8}', │ 00:03:41 verbose #4893 > > │ { `$_[1] + `$d++ }"|] │ 00:03:41 verbose #4894 > > │ │ 00:03:41 verbose #4895 > > │ 00:00:00 verbose #8 testing._assert_fn / { input = e -f "$g -h │ 00:03:41 verbose #4896 > > │ '(i=`"j-id=)[a-fA-F0-9]{8}', { `$_[1] + `$k++ }" } │ 00:03:41 verbose #4897 > > │ assert_eq' / actual: [|"e"; "-f"; "$g -h '(i=`"j-id=)[a-fA-F0-9]{8}', { `$_[ │ 00:03:41 verbose #4898 > > │ 1] + `$k++ }"|] / expected: [|"e"; "-f"; "$g -h '(i=`"j-id=)[a-fA-F0-9]{8}', │ 00:03:41 verbose #4899 > > │ { `$_[1] + `$k++ }"|] │ 00:03:41 verbose #4900 > > │ │ 00:03:41 verbose #4901 > > │ 00:00:00 verbose #9 testing._assert_fn / { input = --l \"''' m '''\" } │ 00:03:41 verbose #4902 > > │ assert_eq' / actual: [|"--l"; "''' m '''"|] / expected: [|"--l"; "''' m │ 00:03:41 verbose #4903 > > │ '''"|] │ 00:03:41 verbose #4904 > > │ │ 00:03:41 verbose #4905 > > │ 00:00:00 verbose #10 testing._assert_fn / { input = n --o --p q --r │ 00:03:41 verbose #4906 > > │ "s:/t u/v.w" --x "y:/z.a" --b c.d "\e{f-g}" h.i "j (k)" } │ 00:03:41 verbose #4907 > > │ assert_eq' / actual: [|"n"; "--o"; "--p"; "q"; "--r"; "s:/t u/v.w"; "--x"; │ 00:03:41 verbose #4908 > > │ "y:/z.a"; "--b"; "c.d"; │ 00:03:41 verbose #4909 > > │ "\e{f-g}"; "h.i"; "j (k)"|] / expected: [|"n"; "--o"; "--p"; "q"; "--r"; │ 00:03:41 verbose #4910 > > │ "s:/t u/v.w"; "--x"; "y:/z.a"; "--b"; "c.d"; │ 00:03:41 verbose #4911 > > │ "\e{f-g}"; "h.i"; "j (k)"|] │ 00:03:41 verbose #4912 > > │ │ 00:03:41 verbose #4913 > > │ 00:00:00 verbose #11 testing._assert_fn / { input = l "m n:\o.p" } │ 00:03:41 verbose #4914 > > │ assert_eq' / actual: [|"l"; "m n:\o.p"|] / expected: [|"l"; "m n:\o.p"|] │ 00:03:41 verbose #4915 > > │ │ 00:03:41 verbose #4916 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:41 verbose #4917 > > 00:03:41 verbose #4918 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:41 verbose #4919 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:41 verbose #4920 > > │ ### split_command │ 00:03:41 verbose #4921 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:41 verbose #4922 > > 00:03:41 verbose #4923 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:41 verbose #4924 > > let split_command (command : string) : result (string * option string) string = 00:03:41 verbose #4925 > > open parsing 00:03:41 verbose #4926 > > inl quotes = [[ '"'; '\'' ]] 00:03:41 verbose #4927 > > inl p_quoted_char = quotes |> listm.map p_char |> choice 00:03:41 verbose #4928 > > inl normalize = function '\\' => '/' | c => c 00:03:41 verbose #4929 > > inl p_quoted = quotes |> none_of |>> normalize |> many_chars |> between 00:03:41 verbose #4930 > > p_quoted_char p_quoted_char 00:03:41 verbose #4931 > > inl p_unquoted = quotes ++ [[ ' ' ]] |> none_of |>> normalize |> many1_chars 00:03:41 verbose #4932 > > inl p_path = p_quoted <|> p_unquoted <|> eof () >>% "" .>> spaces () 00:03:41 verbose #4933 > > inl p_args = p_char ' ' |> opt >>. (any_char () |> many1_chars) 00:03:41 verbose #4934 > > inl p_command = p_path .>>. (p_args |> opt) 00:03:41 verbose #4935 > > command 00:03:41 verbose #4936 > > |> parse p_command 00:03:41 verbose #4937 > > |> resultm.map fst 00:03:41 verbose #4938 > 00:03:40 debug #323 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2dc95e4a8dde2b3cc617b993333018403ac25c869f9592bc3211edac1699948f/main.spi 00:03:41 verbose #4939 > > 00:03:41 verbose #4940 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:41 verbose #4941 > > //// test 00:03:41 verbose #4942 > > ///! fsharp 00:03:41 verbose #4943 > > ////! cuda // Only stack allocated primitive types (i8,i16,i32,i64 and 00:03:41 verbose #4944 > > u8,u16,u32,u64 and f32,f64 and bool) are allowed in CuPy arrays. 00:03:41 verbose #4945 > > ///! rust 00:03:41 verbose #4946 > > ///! typescript 00:03:41 verbose #4947 > > ///! python 00:03:41 verbose #4948 > > 00:03:41 verbose #4949 > > [[ 00:03:41 verbose #4950 > > "", 00:03:41 verbose #4951 > > ("", None) 00:03:41 verbose #4952 > > 00:03:41 verbose #4953 > > "/a/b/c", 00:03:41 verbose #4954 > > ("/a/b/c", None) 00:03:41 verbose #4955 > > 00:03:41 verbose #4956 > > "d e.f", 00:03:41 verbose #4957 > > ("d", Some "e.f") 00:03:41 verbose #4958 > > 00:03:41 verbose #4959 > > $'"""..\\..\\g.h i.j k.l"""', 00:03:41 verbose #4960 > > ("../../g.h", Some "i.j k.l") 00:03:41 verbose #4961 > > 00:03:41 verbose #4962 > > $'\@"m:\\n\\o.p ""q.r s.t"""', 00:03:41 verbose #4963 > > ("m:/n/o.p", Some $'\@"""q.r s.t"""') 00:03:41 verbose #4964 > > 00:03:41 verbose #4965 > > $'\@"""..\\..\\u v\\w.x"" ""y z.a"" b.c"', 00:03:41 verbose #4966 > > ("../../u v/w.x", Some $'\@"""y z.a"" b.c"') 00:03:41 verbose #4967 > > 00:03:41 verbose #4968 > > $'\@"""..\\..\\d e.f"" -g \\\\""h i\\\\"""', 00:03:41 verbose #4969 > > ("../../d e.f", Some $'\@"-g \\\\""h i\\\\"""') 00:03:41 verbose #4970 > > 00:03:41 verbose #4971 > > $'\@"..\\..\\j k.l -m \\\\""n o\\\\"""', 00:03:41 verbose #4972 > > ("../../j", Some $'\@"k.l -m \\\\""n o\\\\"""') 00:03:41 verbose #4973 > > ]] 00:03:41 verbose #4974 > > |> _assert_fn split_command 00:03:41 verbose #4975 > 00:03:40 debug #324 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/90dee2b05dfb2cac61bac49c743366139a397548d8b778bbf8d00ccb683b0fe1/main.spi 00:03:56 verbose #4976 > > 00:03:56 verbose #4977 > > ╭─[ 15.04s - return value ]────────────────────────────────────────────────────╮ 00:03:56 verbose #4978 > > │ │ 00:03:56 verbose #4979 > > │ .rs output: │ 00:03:56 verbose #4980 > > │ │ 00:03:56 verbose #4981 > > │ 00:00:00 verbose #1 testing._assert_fn / { input = } │ 00:03:56 verbose #4982 > > │ assert_eq' / actual: ("", US1_1) / expected: ("", US1_1) │ 00:03:56 verbose #4983 > > │ │ 00:03:56 verbose #4984 > > │ 00:00:00 verbose #2 testing._assert_fn / { input = /a/b/c } │ 00:03:56 verbose #4985 > > │ assert_eq' / actual: ("/a/b/c", US1_1) / expected: ("/a/b/c", US1_1) │ 00:03:56 verbose #4986 > > │ │ 00:03:56 verbose #4987 > > │ 00:00:00 verbose #3 testing._assert_fn / { input = d e.f } │ 00:03:56 verbose #4988 > > │ assert_eq' / actual: ("d", US1_0("e.f")) / expected: ("d", US1_0("e.f")) │ 00:03:56 verbose #4989 > > │ │ 00:03:56 verbose #4990 > > │ 00:00:00 verbose #4 testing._assert_fn / { input = ..\..\g.h i.j k.l } │ 00:03:56 verbose #4991 > > │ assert_eq' / actual: ("../../g.h", US1_0("i.j k.l")) / expected: │ 00:03:56 verbose #4992 > > │ ("../../g.h", US1_0("i.j k.l")) │ 00:03:56 verbose #4993 > > │ │ 00:03:56 verbose #4994 > > │ 00:00:00 verbose #5 testing._assert_fn / { input = m:\n\o.p "q.r s.t" │ 00:03:56 verbose #4995 > > │ } │ 00:03:56 verbose #4996 > > │ assert_eq' / actual: ("m:/n/o.p", US1_0(""q.r s.t"")) / expected: │ 00:03:56 verbose #4997 > > │ ("m:/n/o.p", US1_0(""q.r s.t"")) │ 00:03:56 verbose #4998 > > │ │ 00:03:56 verbose #4999 > > │ 00:00:00 verbose #6 testing._assert_fn / { input = "..\..\u v\w.x" "y │ 00:03:56 verbose #5000 > > │ z.a" b.c } │ 00:03:56 verbose #5001 > > │ assert_eq' / actual: ("../../u v/w.x", US1_0(""y z.a" b.c")) / expected: │ 00:03:56 verbose #5002 > > │ ("../../u v/w.x", US1_0(""y z.a" b.c")) │ 00:03:56 verbose #5003 > > │ │ 00:03:56 verbose #5004 > > │ 00:00:00 verbose #7 testing._assert_fn / { input = "..\..\d e.f" -g │ 00:03:56 verbose #5005 > > │ \\"h i\\" } │ 00:03:56 verbose #5006 > > │ assert_eq' / actual: ("../../d e.f", US1_0("-g \\"h i\\"")) / expected: │ 00:03:56 verbose #5007 > > │ ("../../d e.f", US1_0("-g \\"h i\\"")) │ 00:03:56 verbose #5008 > > │ │ 00:03:56 verbose #5009 > > │ 00:00:00 verbose #8 testing._assert_fn / { input = ..\..\j k.l -m \\"n │ 00:03:56 verbose #5010 > > │ o\\" } │ 00:03:56 verbose #5011 > > │ assert_eq' / actual: ("../../j", US1_0("k.l -m \\"n o\\"")) / expected: │ 00:03:56 verbose #5012 > > │ ("../../j", US1_0("k.l -m \\"n o\\"")) │ 00:03:56 verbose #5013 > > │ │ 00:03:56 verbose #5014 > > │ │ 00:03:56 verbose #5015 > > │ .ts output: │ 00:03:56 verbose #5016 > > │ │ 00:03:56 verbose #5017 > > │ 00:00:00 verbose #1 testing._assert_fn / { input = } │ 00:03:56 verbose #5018 > > │ assert_eq' / actual: ,US1_1 / expec...\\"n o\\" } │ 00:03:56 verbose #5019 > > │ assert_eq' / actual: ../../j,US1_0 (k.l -m \\"n o\\") / expected: │ 00:03:56 verbose #5020 > > │ ../../j,US1_0 (k.l -m \\"n o\\") │ 00:03:56 verbose #5021 > > │ │ 00:03:56 verbose #5022 > > │ │ 00:03:56 verbose #5023 > > │ .py output: │ 00:03:56 verbose #5024 > > │ │ 00:03:56 verbose #5025 > > │ 00:00:00 verbose #1 testing._assert_fn / { input = } │ 00:03:56 verbose #5026 > > │ assert_eq' / actual: ('', US1_1) / expected: ('', US1_1) │ 00:03:56 verbose #5027 > > │ │ 00:03:56 verbose #5028 > > │ 00:00:00 verbose #2 testing._assert_fn / { input = /a/b/c } │ 00:03:56 verbose #5029 > > │ assert_eq' / actual: ('/a/b/c', US1_1) / expected: ('/a/b/c', US1_1) │ 00:03:56 verbose #5030 > > │ │ 00:03:56 verbose #5031 > > │ 00:00:00 verbose #3 testing._assert_fn / { input = d e.f } │ 00:03:56 verbose #5032 > > │ assert_eq' / actual: ('d', US1_0 "e.f") / expected: ('d', US1_0 "e.f") │ 00:03:56 verbose #5033 > > │ │ 00:03:56 verbose #5034 > > │ 00:00:00 verbose #4 testing._assert_fn / { input = ..\..\g.h i.j k.l } │ 00:03:56 verbose #5035 > > │ assert_eq' / actual: ('../../g.h', US1_0 ("i.j k.l")) / expected: │ 00:03:56 verbose #5036 > > │ ('../../g.h', US1_0 ("i.j k.l")) │ 00:03:56 verbose #5037 > > │ │ 00:03:56 verbose #5038 > > │ 00:00:00 verbose #5 testing._assert_fn / { input = m:\n\o.p "q.r s.t" } │ 00:03:56 verbose #5039 > > │ assert_eq' / actual: ('m:/n/o.p', US1_0 (""q.r s.t"")) / expected: │ 00:03:56 verbose #5040 > > │ ('m:/n/o.p', US1_0 (""q.r s.t"")) │ 00:03:56 verbose #5041 > > │ │ 00:03:56 verbose #5042 > > │ 00:00:00 verbose #6 testing._assert_fn / { input = "..\..\u v\w.x" "y │ 00:03:56 verbose #5043 > > │ z.a" b.c } │ 00:03:56 verbose #5044 > > │ assert_eq' / actual: ('../../u v/w.x', US1_0 (""y z.a" b.c")) / expected: │ 00:03:56 verbose #5045 > > │ ('../../u v/w.x', US1_0 (""y z.a" b.c")) │ 00:03:56 verbose #5046 > > │ │ 00:03:56 verbose #5047 > > │ 00:00:00 verbose #7 testing._assert_fn / { input = "..\..\d e.f" -g │ 00:03:56 verbose #5048 > > │ \\"h i\\" } │ 00:03:56 verbose #5049 > > │ assert_eq' / actual: ('../../d e.f', US1_0 ("-g \\"h i\\"")) / expected: │ 00:03:56 verbose #5050 > > │ ('../../d e.f', US1_0 ("-g \\"h i\\"")) │ 00:03:56 verbose #5051 > > │ │ 00:03:56 verbose #5052 > > │ 00:00:00 verbose #8 testing._assert_fn / { input = ..\..\j k.l -m \\"n │ 00:03:56 verbose #5053 > > │ o\\" } │ 00:03:56 verbose #5054 > > │ assert_eq' / actual: ('../../j', US1_0 ("k.l -m \\"n o\\"")) / expected: │ 00:03:56 verbose #5055 > > │ ('../../j', US1_0 ("k.l -m \\"n o\\"")) │ 00:03:56 verbose #5056 > > │ │ 00:03:56 verbose #5057 > > │ │ 00:03:56 verbose #5058 > > │ │ 00:03:56 verbose #5059 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5060 > > 00:03:56 verbose #5061 > > ╭─[ 15.04s - stdout ]──────────────────────────────────────────────────────────╮ 00:03:56 verbose #5062 > > │ .fsx output: │ 00:03:56 verbose #5063 > > │ │ 00:03:56 verbose #5064 > > │ 00:00:00 verbose #1 testing._assert_fn / { input = } │ 00:03:56 verbose #5065 > > │ assert_eq' / actual: struct ("", US1_1) / expected: struct ("", US1_1) │ 00:03:56 verbose #5066 > > │ │ 00:03:56 verbose #5067 > > │ 00:00:00 verbose #2 testing._assert_fn / { input = /a/b/c } │ 00:03:56 verbose #5068 > > │ assert_eq' / actual: struct ("/a/b/c", US1_1) / expected: struct ("/a/b/c", │ 00:03:56 verbose #5069 > > │ US1_1) │ 00:03:56 verbose #5070 > > │ │ 00:03:56 verbose #5071 > > │ 00:00:00 verbose #3 testing._assert_fn / { input = d e.f } │ 00:03:56 verbose #5072 > > │ assert_eq' / actual: struct ("d", US1_0 "e.f") / expected: struct ("d", │ 00:03:56 verbose #5073 > > │ US1_0 "e.f") │ 00:03:56 verbose #5074 > > │ │ 00:03:56 verbose #5075 > > │ 00:00:00 verbose #4 testing._assert_fn / { input = ..\..\g.h i.j k.l } │ 00:03:56 verbose #5076 > > │ assert_eq' / actual: struct ("../../g.h", US1_0 "i.j k.l") / expected: │ 00:03:56 verbose #5077 > > │ struct ("../../g.h", US1_0 "i.j k.l") │ 00:03:56 verbose #5078 > > │ │ 00:03:56 verbose #5079 > > │ 00:00:00 verbose #5 testing._assert_fn / { input = m:\n\o.p "q.r s.t" } │ 00:03:56 verbose #5080 > > │ assert_eq' / actual: struct ("m:/n/o.p", US1_0 ""q.r s.t"") / expected: │ 00:03:56 verbose #5081 > > │ struct ("m:/n/o.p", US1_0 ""q.r s.t"") │ 00:03:56 verbose #5082 > > │ │ 00:03:56 verbose #5083 > > │ 00:00:00 verbose #6 testing._assert_fn / { input = "..\..\u v\w.x" "y │ 00:03:56 verbose #5084 > > │ z.a" b.c } │ 00:03:56 verbose #5085 > > │ assert_eq' / actual: struct ("../../u v/w.x", US1_0 ""y z.a" b.c") / │ 00:03:56 verbose #5086 > > │ expected: struct ("../../u v/w.x", US1_0 ""y z.a" b.c") │ 00:03:56 verbose #5087 > > │ │ 00:03:56 verbose #5088 > > │ 00:00:00 verbose #7 testing._assert_fn / { input = "..\..\d e.f" -g │ 00:03:56 verbose #5089 > > │ \\"h i\\" } │ 00:03:56 verbose #5090 > > │ assert_eq' / actual: struct ("../../d e.f", US1_0 "-g \\"h i\\"") / │ 00:03:56 verbose #5091 > > │ expected: struct ("../../d e.f", US1_0 "-g \\"h i\\"") │ 00:03:56 verbose #5092 > > │ │ 00:03:56 verbose #5093 > > │ 00:00:00 verbose #8 testing._assert_fn / { input = ..\..\j k.l -m \\"n │ 00:03:56 verbose #5094 > > │ o\\" } │ 00:03:56 verbose #5095 > > │ assert_eq' / actual: struct ("../../j", US1_0 "k.l -m \\"n o\\"") / │ 00:03:56 verbose #5096 > > │ expected: struct ("../../j", US1_0 "k.l -m \\"n o\\"") │ 00:03:56 verbose #5097 > > │ │ 00:03:56 verbose #5098 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5099 > > 00:03:56 verbose #5100 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5101 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5102 > > │ ### execution_line │ 00:03:56 verbose #5103 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5104 > > 00:03:56 verbose #5105 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5106 > > type execution_line = 00:03:56 verbose #5107 > > { 00:03:56 verbose #5108 > > process_id : int 00:03:56 verbose #5109 > > line : string 00:03:56 verbose #5110 > > error : bool 00:03:56 verbose #5111 > > } 00:03:56 verbose #5112 > 00:03:55 debug #325 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6fc197aa3949aab6f08a05e4f138dc26c961811a53c13f3e115be7ba6bcca35e/main.spi 00:03:56 verbose #5113 > > 00:03:56 verbose #5114 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5115 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5116 > > │ ## rust │ 00:03:56 verbose #5117 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5118 > > 00:03:56 verbose #5119 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5120 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5121 > > │ ### process_child │ 00:03:56 verbose #5122 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5123 > > 00:03:56 verbose #5124 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5125 > > nominal process_child = 00:03:56 verbose #5126 > > `( 00:03:56 verbose #5127 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:56 verbose #5128 > > Fable.Core.Emit(\"std::process::Child\")>]]\n#endif\ntype std_process_Child = 00:03:56 verbose #5129 > > class end" 00:03:56 verbose #5130 > > $'' : $'std_process_Child' 00:03:56 verbose #5131 > > ) 00:03:56 verbose #5132 > 00:03:56 debug #326 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce13e3fb59bd28f7571aadc71841d8afcebb02d9ae83b74a9ca0260407cea773/main.spi 00:03:56 verbose #5133 > > 00:03:56 verbose #5134 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5135 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5136 > > │ ### process_child_stdin │ 00:03:56 verbose #5137 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5138 > > 00:03:56 verbose #5139 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5140 > > nominal process_child_stdin = 00:03:56 verbose #5141 > > `( 00:03:56 verbose #5142 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:56 verbose #5143 > > Fable.Core.Emit(\"std::process::ChildStdin\")>]]\n#endif\ntype 00:03:56 verbose #5144 > > std_process_ChildStdin = class end" 00:03:56 verbose #5145 > > $'' : $'std_process_ChildStdin' 00:03:56 verbose #5146 > > ) 00:03:56 verbose #5147 > > 00:03:56 verbose #5148 > > inl process_child_stdin 00:03:56 verbose #5149 > > (child : rust.ref (rust.mut' process_child)) 00:03:56 verbose #5150 > > : rust.ref (rust.mut' (optionm'.option' process_child_stdin)) 00:03:56 verbose #5151 > > = 00:03:56 verbose #5152 > > !\\(child, $'"&mut $0.stdin"') 00:03:56 verbose #5153 > 00:03:56 debug #327 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/11e52c2775bdcb312c4753c97b2356cf8e2733aee973aff0060e8766909b2517/main.spi 00:03:56 verbose #5154 > > 00:03:56 verbose #5155 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5156 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5157 > > │ ## runtime │ 00:03:56 verbose #5158 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5159 > > 00:03:56 verbose #5160 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5161 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5162 > > │ ### execution_options │ 00:03:56 verbose #5163 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5164 > > 00:03:56 verbose #5165 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5166 > > type execution_options = 00:03:56 verbose #5167 > > { 00:03:56 verbose #5168 > > command : string 00:03:56 verbose #5169 > > cancellation_token : optionm'.option' threading.cancellation_token 00:03:56 verbose #5170 > > environment_variables : array_base (string * string) 00:03:56 verbose #5171 > > on_line : optionm'.option' (execution_line -> async.async ()) 00:03:56 verbose #5172 > > stdin : optionm'.option' (threading.arc (threading.mutex 00:03:56 verbose #5173 > > process_child_stdin) -> ()) 00:03:56 verbose #5174 > > trace : bool 00:03:56 verbose #5175 > > working_directory : optionm'.option' string 00:03:56 verbose #5176 > > } 00:03:56 verbose #5177 > > 00:03:56 verbose #5178 > > inl execution_options (fn : execution_options -> execution_options) : 00:03:56 verbose #5179 > > execution_options = 00:03:56 verbose #5180 > > { 00:03:56 verbose #5181 > > command = "" 00:03:56 verbose #5182 > > cancellation_token = None |> optionm'.box 00:03:56 verbose #5183 > > environment_variables = ;[[]] 00:03:56 verbose #5184 > > on_line = None |> optionm'.box 00:03:56 verbose #5185 > > stdin = None |> optionm'.box 00:03:56 verbose #5186 > > trace = true 00:03:56 verbose #5187 > > working_directory = None |> optionm'.box 00:03:56 verbose #5188 > > } 00:03:56 verbose #5189 > > |> fn 00:03:56 verbose #5190 > 00:03:56 debug #328 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40e20dcc001cdb4b3754096201f3f5bf2b72d9d9ff9bf2801971efdb2b5d1099/main.spi 00:03:56 verbose #5191 > > 00:03:56 verbose #5192 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5193 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5194 > > │ ## rust │ 00:03:56 verbose #5195 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5196 > > 00:03:56 verbose #5197 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5198 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5199 > > │ ### process_child_stderr │ 00:03:56 verbose #5200 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5201 > > 00:03:56 verbose #5202 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5203 > > nominal process_child_stderr = 00:03:56 verbose #5204 > > `( 00:03:56 verbose #5205 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:56 verbose #5206 > > Fable.Core.Emit(\"std::process::ChildStderr\")>]]\n#endif\ntype 00:03:56 verbose #5207 > > std_process_ChildStderr = class end" 00:03:56 verbose #5208 > > $'' : $'std_process_ChildStderr' 00:03:56 verbose #5209 > > ) 00:03:56 verbose #5210 > > 00:03:56 verbose #5211 > > inl process_child_stderr 00:03:56 verbose #5212 > > (child : rust.ref (rust.mut' process_child)) 00:03:56 verbose #5213 > > : rust.ref (rust.mut' (optionm'.option' process_child_stderr)) 00:03:56 verbose #5214 > > = 00:03:56 verbose #5215 > > !\($'"&mut !child.stderr"') 00:03:56 verbose #5216 > 00:03:56 debug #329 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/faa45ba11764487e53e6b8b38b6c03d39e28f6d0e9b4467d3328748ac948ce4b/main.spi 00:03:56 verbose #5217 > > 00:03:56 verbose #5218 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5219 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5220 > > │ ### process_child_stdout │ 00:03:56 verbose #5221 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5222 > > 00:03:56 verbose #5223 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5224 > > nominal process_child_stdout = 00:03:56 verbose #5225 > > `( 00:03:56 verbose #5226 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:56 verbose #5227 > > Fable.Core.Emit(\"std::process::ChildStdout\")>]]\n#endif\ntype 00:03:56 verbose #5228 > > std_process_ChildStdout = class end" 00:03:56 verbose #5229 > > $'' : $'std_process_ChildStdout' 00:03:56 verbose #5230 > > ) 00:03:56 verbose #5231 > > 00:03:56 verbose #5232 > > inl process_child_stdout 00:03:56 verbose #5233 > > (child : rust.ref (rust.mut' process_child)) 00:03:56 verbose #5234 > > : rust.ref (rust.mut' (optionm'.option' process_child_stdout)) 00:03:56 verbose #5235 > > = 00:03:56 verbose #5236 > > !\($'"&mut !child.stdout"') 00:03:56 verbose #5237 > 00:03:56 debug #330 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/50235c901770032869a1d7f820b6405285ee691f8e226882af1bf7b7c038f849/main.spi 00:03:56 verbose #5238 > > 00:03:56 verbose #5239 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5240 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5241 > > │ ### process_command │ 00:03:56 verbose #5242 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5243 > > 00:03:56 verbose #5244 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5245 > > nominal process_command = 00:03:56 verbose #5246 > > `( 00:03:56 verbose #5247 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:56 verbose #5248 > > Fable.Core.Emit(\"std::process::Command\")>]]\n#endif\ntype std_process_Command 00:03:56 verbose #5249 > > = class end" 00:03:56 verbose #5250 > > $'' : $'std_process_Command' 00:03:56 verbose #5251 > > ) 00:03:56 verbose #5252 > 00:03:56 debug #331 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/13a8628894b7093996192029d95dd7dedc33fcffd4ea046915c46e9507178af0/main.spi 00:03:56 verbose #5253 > > 00:03:56 verbose #5254 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:56 verbose #5255 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:56 verbose #5256 > > │ ### process_stdio │ 00:03:56 verbose #5257 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:56 verbose #5258 > > 00:03:56 verbose #5259 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:56 verbose #5260 > > nominal process_stdio = 00:03:56 verbose #5261 > > `( 00:03:56 verbose #5262 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:56 verbose #5263 > > Fable.Core.Emit(\"std::process::Stdio\")>]]\n#endif\ntype std_process_Stdio = 00:03:56 verbose #5264 > > class end" 00:03:56 verbose #5265 > > $'' : $'std_process_Stdio' 00:03:56 verbose #5266 > > ) 00:03:56 verbose #5267 > 00:03:56 debug #332 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5f6d62d7d6c8b11857eda2e9e78223e7a83ac9aa0f2e456d5f3471ac41dba416/main.spi 00:03:57 verbose #5268 > > 00:03:57 verbose #5269 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5270 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5271 > > │ ### process_output │ 00:03:57 verbose #5272 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5273 > > 00:03:57 verbose #5274 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5275 > > nominal process_output = 00:03:57 verbose #5276 > > `( 00:03:57 verbose #5277 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:57 verbose #5278 > > Fable.Core.Emit(\"std::process::Output\")>]]\n#endif\ntype std_process_Output = 00:03:57 verbose #5279 > > class end" 00:03:57 verbose #5280 > > $'' : $'std_process_Output' 00:03:57 verbose #5281 > > ) 00:03:57 verbose #5282 > 00:03:56 debug #333 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0fa7fad8ed173bdaddd9997cfa0e6d0b86418229d37042ac984b9c8eb5722e44/main.spi 00:03:57 verbose #5283 > > 00:03:57 verbose #5284 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5285 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5286 > > │ ### process_exit_status │ 00:03:57 verbose #5287 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5288 > > 00:03:57 verbose #5289 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5290 > > nominal process_exit_status = 00:03:57 verbose #5291 > > `( 00:03:57 verbose #5292 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:57 verbose #5293 > > Fable.Core.Emit(\"std::process::ExitStatus\")>]]\n#endif\ntype 00:03:57 verbose #5294 > > std_process_ExitStatus = class end" 00:03:57 verbose #5295 > > $'' : $'std_process_ExitStatus' 00:03:57 verbose #5296 > > ) 00:03:57 verbose #5297 > 00:03:56 debug #334 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0378ec1e733d1d437fc6dc9b6cf47f7f73373fbe6be5dc916c0e53125a63af0f/main.spi 00:03:57 verbose #5298 > > 00:03:57 verbose #5299 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5300 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5301 > > │ ### process_output_status │ 00:03:57 verbose #5302 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5303 > > 00:03:57 verbose #5304 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5305 > > inl process_output_status (output : process_output) : process_exit_status = 00:03:57 verbose #5306 > > !\\(output, $'"$0.status"') 00:03:57 verbose #5307 > 00:03:56 debug #335 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6b795287f13261dad847c25268f4c3e536456a499215c63a0d7ccd44e8bfa28b/main.spi 00:03:57 verbose #5308 > > 00:03:57 verbose #5309 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5310 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5311 > > │ ### process_exit_status_code │ 00:03:57 verbose #5312 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5313 > > 00:03:57 verbose #5314 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5315 > > inl process_exit_status_code (status : process_exit_status) : optionm'.option' 00:03:57 verbose #5316 > > i32 = 00:03:57 verbose #5317 > > !\\(status, $'"$0.code()"') 00:03:57 verbose #5318 > 00:03:56 debug #336 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/13f2aa84295d77d0d2fbb59d7f2659ac74d23e9a6a5bfe1b61d36784b66102b7/main.spi 00:03:57 verbose #5319 > > 00:03:57 verbose #5320 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5321 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5322 > > │ ### stdin_write_all │ 00:03:57 verbose #5323 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5324 > > 00:03:57 verbose #5325 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5326 > > inl stdin_write_all (stdin : threading.mutex_guard process_child_stdin) (text : 00:03:57 verbose #5327 > > string) : () = 00:03:57 verbose #5328 > > inl stream = text |> sm'.as_bytes 00:03:57 verbose #5329 > > inl stdin = join stdin 00:03:57 verbose #5330 > > (!\($'"true; let mut !stdin = !stdin"') : bool) |> ignore 00:03:57 verbose #5331 > > (!\\(stdin, $'"true; std::io::Write::write_all(&mut *$0, 00:03:57 verbose #5332 > > !stream).unwrap()"') : bool) |> ignore 00:03:57 verbose #5333 > 00:03:56 debug #337 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f2dea82f8401b9c414031e7376e954067e36fb2ff5acd83e734195a0c6667bca/main.spi 00:03:57 verbose #5334 > > 00:03:57 verbose #5335 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5336 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5337 > > │ ### stdin_flush │ 00:03:57 verbose #5338 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5339 > > 00:03:57 verbose #5340 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5341 > > inl stdin_flush (stdin : threading.mutex_guard process_child_stdin) : () = 00:03:57 verbose #5342 > > inl stdin = join stdin 00:03:57 verbose #5343 > > (!\($'"true; let mut !stdin = !stdin"') : bool) |> ignore 00:03:57 verbose #5344 > > (!\\(stdin, $'"true; std::io::Write::flush(&mut *$0).unwrap()"') : bool) |> 00:03:57 verbose #5345 > > ignore 00:03:57 verbose #5346 > 00:03:57 debug #338 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4229316d735a1b76be270e57fa2519c5e79eb5026b8a09deb1ca17234d3847e8/main.spi 00:03:57 verbose #5347 > > 00:03:57 verbose #5348 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5349 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5350 > > │ ### new_process_command │ 00:03:57 verbose #5351 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5352 > > 00:03:57 verbose #5353 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5354 > > inl new_process_command (file_name : string) : process_command = 00:03:57 verbose #5355 > > !\\(file_name, $'"std::process::Command::new(&*$0)"') 00:03:57 verbose #5356 > 00:03:57 debug #339 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0923887708af8dfd16504e42d5aee44b9e8fbfde101e61f36cd4478077780135/main.spi 00:03:57 verbose #5357 > > 00:03:57 verbose #5358 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5359 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5360 > > │ ### process_stdio_piped │ 00:03:57 verbose #5361 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5362 > > 00:03:57 verbose #5363 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5364 > > inl process_stdio_piped () : process_stdio = 00:03:57 verbose #5365 > > !\($'"std::process::Stdio::piped()"') 00:03:57 verbose #5366 > 00:03:57 debug #340 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bbb9da7d062c4147726d9036d81a78108f9540624e58de31ed341a80ef6bec52/main.spi 00:03:57 verbose #5367 > > 00:03:57 verbose #5368 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5369 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5370 > > │ ### process_command_args │ 00:03:57 verbose #5371 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5372 > > 00:03:57 verbose #5373 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5374 > > inl process_command_args (args : am'.vec sm'.std_string) (c : process_command) : 00:03:57 verbose #5375 > > rust.ref (rust.mut' process_command) = 00:03:57 verbose #5376 > > (!\($'"true; let mut !c = !c"') : bool) |> ignore 00:03:57 verbose #5377 > > !\\((c, args), $'"std::process::Command::args(&mut $0, &*$1)"') 00:03:57 verbose #5378 > 00:03:57 debug #341 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e7c2fa6410623fa475b27f416776d8b27d857be1047fa14947a3b2b1b8591b5f/main.spi 00:03:57 verbose #5379 > > 00:03:57 verbose #5380 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5381 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5382 > > │ ### process_command_stdout │ 00:03:57 verbose #5383 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5384 > > 00:03:57 verbose #5385 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5386 > > inl process_command_stdout (stdio : process_stdio) (c : rust.ref (rust.mut' 00:03:57 verbose #5387 > > process_command)) : rust.ref (rust.mut' process_command) = 00:03:57 verbose #5388 > > !\\(c, $'"std::process::Command::stdout($0, std::process::Stdio::piped())"') 00:03:57 verbose #5389 > 00:03:57 debug #342 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a2b329382147694f02abb95460ff9cc57917f6c099b82adba5f508a621bcb0a6/main.spi 00:03:57 verbose #5390 > > 00:03:57 verbose #5391 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:57 verbose #5392 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:57 verbose #5393 > > │ ### process_command_stderr │ 00:03:57 verbose #5394 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:57 verbose #5395 > > 00:03:57 verbose #5396 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:57 verbose #5397 > > inl process_command_stderr (stdio : process_stdio) (c : rust.ref (rust.mut' 00:03:57 verbose #5398 > > process_command)) : rust.ref (rust.mut' process_command) = 00:03:57 verbose #5399 > > !\\(c, $'"std::process::Command::stderr($0, std::process::Stdio::piped())"') 00:03:57 verbose #5400 > 00:03:57 debug #343 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a1b0df31b683871d43726fc951c549690ceaeab99c4c5fe90cf747cb57beaee2/main.spi 00:03:58 verbose #5401 > > 00:03:58 verbose #5402 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:58 verbose #5403 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:58 verbose #5404 > > │ ### process_command_stdin │ 00:03:58 verbose #5405 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:58 verbose #5406 > > 00:03:58 verbose #5407 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:58 verbose #5408 > > inl process_command_stdin (stdio : process_stdio) (c : rust.ref (rust.mut' 00:03:58 verbose #5409 > > process_command)) : rust.ref (rust.mut' process_command) = 00:03:58 verbose #5410 > > !\\(c, $'"std::process::Command::stdin($0, std::process::Stdio::piped())"') 00:03:58 verbose #5411 > 00:03:57 debug #344 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a5ec26843ca7702bc073a34962459a9850c1ca01f41d99cfd8f05df0fb2198fb/main.spi 00:03:58 verbose #5412 > > 00:03:58 verbose #5413 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:58 verbose #5414 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:58 verbose #5415 > > │ ### process_command_current_dir │ 00:03:58 verbose #5416 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:58 verbose #5417 > > 00:03:58 verbose #5418 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:58 verbose #5419 > > inl process_command_current_dir 00:03:58 verbose #5420 > > (dir : string) 00:03:58 verbose #5421 > > (c : rust.ref (rust.mut' process_command)) 00:03:58 verbose #5422 > > : rust.ref (rust.mut' process_command) 00:03:58 verbose #5423 > > = 00:03:58 verbose #5424 > > !\\(dir, $'"std::process::Command::current_dir(!c, &*$0)"') 00:03:58 verbose #5425 > 00:03:57 debug #345 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e5400296f534572a7cef25bafc46a4881e6f61df374e21ce1d62af5f9ebb1803/main.spi 00:03:58 verbose #5426 > > 00:03:58 verbose #5427 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:58 verbose #5428 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:58 verbose #5429 > > │ ### process_command_env │ 00:03:58 verbose #5430 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:58 verbose #5431 > > 00:03:58 verbose #5432 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:58 verbose #5433 > > inl process_command_env 00:03:58 verbose #5434 > > (key : string) 00:03:58 verbose #5435 > > (value : string) 00:03:58 verbose #5436 > > (c : rust.ref (rust.mut' process_command)) 00:03:58 verbose #5437 > > : rust.ref (rust.mut' process_command) 00:03:58 verbose #5438 > > = 00:03:58 verbose #5439 > > !\\((key, value), $'"std::process::Command::env(!c, &*$0, &*$1)"') 00:03:58 verbose #5440 > 00:03:57 debug #346 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/57861f7d73e60cf115d921713fb8fc2eb330ad93b316888f60d23d9e32e71153/main.spi 00:03:58 verbose #5441 > > 00:03:58 verbose #5442 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:58 verbose #5443 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:58 verbose #5444 > > │ ### process_command_spawn │ 00:03:58 verbose #5445 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:58 verbose #5446 > > 00:03:58 verbose #5447 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:58 verbose #5448 > > inl process_command_spawn 00:03:58 verbose #5449 > > (c : rust.ref (rust.mut' process_command)) 00:03:58 verbose #5450 > > : resultm.result' process_child stream.io_error 00:03:58 verbose #5451 > > = 00:03:58 verbose #5452 > > !\\(c, $'"std::process::Command::spawn($0)"') 00:03:58 verbose #5453 > 00:03:57 debug #347 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc5284ea542706f90c9c9761a6d62f6d93c6a00da7809b4c23f385d65dc388fa/main.spi 00:03:58 verbose #5454 > > 00:03:58 verbose #5455 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:58 verbose #5456 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:58 verbose #5457 > > │ ### child_wait_with_output │ 00:03:58 verbose #5458 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:58 verbose #5459 > > 00:03:58 verbose #5460 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:58 verbose #5461 > > inl child_wait_with_output 00:03:58 verbose #5462 > > (child : process_child) 00:03:58 verbose #5463 > > : resultm.result' process_output stream.io_error 00:03:58 verbose #5464 > > = 00:03:58 verbose #5465 > > !\\(child, $'"$0.wait_with_output()"') 00:03:58 verbose #5466 > 00:03:57 debug #348 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/837a3e07d4fef0aafa1ce034855caeb4e7c7576818b7b6b435460a5a6c8d2860/main.spi 00:03:58 verbose #5467 > > 00:03:58 verbose #5468 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:58 verbose #5469 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:58 verbose #5470 > > │ ### stdio_line │ 00:03:58 verbose #5471 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:58 verbose #5472 > > 00:03:58 verbose #5473 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:58 verbose #5474 > > inl stdio_line 00:03:58 verbose #5475 > > (stdio : result () ()) 00:03:58 verbose #5476 > > (trace' : bool) 00:03:58 verbose #5477 > > (channel_sender : threading.arc (threading.mutex (threading.channel_sender 00:03:58 verbose #5478 > > sm'.std_string))) 00:03:58 verbose #5479 > > (line : resultm.result' sm'.std_string stream.io_error) 00:03:58 verbose #5480 > > : resultm.result' () sm'.std_string 00:03:58 verbose #5481 > > = 00:03:58 verbose #5482 > > inl highlight text = 00:03:58 verbose #5483 > > $'$"\\u001b[[4;7m{!text}\\u001b[[0m"' 00:03:58 verbose #5484 > > inl line = 00:03:58 verbose #5485 > > match 00:03:58 verbose #5486 > > line 00:03:58 verbose #5487 > > |> resultm.map_error' sm'.format' 00:03:58 verbose #5488 > > |> resultm.unbox' 00:03:58 verbose #5489 > > with 00:03:58 verbose #5490 > > | Ok line => 00:03:58 verbose #5491 > > inl line = 00:03:58 verbose #5492 > > line 00:03:58 verbose #5493 > > |> sm'.from_std_string 00:03:58 verbose #5494 > > // |> sm'.as_bytes 00:03:58 verbose #5495 > > // |> am'.slice_to_vec 00:03:58 verbose #5496 > > |> sm'.encoding_encode' (sm'.encoding_utf8' ()) 00:03:58 verbose #5497 > > |> rust.cow_as_ref 00:03:58 verbose #5498 > > |> sm'.str_from_utf8 00:03:58 verbose #5499 > > // |> sm'.utf8_decode 00:03:58 verbose #5500 > > |> resultm.unwrap' 00:03:58 verbose #5501 > > |> sm'.ref_to_std_string 00:03:58 verbose #5502 > > // String::from_utf8_lossy(line.as_bytes()).into() 00:03:58 verbose #5503 > > inl line_log = line |> sm'.from_std_string 00:03:58 verbose #5504 > > inl text = 00:03:58 verbose #5505 > > match stdio with 00:03:58 verbose #5506 > > | Ok () => $'$"> {!line_log}"' 00:03:58 verbose #5507 > > | Error () => $'$"\! {!line_log}"' 00:03:58 verbose #5508 > > if trace' 00:03:58 verbose #5509 > > then trace Verbose (fun () => text) id 00:03:58 verbose #5510 > > else text |> console.write_line 00:03:58 verbose #5511 > > match stdio with 00:03:58 verbose #5512 > > | Ok () => line 00:03:58 verbose #5513 > > | Error () => line |> highlight |> sm'.to_std_string 00:03:58 verbose #5514 > > | Error e => 00:03:58 verbose #5515 > > trace Critical 00:03:58 verbose #5516 > > fun () => $'$"runtime.stdio_line"' 00:03:58 verbose #5517 > > fun () => { e } 00:03:58 verbose #5518 > > e |> highlight |> sm'.to_std_string 00:03:58 verbose #5519 > > channel_sender 00:03:58 verbose #5520 > > |> threading.arc_mutex_lock 00:03:58 verbose #5521 > > |> resultm.unwrap' 00:03:58 verbose #5522 > > |> threading.mutex_guard_ref 00:03:58 verbose #5523 > > |> threading.channel_send line 00:03:58 verbose #5524 > > |> resultm.map_error' sm'.format' 00:03:58 verbose #5525 > 00:03:58 debug #349 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5806a817bb1e3b7fa14ecb28aca3e264c1f76df033fe7c506de9717de1852201/main.spi 00:03:59 verbose #5526 > > 00:03:59 verbose #5527 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:59 verbose #5528 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:59 verbose #5529 > > │ ### command │ 00:03:59 verbose #5530 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:59 verbose #5531 > > 00:03:59 verbose #5532 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:59 verbose #5533 > > nominal command = 00:03:59 verbose #5534 > > `( 00:03:59 verbose #5535 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:03:59 verbose #5536 > > Fable.Core.Emit(\"clap::Command\")>]]\n#endif\ntype clap_Command = class end" 00:03:59 verbose #5537 > > $'' : $'clap_Command' 00:03:59 verbose #5538 > > ) 00:03:59 verbose #5539 > 00:03:58 debug #350 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/382a1ee852b6b538edd4cb39d732b6c8385e7fbea0680c221d847b240dc1a769/main.spi 00:03:59 verbose #5540 > > 00:03:59 verbose #5541 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:03:59 verbose #5542 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:03:59 verbose #5543 > > │ ### new_command │ 00:03:59 verbose #5544 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:03:59 verbose #5545 > > 00:03:59 verbose #5546 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:59 verbose #5547 > > inl new_command (s : rust.static_ref sm'.str) : command = 00:03:59 verbose #5548 > > !\\(s, $'"clap::Command::new($0)"') 00:03:59 verbose #5549 > 00:03:58 debug #351 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b5e93620535b20cca90ca19433c638e51634c48d7f9b722a4e1b7475a0fa7520/main.spi 00:03:59 verbose #5550 > > 00:03:59 verbose #5551 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:03:59 verbose #5552 > > //// test 00:03:59 verbose #5553 > > ///! rust -d clap 00:03:59 verbose #5554 > > 00:03:59 verbose #5555 > > ##"command" 00:03:59 verbose #5556 > > |> new_command 00:03:59 verbose #5557 > > |> sm'.format_pretty' 00:03:59 verbose #5558 > > |> sm'.from_std_string 00:03:59 verbose #5559 > > |> _assert_string_contains "\"command\"" 00:03:59 verbose #5560 > 00:03:58 debug #352 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f629fc43676ac72ef7d452e6dc3b86cbde0a2bacc7ada1d8ff6cc4f671efa85d/main.spi 00:04:06 verbose #5561 > > 00:04:06 verbose #5562 > > ╭─[ 7.16s - return value ]─────────────────────────────────────────────────────╮ 00:04:06 verbose #5563 > > │ assert_string_contains / actual: ""command"" / expected: "Command { │ 00:04:06 verbose #5564 > > │ name: "command", │ 00:04:06 verbose #5565 > > │ long_flag: None, │ 00:04:06 verbose #5566 > > │ short_flag: None, │ 00:04:06 verbose #5567 > > │ display_name: None, │ 00:04:06 verbose #5568 > > │ bin_name: None, │ 00:04:06 verbose #5569 > > │ author: None, │ 00:04:06 verbose #5570 > > │ version: None, │ 00:04:06 verbose #5571 > > │ long_version: None, │ 00:04:06 verbose #5572 > > │ about: None, │ 00:04:06 verbose #5573 > > │ long_about: None, │ 00:04:06 verbose #5574 > > │ before_help: None, │ 00:04:06 verbose #5575 > > │ before_long_help: None, │ 00:04:06 verbose #5576 > > │ after_help: None, │ 00:04:06 verbose #5577 > > │ after_long_help: None, │ 00:04:06 verbose #5578 > > │ aliases: [], │ 00:04:06 verbose #5579 > > │ short_flag_aliases: [], │ 00:04:06 verbose #5580 > > │ long_flag_aliases: [], │ 00:04:06 verbose #5581 > > │ usage_str: None, │ 00:04:06 verbose #5582 > > │ usage_name: None, │ 00:04:06 verbose #5583 > > │ help_str: None, │ 00:04:06 verbose #5584 > > │ disp_ord: None, │ 00:04:06 verbose #5585 > > │ template: None, │ 00:04:06 verbose #5586 > > │ settings: AppFlags( │ 00:04:06 verbose #5587 > > │ 0, │ 00:04:06 verbose #5588 > > │ ), │ 00:04:06 verbose #5589 > > │ g_settings: AppFlags( │ 00:04:06 verbose #5590 > > │ 0, │ 00:04:06 verbose #5591 > > │ ), │ 00:04:06 verbose #5592 > > │ args: MKeyMap { │ 00:04:06 verbose #5593 > > │ args: [], │ 00:04:06 verbose #5594 > > │ keys: [], │ 00:04:06 verbose #5595 > > │ }, │ 00:04:06 verbose #5596 > > │ subcommands: [], │ 00:04:06 verbose #5597 > > │ groups: [], │ 00:04:06 verbose #5598 > > │ current_help_heading: None, │ 00:04:06 verbose #5599 > > │ current_disp_ord: Some( │ 00:04:06 verbose #5600 > > │ 0, │ 00:04:06 verbose #5601 > > │ ), │ 00:04:06 verbose #5602 > > │ subcommand_value_name: None, │ 00:04:06 verbose #5603 > > │ subcommand_heading: None, │ 00:04:06 verbose #5604 > > │ external_value_parser: None, │ 00:04:06 verbose #5605 > > │ long_help_exists: false, │ 00:04:06 verbose #5606 > > │ deferred: None, │ 00:04:06 verbose #5607 > > │ app_ext: Extensions { │ 00:04:06 verbose #5608 > > │ extensions: FlatMap { │ 00:04:06 verbose #5609 > > │ keys: [], │ 00:04:06 verbose #5610 > > │ values: [], │ 00:04:06 verbose #5611 > > │ }, │ 00:04:06 verbose #5612 > > │ }, │ 00:04:06 verbose #5613 > > │ }" │ 00:04:06 verbose #5614 > > │ │ 00:04:06 verbose #5615 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:06 verbose #5616 > > 00:04:06 verbose #5617 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:06 verbose #5618 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:06 verbose #5619 > > │ ### arg │ 00:04:06 verbose #5620 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:06 verbose #5621 > > 00:04:06 verbose #5622 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:06 verbose #5623 > > nominal arg = 00:04:06 verbose #5624 > > `( 00:04:06 verbose #5625 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:04:06 verbose #5626 > > Fable.Core.Emit(\"clap::Arg\")>]]\n#endif\ntype clap_Arg = class end" 00:04:06 verbose #5627 > > $'' : $'clap_Arg' 00:04:06 verbose #5628 > > ) 00:04:06 verbose #5629 > 00:04:05 debug #353 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eb16253576fd49cb998f6ce786fb7ff0dc6504f2c0f23a5d4177ca18f428b050/main.spi 00:04:06 verbose #5630 > > 00:04:06 verbose #5631 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:06 verbose #5632 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:06 verbose #5633 > > │ ### new_arg │ 00:04:06 verbose #5634 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:06 verbose #5635 > > 00:04:06 verbose #5636 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:06 verbose #5637 > > inl new_arg (s : rust.static_ref sm'.str) : arg = 00:04:06 verbose #5638 > > !\\(s, $'"clap::Arg::new($0)"') 00:04:06 verbose #5639 > 00:04:06 debug #354 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cff680a3e3bd092546e9bef91b45e92a14d8547bb0efaaa05eb2a2c598ae3b48/main.spi 00:04:06 verbose #5640 > > 00:04:06 verbose #5641 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:06 verbose #5642 > > //// test 00:04:06 verbose #5643 > > ///! rust -d clap 00:04:06 verbose #5644 > > 00:04:06 verbose #5645 > > ##"arg" 00:04:06 verbose #5646 > > |> new_arg 00:04:06 verbose #5647 > > |> sm'.format_pretty' 00:04:06 verbose #5648 > > |> sm'.from_std_string 00:04:06 verbose #5649 > > |> _assert_string_contains "\"arg\"" 00:04:06 verbose #5650 > 00:04:06 debug #355 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/682147adf1172895c1f10da6dea8c2dee7bfefb7e87770c19bdaf248410d6a5c/main.spi 00:04:13 verbose #5651 > > 00:04:13 verbose #5652 > > ╭─[ 7.15s - return value ]─────────────────────────────────────────────────────╮ 00:04:13 verbose #5653 > > │ assert_string_contains / actual: ""arg"" / expected: "Arg { │ 00:04:13 verbose #5654 > > │ id: "arg", │ 00:04:13 verbose #5655 > > │ help: None, │ 00:04:13 verbose #5656 > > │ long_help: None, │ 00:04:13 verbose #5657 > > │ action: None, │ 00:04:13 verbose #5658 > > │ value_parser: None, │ 00:04:13 verbose #5659 > > │ blacklist: [], │ 00:04:13 verbose #5660 > > │ settings: ArgFlags( │ 00:04:13 verbose #5661 > > │ 0, │ 00:04:13 verbose #5662 > > │ ), │ 00:04:13 verbose #5663 > > │ overrides: [], │ 00:04:13 verbose #5664 > > │ groups: [], │ 00:04:13 verbose #5665 > > │ requires: [], │ 00:04:13 verbose #5666 > > │ r_ifs: [], │ 00:04:13 verbose #5667 > > │ r_unless: [], │ 00:04:13 verbose #5668 > > │ short: None, │ 00:04:13 verbose #5669 > > │ long: None, │ 00:04:13 verbose #5670 > > │ aliases: [], │ 00:04:13 verbose #5671 > > │ short_aliases: [], │ 00:04:13 verbose #5672 > > │ disp_ord: None, │ 00:04:13 verbose #5673 > > │ val_names: [], │ 00:04:13 verbose #5674 > > │ num_vals: None, │ 00:04:13 verbose #5675 > > │ val_delim: None, │ 00:04:13 verbose #5676 > > │ default_vals: [], │ 00:04:13 verbose #5677 > > │ default_vals_ifs: [], │ 00:04:13 verbose #5678 > > │ terminator: None, │ 00:04:13 verbose #5679 > > │ index: None, │ 00:04:13 verbose #5680 > > │ help_heading: None, │ 00:04:13 verbose #5681 > > │ value_hint: None, │ 00:04:13 verbose #5682 > > │ default_missing_vals: [], │ 00:04:13 verbose #5683 > > │ }" │ 00:04:13 verbose #5684 > > │ │ 00:04:13 verbose #5685 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:13 verbose #5686 > > 00:04:13 verbose #5687 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:13 verbose #5688 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:13 verbose #5689 > > │ ### command_arg │ 00:04:13 verbose #5690 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:13 verbose #5691 > > 00:04:13 verbose #5692 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:13 verbose #5693 > > inl command_arg (arg : arg) (command : command) : command = 00:04:13 verbose #5694 > > !\\((command, arg), $'"clap::Command::arg($0, $1)"') 00:04:13 verbose #5695 > 00:04:13 debug #356 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f8fc01bc86166dd3369f1708a1235b30ec27ff023768c95e77f5abb37d7540e0/main.spi 00:04:13 verbose #5696 > > 00:04:13 verbose #5697 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:13 verbose #5698 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:13 verbose #5699 > > │ ### arg_required │ 00:04:13 verbose #5700 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:13 verbose #5701 > > 00:04:13 verbose #5702 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:13 verbose #5703 > > inl arg_required (value : bool) (arg : arg) : arg = 00:04:13 verbose #5704 > > !\\((arg, value), $'"$0.required($1)"') 00:04:13 verbose #5705 > 00:04:13 debug #357 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f7c1fd954955f4903bd0e405ce72fb76b0791c3c19c5c8eb9650b880b614a8af/main.spi 00:04:13 verbose #5706 > > 00:04:13 verbose #5707 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:13 verbose #5708 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:13 verbose #5709 > > │ ### arg_short │ 00:04:13 verbose #5710 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:13 verbose #5711 > > 00:04:13 verbose #5712 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:13 verbose #5713 > > inl arg_short (value : char) (arg : arg) : arg = 00:04:13 verbose #5714 > > !\\((arg, value), $'"$0.short($1)"') 00:04:13 verbose #5715 > 00:04:13 debug #358 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d28bf76d5b97665ce459b10d15a08891a045b98b5e380fb79b896e041f544a3e/main.spi 00:04:14 verbose #5716 > > 00:04:14 verbose #5717 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5718 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5719 > > │ ### arg_long │ 00:04:14 verbose #5720 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5721 > > 00:04:14 verbose #5722 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5723 > > inl arg_long (value : rust.static_ref sm'.str) (arg : arg) : arg = 00:04:14 verbose #5724 > > !\\((arg, value), $'"$0.long($1)"') 00:04:14 verbose #5725 > 00:04:13 debug #359 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eef4042314791b0ebe639b45a43dacc0dd09d7f2accf5c61303883a7cc6fa7d9/main.spi 00:04:14 verbose #5726 > > 00:04:14 verbose #5727 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5728 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5729 > > │ ### arg_value_names │ 00:04:14 verbose #5730 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5731 > > 00:04:14 verbose #5732 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5733 > > inl arg_value_names (values : array_base (rust.static_ref sm'.str)) (arg : arg) 00:04:14 verbose #5734 > > : arg = 00:04:14 verbose #5735 > > inl values = values |> am'.to_vec 00:04:14 verbose #5736 > > !\\((arg, values), $'"$0.value_names($1)"') 00:04:14 verbose #5737 > 00:04:13 debug #360 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/83d2069253eba91c2b921522d311b3e6acd05cb9931773eb7718ec05f52c39fd/main.spi 00:04:14 verbose #5738 > > 00:04:14 verbose #5739 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5740 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5741 > > │ ### arg_num_args │ 00:04:14 verbose #5742 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5743 > > 00:04:14 verbose #5744 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5745 > > inl arg_num_args (value : i32) (arg : arg) : arg = 00:04:14 verbose #5746 > > !\\((arg, value), $'"$0.num_args($1)"') 00:04:14 verbose #5747 > 00:04:13 debug #361 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e7fd9a9b75d7aa090a18019db8e1faa22cec2037157b9f39be4ae3792d7360cb/main.spi 00:04:14 verbose #5748 > > 00:04:14 verbose #5749 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5750 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5751 > > │ ### value_range │ 00:04:14 verbose #5752 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5753 > > 00:04:14 verbose #5754 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5755 > > nominal value_range = 00:04:14 verbose #5756 > > `( 00:04:14 verbose #5757 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:04:14 verbose #5758 > > Fable.Core.Emit(\"clap::builder::ValueRange\")>]]\n#endif\ntype 00:04:14 verbose #5759 > > clap_builder_ValueRange = class end" 00:04:14 verbose #5760 > > $'' : $'clap_builder_ValueRange' 00:04:14 verbose #5761 > > ) 00:04:14 verbose #5762 > 00:04:13 debug #362 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4f1cd5d343c15779fe9e4922f29a717473d1fdd8021a5c07440b6745931dcac1/main.spi 00:04:14 verbose #5763 > > 00:04:14 verbose #5764 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5765 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5766 > > │ ### new_value_range │ 00:04:14 verbose #5767 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5768 > > 00:04:14 verbose #5769 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5770 > > inl new_value_range start end : value_range = 00:04:14 verbose #5771 > > inl len = 0i32 |> convert 00:04:14 verbose #5772 > > inl start, end = 00:04:14 verbose #5773 > > open am' 00:04:14 verbose #5774 > > match start, end with 00:04:14 verbose #5775 > > | Start start, End fn => 00:04:14 verbose #5776 > > start, len |> fn 00:04:14 verbose #5777 > > | End start_fn, End end_fn => 00:04:14 verbose #5778 > > start_fn len, end_fn len 00:04:14 verbose #5779 > > match start, end with 00:04:14 verbose #5780 > > | start, end when end =. len => 00:04:14 verbose #5781 > > !\($'"clap::builder::ValueRange::new(!start..)"') 00:04:14 verbose #5782 > > | start, end => !\($'"clap::builder::ValueRange::new(!start..!end)"') 00:04:14 verbose #5783 > 00:04:13 debug #363 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/efca1aaadb5cf4a0471e9c4583ce97299a5ef342e6eca9cbf15e7466a020a243/main.spi 00:04:14 verbose #5784 > > 00:04:14 verbose #5785 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5786 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5787 > > │ ### arg_num_args_range │ 00:04:14 verbose #5788 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5789 > > 00:04:14 verbose #5790 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5791 > > inl arg_num_args_range (value : value_range) (arg : arg) : arg = 00:04:14 verbose #5792 > > !\\((arg, value), $'"$0.num_args($1)"') 00:04:14 verbose #5793 > 00:04:14 debug #364 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8f0aa6b5fadb7c88d27ec84af14b0c4838a70eaa38c3c405386ad4893496ecc7/main.spi 00:04:14 verbose #5794 > > 00:04:14 verbose #5795 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5796 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5797 > > │ ### arg_value_name │ 00:04:14 verbose #5798 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5799 > > 00:04:14 verbose #5800 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5801 > > inl arg_value_name (value : string) (arg : arg) : arg = 00:04:14 verbose #5802 > > inl value = value |> sm'.as_str 00:04:14 verbose #5803 > > !\\((arg, value), $'"$0.value_name($1)"') 00:04:14 verbose #5804 > 00:04:14 debug #365 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/73425e5e5c4a050bdb7f495ee7837d1b4070080a797da2a42add01f322454c7d/main.spi 00:04:14 verbose #5805 > > 00:04:14 verbose #5806 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5807 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5808 > > │ ### value_parser │ 00:04:14 verbose #5809 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5810 > > 00:04:14 verbose #5811 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5812 > > nominal value_parser = 00:04:14 verbose #5813 > > `( 00:04:14 verbose #5814 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:04:14 verbose #5815 > > Fable.Core.Emit(\"clap::builder::ValueParser\")>]]\n#endif\ntype 00:04:14 verbose #5816 > > clap_builder_ValueParser = class end" 00:04:14 verbose #5817 > > $'' : $'clap_builder_ValueParser' 00:04:14 verbose #5818 > > ) 00:04:14 verbose #5819 > 00:04:14 debug #366 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9cbf8e5b69571c9fa5900ed1e3ce3a054b495b86b28cde0269d50512c14b63c7/main.spi 00:04:14 verbose #5820 > > 00:04:14 verbose #5821 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5822 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5823 > > │ ### possible_value │ 00:04:14 verbose #5824 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5825 > > 00:04:14 verbose #5826 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5827 > > nominal possible_value = 00:04:14 verbose #5828 > > `( 00:04:14 verbose #5829 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:04:14 verbose #5830 > > Fable.Core.Emit(\"clap::builder::PossibleValue\")>]]\n#endif\ntype 00:04:14 verbose #5831 > > clap_builder_PossibleValue = class end" 00:04:14 verbose #5832 > > $'' : $'clap_builder_PossibleValue' 00:04:14 verbose #5833 > > ) 00:04:14 verbose #5834 > 00:04:14 debug #367 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aa0adecfab53fd1fa19f7d643421f27344ccb2275d2842a6f55ac9fdfd5aa479/main.spi 00:04:14 verbose #5835 > > 00:04:14 verbose #5836 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5837 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5838 > > │ ### new_possible_value │ 00:04:14 verbose #5839 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5840 > > 00:04:14 verbose #5841 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5842 > > inl new_possible_value forall t. (x : t) : possible_value = 00:04:14 verbose #5843 > > !\\(x, $'"clap::builder::PossibleValue::new(&**$0)"') 00:04:14 verbose #5844 > 00:04:14 debug #368 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/361889670a412cea3dc5628c40857de2b62563d6b954818f9e49d7f323ff16bb/main.spi 00:04:14 verbose #5845 > > 00:04:14 verbose #5846 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:14 verbose #5847 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:14 verbose #5848 > > │ ### value_parser_path_buf │ 00:04:14 verbose #5849 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:14 verbose #5850 > > 00:04:14 verbose #5851 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:14 verbose #5852 > > inl value_parser_path_buf () : value_parser = 00:04:14 verbose #5853 > > !\($'"clap::value_parser\!(std::path::PathBuf)"') 00:04:14 verbose #5854 > 00:04:14 debug #369 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77a1dbe65d6395d1bc70bb9dc50226b54cf7fb0dc3cae3dee509f29f98fee58a/main.spi 00:04:15 verbose #5855 > > 00:04:15 verbose #5856 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5857 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5858 > > │ ### value_parser_expr │ 00:04:15 verbose #5859 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5860 > > 00:04:15 verbose #5861 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5862 > > inl value_parser_expr (expr : string) : value_parser = 00:04:15 verbose #5863 > > !\($'"clap::value_parser\!(" + !expr + ").into()"') 00:04:15 verbose #5864 > 00:04:14 debug #370 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5f652df744c03a21fb79d4409ca1735a6da203abfa668c475c6d63abca91c310/main.spi 00:04:15 verbose #5865 > > 00:04:15 verbose #5866 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5867 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5868 > > │ ### arg_value_parser │ 00:04:15 verbose #5869 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5870 > > 00:04:15 verbose #5871 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5872 > > inl arg_value_parser (values : value_parser) (arg : arg) : arg = 00:04:15 verbose #5873 > > !\\((arg, values), $'"$0.value_parser($1)"') 00:04:15 verbose #5874 > 00:04:14 debug #371 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f3f3ce2be6ae619fc24336c2ab0c50d4f8387e425e05855a9d1f7aec0a6dd7b6/main.spi 00:04:15 verbose #5875 > > 00:04:15 verbose #5876 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5877 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5878 > > │ ### arg_action │ 00:04:15 verbose #5879 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5880 > > 00:04:15 verbose #5881 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5882 > > nominal arg_action' = 00:04:15 verbose #5883 > > `( 00:04:15 verbose #5884 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:04:15 verbose #5885 > > Fable.Core.Emit(\"clap::ArgAction\")>]]\n#endif\ntype clap_ArgAction = class 00:04:15 verbose #5886 > > end" 00:04:15 verbose #5887 > > $'' : $'clap_ArgAction' 00:04:15 verbose #5888 > > ) 00:04:15 verbose #5889 > > 00:04:15 verbose #5890 > > union arg_action = 00:04:15 verbose #5891 > > | Set 00:04:15 verbose #5892 > > | Append 00:04:15 verbose #5893 > > | SetTrue 00:04:15 verbose #5894 > > | SetFalse 00:04:15 verbose #5895 > > | Count 00:04:15 verbose #5896 > > | Help 00:04:15 verbose #5897 > > | HelpShort 00:04:15 verbose #5898 > > | HelpLong 00:04:15 verbose #5899 > > | Version 00:04:15 verbose #5900 > > 00:04:15 verbose #5901 > > inl arg_action = function 00:04:15 verbose #5902 > > | Set => !\($'"clap::ArgAction::Set"') : arg_action' 00:04:15 verbose #5903 > > | Append => !\($'"clap::ArgAction::Append"') : arg_action' 00:04:15 verbose #5904 > > | SetTrue => !\($'"clap::ArgAction::SetTrue"') : arg_action' 00:04:15 verbose #5905 > > | SetFalse => !\($'"clap::ArgAction::SetFalse"') : arg_action' 00:04:15 verbose #5906 > > | Count => !\($'"clap::ArgAction::Count"') : arg_action' 00:04:15 verbose #5907 > > | Help => !\($'"clap::ArgAction::Help"') : arg_action' 00:04:15 verbose #5908 > > | HelpShort => !\($'"clap::ArgAction::HelpShort"') : arg_action' 00:04:15 verbose #5909 > > | HelpLong => !\($'"clap::ArgAction::HelpLong"') : arg_action' 00:04:15 verbose #5910 > > | Version => !\($'"clap::ArgAction::Version"') : arg_action' 00:04:15 verbose #5911 > > 00:04:15 verbose #5912 > > inl arg_action (value : arg_action) (arg : arg) : arg = 00:04:15 verbose #5913 > > inl value = value |> arg_action 00:04:15 verbose #5914 > > !\\((arg, value), $'"$0.action($1)"') 00:04:15 verbose #5915 > 00:04:14 debug #372 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d44754ec6a13ba83f153a958d4626d49f51870b617d80a53b900d660fecd5296/main.spi 00:04:15 verbose #5916 > > 00:04:15 verbose #5917 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5918 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5919 > > │ ### arg_index │ 00:04:15 verbose #5920 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5921 > > 00:04:15 verbose #5922 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5923 > > inl arg_index (value : i32) (arg : arg) : arg = 00:04:15 verbose #5924 > > !\\((arg, value), $'"$0.index($1)"') 00:04:15 verbose #5925 > 00:04:14 debug #373 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44a062575c29e4401c08ff49ace8176e7fee12b693c599471cbcb2f69b4744c9/main.spi 00:04:15 verbose #5926 > > 00:04:15 verbose #5927 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5928 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5929 > > │ ### arg_matches │ 00:04:15 verbose #5930 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5931 > > 00:04:15 verbose #5932 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5933 > > nominal arg_matches = 00:04:15 verbose #5934 > > `( 00:04:15 verbose #5935 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:04:15 verbose #5936 > > Fable.Core.Emit(\"clap::ArgMatches\")>]]\n#endif\ntype clap_ArgMatches = class 00:04:15 verbose #5937 > > end" 00:04:15 verbose #5938 > > $'' : $'clap_ArgMatches' 00:04:15 verbose #5939 > > ) 00:04:15 verbose #5940 > 00:04:15 debug #374 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6c2f583650fb0342903e62a6906a7b4e0fd406588209ba9c7b8d099e0ba157d2/main.spi 00:04:15 verbose #5941 > > 00:04:15 verbose #5942 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5943 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5944 > > │ ### command_get_matches │ 00:04:15 verbose #5945 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5946 > > 00:04:15 verbose #5947 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5948 > > inl command_get_matches (command : command) : arg_matches = 00:04:15 verbose #5949 > > !\\(command, $'"clap::Command::get_matches($0)"') 00:04:15 verbose #5950 > 00:04:15 debug #375 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2175b3e56a8a94f1656bf21cc7a5dfea80cfd5003d6af5d0f4bc19eb92d1b70c/main.spi 00:04:15 verbose #5951 > > 00:04:15 verbose #5952 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5953 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5954 > > │ ### command_get_matches_from │ 00:04:15 verbose #5955 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5956 > > 00:04:15 verbose #5957 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5958 > > inl command_get_matches_from (args : array_base string) (command : command) : 00:04:15 verbose #5959 > > arg_matches = 00:04:15 verbose #5960 > > inl args = args |> am'.to_vec |> am'.vec_map sm'.to_std_string 00:04:15 verbose #5961 > > !\\(command, $'"clap::Command::get_matches_from($0, !args)"') 00:04:15 verbose #5962 > 00:04:15 debug #376 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bc2d5bb7f5988f1b3298650658a8b4957185d0762645979888720e9f1ce35a53/main.spi 00:04:15 verbose #5963 > > 00:04:15 verbose #5964 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5965 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5966 > > │ ### command_init_arg │ 00:04:15 verbose #5967 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5968 > > 00:04:15 verbose #5969 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5970 > > inl command_init_arg (long, short) fn command = 00:04:15 verbose #5971 > > command 00:04:15 verbose #5972 > > |> command_arg ( 00:04:15 verbose #5973 > > new_arg ##long 00:04:15 verbose #5974 > > |> arg_short short 00:04:15 verbose #5975 > > |> arg_long ##long 00:04:15 verbose #5976 > > |> fn 00:04:15 verbose #5977 > > ) 00:04:15 verbose #5978 > 00:04:15 debug #377 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/130ae01fa1e7eedcc366c96389cdd5a6f0a342f3b4e9d28ab53a35418a5c1dde/main.spi 00:04:15 verbose #5979 > > 00:04:15 verbose #5980 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5981 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5982 > > │ ### matches_get_one │ 00:04:15 verbose #5983 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5984 > > 00:04:15 verbose #5985 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5986 > > inl matches_get_one forall t. (x : string) (matches : arg_matches) : 00:04:15 verbose #5987 > > optionm'.option' t = 00:04:15 verbose #5988 > > inl x = join x 00:04:15 verbose #5989 > > inl x = x |> sm'.as_str 00:04:15 verbose #5990 > > !\\(matches, $'"clap::ArgMatches::get_one(&$0, !x).cloned()"') 00:04:15 verbose #5991 > 00:04:15 debug #378 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/38ccff011242c95a8c059d3126497a94f9366249fe679d2941a0dae0a427aa02/main.spi 00:04:15 verbose #5992 > > 00:04:15 verbose #5993 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:15 verbose #5994 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:15 verbose #5995 > > │ ### matches_get_flag │ 00:04:15 verbose #5996 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:15 verbose #5997 > > 00:04:15 verbose #5998 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:15 verbose #5999 > > inl matches_get_flag (x : string) (matches : arg_matches) : bool = 00:04:15 verbose #6000 > > inl x = join x 00:04:15 verbose #6001 > > inl x = x |> sm'.as_str 00:04:15 verbose #6002 > > !\($'"clap::ArgMatches::get_flag(&!matches, !x)"') 00:04:15 verbose #6003 > 00:04:15 debug #379 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1227b0a8846347b39999d19497336409df00155b0fce0ec4830d82ffffbe7c86/main.spi 00:04:16 verbose #6004 > > 00:04:16 verbose #6005 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6006 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6007 > > │ ### matches_get_many │ 00:04:16 verbose #6008 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6009 > > 00:04:16 verbose #6010 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6011 > > inl matches_get_many forall t. (x : string) (matches : arg_matches) : 00:04:16 verbose #6012 > > optionm'.option' (am'.vec t) = 00:04:16 verbose #6013 > > inl x = join x 00:04:16 verbose #6014 > > inl x = x |> sm'.as_str 00:04:16 verbose #6015 > > !\\(matches, $'"clap::ArgMatches::get_many(&$0, !x).map(|x| 00:04:16 verbose #6016 > > x.cloned().into_iter().collect())"') 00:04:16 verbose #6017 > 00:04:15 debug #380 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3361f98a8db36412ff033ac54fd5589e874ad9f1aa63e7e474bbef03f98a16ac/main.spi 00:04:16 verbose #6018 > > 00:04:16 verbose #6019 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6020 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6021 > > │ ### matches_get_occurrences │ 00:04:16 verbose #6022 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6023 > > 00:04:16 verbose #6024 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6025 > > inl matches_get_occurrences (x : string) (matches : arg_matches) : 00:04:16 verbose #6026 > > optionm'.option' (array_base sm'.std_string) = 00:04:16 verbose #6027 > > inl x = join x 00:04:16 verbose #6028 > > inl x = x |> sm'.as_str 00:04:16 verbose #6029 > > !\($'"clap::ArgMatches::get_occurrences(&!matches, !x).cloned()"') 00:04:16 verbose #6030 > 00:04:15 debug #381 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/204db56397845defcbda21a261e107f2b063e670ea1f97be1da376e001759c5a/main.spi 00:04:16 verbose #6031 > > 00:04:16 verbose #6032 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6033 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6034 > > │ ### matches_subcommand │ 00:04:16 verbose #6035 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6036 > > 00:04:16 verbose #6037 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6038 > > inl matches_subcommand (matches : arg_matches) : optionm'.option' 00:04:16 verbose #6039 > > (sm'.std_string * arg_matches) = 00:04:16 verbose #6040 > > !\\((matches, sm'.ref_to_std_string), 00:04:16 verbose #6041 > > $'"clap::ArgMatches::subcommand(Box::leak(Box::new($0))).map(|(a, b)| ($1(a), 00:04:16 verbose #6042 > > b.clone()))"') 00:04:16 verbose #6043 > 00:04:15 debug #382 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e75187203c9b04cfc1974fac2199e29acb23238a3e7a4de9f29eda8f4b487a44/main.spi 00:04:16 verbose #6044 > > 00:04:16 verbose #6045 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6046 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6047 > > │ ### matches_values_of │ 00:04:16 verbose #6048 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6049 > > 00:04:16 verbose #6050 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6051 > > inl matches_values_of (x : string) (matches : arg_matches) : array_base 00:04:16 verbose #6052 > > sm'.std_string = 00:04:16 verbose #6053 > > !\\((matches, x), $'"clap::ArgMatches::values_of($0, &*$1)"') 00:04:16 verbose #6054 > 00:04:15 debug #383 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6606a9ab82c78579e3f5cfb8a09f0f71733753719890303c18f97bae8de0178f/main.spi 00:04:16 verbose #6055 > > 00:04:16 verbose #6056 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6057 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6058 > > │ ### command_subcommand_required │ 00:04:16 verbose #6059 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6060 > > 00:04:16 verbose #6061 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6062 > > inl command_subcommand_required (value : bool) (command : command) : command = 00:04:16 verbose #6063 > > !\\(command, $'"clap::Command::subcommand_required($0, !value)"') 00:04:16 verbose #6064 > 00:04:16 debug #384 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/deb0b8f6adebeaf3035b523ba37ee1ad749f795e5fb0ec14688b0f8612dcd01e/main.spi 00:04:16 verbose #6065 > > 00:04:16 verbose #6066 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6067 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6068 > > │ ### command_subcommand │ 00:04:16 verbose #6069 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6070 > > 00:04:16 verbose #6071 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6072 > > inl command_subcommand (subcommand : command) (command : command) : command = 00:04:16 verbose #6073 > > !\\(command, $'"clap::Command::subcommand($0, !subcommand)"') 00:04:16 verbose #6074 > 00:04:16 debug #385 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/62826da8702ea6c63ba23406fe76fb4713dceeba6aac0df2f2be4b45e772be71/main.spi 00:04:16 verbose #6075 > > 00:04:16 verbose #6076 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6077 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6078 > > │ ### value_parser_possible_values │ 00:04:16 verbose #6079 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6080 > > 00:04:16 verbose #6081 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6082 > > inl value_parser_possible_values (values : array_base string) : value_parser = 00:04:16 verbose #6083 > > inl values = 00:04:16 verbose #6084 > > values 00:04:16 verbose #6085 > > |> am'.to_vec 00:04:16 verbose #6086 > > |> am'.vec_map (sm'.to_std_string >> rust.new_box >> rust.box_leak >> 00:04:16 verbose #6087 > > new_possible_value) 00:04:16 verbose #6088 > > !\\(values, 00:04:16 verbose #6089 > > $'"Into::<clap::builder::ValueParser>::into(clap::builder::PossibleValuesParser: 00:04:16 verbose #6090 > > :new($0))"') 00:04:16 verbose #6091 > 00:04:16 debug #386 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8121887a73627cb39a70244141ece70f9cf4542f5c72aa0b14fe11e9df0ff8b1/main.spi 00:04:16 verbose #6092 > > 00:04:16 verbose #6093 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:16 verbose #6094 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:16 verbose #6095 > > │ ### arg_union │ 00:04:16 verbose #6096 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:16 verbose #6097 > > 00:04:16 verbose #6098 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6099 > > inl arg_union forall union_type. (fn : union_type -> ()) (arg : arg) : arg = 00:04:16 verbose #6100 > > arg 00:04:16 verbose #6101 > > |> arg_value_parser ( 00:04:16 verbose #6102 > > real reflection.get_union_fields_untag `union_type () 00:04:16 verbose #6103 > > |> fun x => x : _ (string * union_type) 00:04:16 verbose #6104 > > |> listm.map fst 00:04:16 verbose #6105 > > |> listm'.box 00:04:16 verbose #6106 > > |> listm'.to_array' 00:04:16 verbose #6107 > > |> value_parser_possible_values 00:04:16 verbose #6108 > > ) 00:04:16 verbose #6109 > 00:04:16 debug #387 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2781fa9ec66d855312d37bf56a6c4cff8ec5fbf941e63c8928ed2437bd2f6ace/main.spi 00:04:16 verbose #6110 > > 00:04:16 verbose #6111 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:16 verbose #6112 > > //// test 00:04:16 verbose #6113 > > ///! rust -d clap 00:04:16 verbose #6114 > > 00:04:16 verbose #6115 > > ##"command" 00:04:16 verbose #6116 > > |> new_command 00:04:16 verbose #6117 > > |> command_init_arg ("trace-level", 't') ( 00:04:16 verbose #6118 > > real arg_union `trace_level ignore 00:04:16 verbose #6119 > > ) 00:04:16 verbose #6120 > > |> command_get_matches_from ;[[ "_"; "--trace-level"; "Critical" ]] 00:04:16 verbose #6121 > > |> matches_get_one "trace-level" 00:04:16 verbose #6122 > > |> optionm'.unwrap 00:04:16 verbose #6123 > > |> sm'.from_std_string 00:04:16 verbose #6124 > > |> reflection.union_try_pick 00:04:16 verbose #6125 > > |> optionm.value 00:04:16 verbose #6126 > > |> _assert_eq Critical 00:04:16 verbose #6127 > 00:04:16 debug #388 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86f63446d7edce761def4ec217ab50122adfd718468813fd80a6b769b9a09e4e/main.spi 00:04:24 verbose #6128 > > 00:04:24 verbose #6129 > > ╭─[ 7.49s - return value ]─────────────────────────────────────────────────────╮ 00:04:24 verbose #6130 > > │ assert_eq / actual: US1_4 / expected: US1_4 │ 00:04:24 verbose #6131 > > │ │ 00:04:24 verbose #6132 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:24 verbose #6133 > > 00:04:24 verbose #6134 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:24 verbose #6135 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:24 verbose #6136 > > │ ### command_debug_assert │ 00:04:24 verbose #6137 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:24 verbose #6138 > > 00:04:24 verbose #6139 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:24 verbose #6140 > > inl command_debug_assert (command : command) : () = 00:04:24 verbose #6141 > > !\\(command, $'"clap::Command::debug_assert($0)"') 00:04:24 verbose #6142 > 00:04:23 debug #389 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cf2f435e15d39b3d9e9081756c9a820e2380bc08e7d6c08b0f52317ed3333aee/main.spi 00:04:24 verbose #6143 > > 00:04:24 verbose #6144 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:24 verbose #6145 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:24 verbose #6146 > > │ ## fsharp │ 00:04:24 verbose #6147 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:24 verbose #6148 > > 00:04:24 verbose #6149 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:24 verbose #6150 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:24 verbose #6151 > > │ ### process │ 00:04:24 verbose #6152 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:24 verbose #6153 > > 00:04:24 verbose #6154 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:24 verbose #6155 > > nominal process = $'System.Diagnostics.Process' 00:04:24 verbose #6156 > 00:04:23 debug #390 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4ad934e8900e659cebdf0ac7dd02866f4672761f59d5dde446c7371c496786b3/main.spi 00:04:24 verbose #6157 > > 00:04:24 verbose #6158 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:24 verbose #6159 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:24 verbose #6160 > > │ ### process_start_info │ 00:04:24 verbose #6161 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:24 verbose #6162 > > 00:04:24 verbose #6163 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:24 verbose #6164 > > nominal process_start_info = $'System.Diagnostics.ProcessStartInfo' 00:04:24 verbose #6165 > 00:04:24 debug #391 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/07669c7e1e62a05fbee96c907ce06599d4cceee45b2663c7dec564572a106f47/main.spi 00:04:24 verbose #6166 > > 00:04:24 verbose #6167 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:24 verbose #6168 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:24 verbose #6169 > > │ ### data_received_event_args │ 00:04:24 verbose #6170 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:24 verbose #6171 > > 00:04:24 verbose #6172 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:24 verbose #6173 > > nominal data_received_event_args = $'System.Diagnostics.DataReceivedEventArgs' 00:04:24 verbose #6174 > 00:04:24 debug #392 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6fa520a884013c605dc8114796c18115c817d5a6a0f1b1072b43a257caf45e98/main.spi 00:04:25 verbose #6175 > > 00:04:25 verbose #6176 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6177 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6178 > > │ ### new_process │ 00:04:25 verbose #6179 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6180 > > 00:04:25 verbose #6181 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6182 > > inl new_process (process_start_info : process_start_info) : process = 00:04:25 verbose #6183 > > $'new `process (StartInfo = !process_start_info)' 00:04:25 verbose #6184 > 00:04:24 debug #393 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/723fb646fdf3bf5e940ad1ce97501ec9bd66a855c46d530bfb26fa6197249160/main.spi 00:04:25 verbose #6185 > > 00:04:25 verbose #6186 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6187 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6188 > > │ ### process_start │ 00:04:25 verbose #6189 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6190 > > 00:04:25 verbose #6191 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6192 > > inl process_start (process : process) : bool = 00:04:25 verbose #6193 > > $'!process.Start' () 00:04:25 verbose #6194 > 00:04:24 debug #394 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4fb7537ce534fe4530ae7d95a34696bb79084a4106681d4c9afc59a9a68ba45a/main.spi 00:04:25 verbose #6195 > > 00:04:25 verbose #6196 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6197 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6198 > > │ ### process_exit_code │ 00:04:25 verbose #6199 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6200 > > 00:04:25 verbose #6201 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6202 > > inl process_exit_code (process : process) : i32 = 00:04:25 verbose #6203 > > $'!process.ExitCode' 00:04:25 verbose #6204 > 00:04:24 debug #395 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aeae5f027a25a44f91c10f15f28e0b09db0f1ee6d5b468c936c39c639b4ab8dd/main.spi 00:04:25 verbose #6205 > > 00:04:25 verbose #6206 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6207 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6208 > > │ ### process_id │ 00:04:25 verbose #6209 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6210 > > 00:04:25 verbose #6211 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6212 > > inl process_id (process : process) : i32 = 00:04:25 verbose #6213 > > $'!process.Id' 00:04:25 verbose #6214 > 00:04:24 debug #396 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/949adb6619f5c93c1a915cc295247c2bc4476f75d4728ea8a384ae9f1d0992c4/main.spi 00:04:25 verbose #6215 > > 00:04:25 verbose #6216 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6217 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6218 > > │ ### process_has_exited │ 00:04:25 verbose #6219 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6220 > > 00:04:25 verbose #6221 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6222 > > inl process_has_exited (process : process) : bool = 00:04:25 verbose #6223 > > run_target function 00:04:25 verbose #6224 > > | Fsharp (Native) => fun () => 00:04:25 verbose #6225 > > $'!process.HasExited' 00:04:25 verbose #6226 > > | _ => fun () => null () 00:04:25 verbose #6227 > 00:04:25 debug #397 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b84e9332d8edd7f0f3534cca4a1b7db3d9bb3127699cd1c0f86c1780633204dd/main.spi 00:04:25 verbose #6228 > > 00:04:25 verbose #6229 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6230 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6231 > > │ ### process_kill │ 00:04:25 verbose #6232 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6233 > > 00:04:25 verbose #6234 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6235 > > inl process_kill (process : process) : () = 00:04:25 verbose #6236 > > run_target function 00:04:25 verbose #6237 > > | Fsharp (Native) => fun () => 00:04:25 verbose #6238 > > $'!process.Kill' () 00:04:25 verbose #6239 > > | _ => fun () => null () 00:04:25 verbose #6240 > 00:04:25 debug #398 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ba919250bece757c6e8de5d4a7864f0e2d609e62b16c2a3abb891c61cc59c963/main.spi 00:04:25 verbose #6241 > > 00:04:25 verbose #6242 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6243 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6244 > > │ ### process_begin_error_read_line │ 00:04:25 verbose #6245 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6246 > > 00:04:25 verbose #6247 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6248 > > inl process_begin_error_read_line (process : process) : () = 00:04:25 verbose #6249 > > $'!process.BeginErrorReadLine' () 00:04:25 verbose #6250 > 00:04:25 debug #399 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/efc71c8cc91d6242652d6da817df7d9328b98a8d6b7822fd76ad724476a7eb4a/main.spi 00:04:25 verbose #6251 > > 00:04:25 verbose #6252 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6253 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6254 > > │ ### process_begin_output_read_line │ 00:04:25 verbose #6255 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6256 > > 00:04:25 verbose #6257 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6258 > > inl process_begin_output_read_line (process : process) : () = 00:04:25 verbose #6259 > > $'!process.BeginOutputReadLine' () 00:04:25 verbose #6260 > 00:04:25 debug #400 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e67c0f69d274c258ff95033cf054e2701e1cb393ee3d3850dd243015fde74704/main.spi 00:04:25 verbose #6261 > > 00:04:25 verbose #6262 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6263 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6264 > > │ ### process_add_output_data_received │ 00:04:25 verbose #6265 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6266 > > 00:04:25 verbose #6267 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6268 > > inl process_add_output_data_received fn (process : process) : () = 00:04:25 verbose #6269 > > $'!process.OutputDataReceived.Add !fn ' 00:04:25 verbose #6270 > 00:04:25 debug #401 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d02298356353bca83b171223484aa10aaf385c23db51113b34fa77459bdde73b/main.spi 00:04:25 verbose #6271 > > 00:04:25 verbose #6272 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:25 verbose #6273 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:25 verbose #6274 > > │ ### process_add_error_data_received │ 00:04:25 verbose #6275 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:25 verbose #6276 > > 00:04:25 verbose #6277 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:25 verbose #6278 > > inl process_add_error_data_received fn (process : process) : () = 00:04:25 verbose #6279 > > $'!process.ErrorDataReceived.Add !fn ' 00:04:26 verbose #6280 > 00:04:25 debug #402 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/020b88a06852deab3a2acb852e6c0b6058ba9419a9c3e3b51d002a2194691767/main.spi 00:04:26 verbose #6281 > > 00:04:26 verbose #6282 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:26 verbose #6283 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:26 verbose #6284 > > │ ### process_wait_for_exit_async │ 00:04:26 verbose #6285 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:26 verbose #6286 > > 00:04:26 verbose #6287 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:26 verbose #6288 > > inl process_wait_for_exit_async (ct : threading.cancellation_token) (process : 00:04:26 verbose #6289 > > process) : async.task () = 00:04:26 verbose #6290 > > $'!process.WaitForExitAsync !ct ' 00:04:26 verbose #6291 > 00:04:25 debug #403 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/99d8d11d34c2ce9584024ee2d1e2be27891ed0f520f99a7938924c405e0dfd0e/main.spi 00:04:26 verbose #6292 > > 00:04:26 verbose #6293 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:26 verbose #6294 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:26 verbose #6295 > > │ ### event_data │ 00:04:26 verbose #6296 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:26 verbose #6297 > > 00:04:26 verbose #6298 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:26 verbose #6299 > > inl event_data (e : data_received_event_args) : string = 00:04:26 verbose #6300 > > $'!e.Data' 00:04:26 verbose #6301 > 00:04:25 debug #404 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a9220aee46de05c2138b5489f2966c8c03d74cc5f0c49cd38cdde908a1f1c99/main.spi 00:04:26 verbose #6302 > > 00:04:26 verbose #6303 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:26 verbose #6304 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:26 verbose #6305 > > │ ### execute_with_options_async │ 00:04:26 verbose #6306 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:26 verbose #6307 > > 00:04:26 verbose #6308 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:26 verbose #6309 > > let execute_with_options_async (options : execution_options) : _ (i32 * string) 00:04:26 verbose #6310 > > = 00:04:26 verbose #6311 > > run_target function 00:04:26 verbose #6312 > > | Fsharp (Native) => fun () => 00:04:26 verbose #6313 > > fun () => 00:04:26 verbose #6314 > > inl file_name, arguments = options.command |> split_command |> 00:04:26 verbose #6315 > > resultm.get 00:04:26 verbose #6316 > > inl working_directory = options.working_directory |> 00:04:26 verbose #6317 > > optionm'.unbox |> optionm'.default_value "" 00:04:26 verbose #6318 > > 00:04:26 verbose #6319 > > trace Debug 00:04:26 verbose #6320 > > fun () => $'$"runtime.execute_with_options_async"' 00:04:26 verbose #6321 > > fun () => { options } 00:04:26 verbose #6322 > > 00:04:26 verbose #6323 > > inl utf8 = sm'.encoding_utf8 () 00:04:26 verbose #6324 > > inl arguments = arguments |> optionm'.default_value "" 00:04:26 verbose #6325 > > 00:04:26 verbose #6326 > > $'let start_info = System.Diagnostics.ProcessStartInfo (' 00:04:26 verbose #6327 > > $' Arguments = !arguments,' 00:04:26 verbose #6328 > > $' StandardOutputEncoding = !utf8,' 00:04:26 verbose #6329 > > $' WorkingDirectory = !working_directory,' 00:04:26 verbose #6330 > > $' FileName = !file_name,' 00:04:26 verbose #6331 > > $' CreateNoWindow = true,' 00:04:26 verbose #6332 > > $' RedirectStandardError = true,' 00:04:26 verbose #6333 > > $' RedirectStandardOutput = true,' 00:04:26 verbose #6334 > > $' UseShellExecute = false' 00:04:26 verbose #6335 > > $')' 00:04:26 verbose #6336 > > inl start_info : process_start_info = $'start_info' 00:04:26 verbose #6337 > > 00:04:26 verbose #6338 > > (a options.environment_variables : _ i32 _) 00:04:26 verbose #6339 > > |> am.iter fun key, value => 00:04:26 verbose #6340 > > $'!start_info.EnvironmentVariables.[[!key]] <- !value ' 00:04:26 verbose #6341 > > 00:04:26 verbose #6342 > > inl proc = start_info |> new_process |> use 00:04:26 verbose #6343 > > inl output : _ string = threading.new_concurrent_stack () 00:04:26 verbose #6344 > > 00:04:26 verbose #6345 > > inl event error (e : data_received_event_args) = async.new_async 00:04:26 verbose #6346 > > fun () => 00:04:26 verbose #6347 > > inl data = e |> event_data 00:04:26 verbose #6348 > > if data <> null () then 00:04:26 verbose #6349 > > match options.on_line |> optionm'.unbox with 00:04:26 verbose #6350 > > | Some on_line => 00:04:26 verbose #6351 > > on_line 00:04:26 verbose #6352 > > { 00:04:26 verbose #6353 > > process_id = proc |> process_id 00:04:26 verbose #6354 > > line = data 00:04:26 verbose #6355 > > error = error 00:04:26 verbose #6356 > > } 00:04:26 verbose #6357 > > |> async.do 00:04:26 verbose #6358 > > | None => () 00:04:26 verbose #6359 > > 00:04:26 verbose #6360 > > inl text = 00:04:26 verbose #6361 > > if error 00:04:26 verbose #6362 > > then $'$"\! {!data}"' 00:04:26 verbose #6363 > > else $'$"> {!data}"' 00:04:26 verbose #6364 > > if options.trace 00:04:26 verbose #6365 > > then trace Verbose (fun () => text) id 00:04:26 verbose #6366 > > else text |> console.write_line 00:04:26 verbose #6367 > > 00:04:26 verbose #6368 > > inl l = if error then $'"\\u001b[[7;4m"' else "" 00:04:26 verbose #6369 > > inl r = if error then $'"\\u001b[[0m"' else "" 00:04:26 verbose #6370 > > output |> threading.concurrent_stack_push 00:04:26 verbose #6371 > > $'$"{!l}{!data}{!r}"' 00:04:26 verbose #6372 > > 00:04:26 verbose #6373 > > proc |> process_add_output_data_received (event false >> 00:04:26 verbose #6374 > > async.start_immediate) 00:04:26 verbose #6375 > > proc |> process_add_error_data_received (event true >> 00:04:26 verbose #6376 > > async.start_immediate) 00:04:26 verbose #6377 > > 00:04:26 verbose #6378 > > if proc |> process_start |> not 00:04:26 verbose #6379 > > then failwith $'$"runtime.execute_with_options_async 00:04:26 verbose #6380 > > process_start error"' 00:04:26 verbose #6381 > > 00:04:26 verbose #6382 > > proc |> process_begin_error_read_line 00:04:26 verbose #6383 > > proc |> process_begin_output_read_line 00:04:26 verbose #6384 > > 00:04:26 verbose #6385 > > inl ct = 00:04:26 verbose #6386 > > options.cancellation_token 00:04:26 verbose #6387 > > |> optionm'.unbox 00:04:26 verbose #6388 > > |> optionm'.default_with threading.token_none 00:04:26 verbose #6389 > > |> async.merge_cancellation_token_with_default_async 00:04:26 verbose #6390 > > |> async.let' 00:04:26 verbose #6391 > > 00:04:26 verbose #6392 > > ct |> threading.token_register fun () => 00:04:26 verbose #6393 > > if proc |> process_has_exited |> not 00:04:26 verbose #6394 > > then proc |> process_kill 00:04:26 verbose #6395 > > |> use 00:04:26 verbose #6396 > > |> ignore 00:04:26 verbose #6397 > > 00:04:26 verbose #6398 > > inl exit_code : i32 = 00:04:26 verbose #6399 > > fun () => 00:04:26 verbose #6400 > > try_unit 00:04:26 verbose #6401 > > fun () => 00:04:26 verbose #6402 > > proc 00:04:26 verbose #6403 > > |> process_wait_for_exit_async ct 00:04:26 verbose #6404 > > |> async.await_task 00:04:26 verbose #6405 > > |> async.do 00:04:26 verbose #6406 > > proc |> process_exit_code |> return 00:04:26 verbose #6407 > > fun ex => 00:04:26 verbose #6408 > > // with :? 00:04:26 verbose #6409 > > System.Threading.Tasks.TaskCanceledException as ex => 00:04:26 verbose #6410 > > inl ex' = ex |> sm'.format_exception 00:04:26 verbose #6411 > > output |> threading.concurrent_stack_push ex' 00:04:26 verbose #6412 > > inl ex : async.task_canceled_exception = ex |> 00:04:26 verbose #6413 > > unbox 00:04:26 verbose #6414 > > trace Warning 00:04:26 verbose #6415 > > fun () => 00:04:26 verbose #6416 > > $'$"runtime.execute_with_options_async / WaitForExitAsync"' 00:04:26 verbose #6417 > > fun () => { ex } 00:04:26 verbose #6418 > > (limit.min : i32) |> return 00:04:26 verbose #6419 > > |> async.new_async_unit 00:04:26 verbose #6420 > > |> async.let' 00:04:26 verbose #6421 > > 00:04:26 verbose #6422 > > inl output = 00:04:26 verbose #6423 > > output 00:04:26 verbose #6424 > > |> seq.rev'' 00:04:26 verbose #6425 > > |> fun x => x : seq.seq' string 00:04:26 verbose #6426 > > |> sm'.concat "\n" 00:04:26 verbose #6427 > > 00:04:26 verbose #6428 > > trace Debug 00:04:26 verbose #6429 > > fun () => $'$"runtime.execute_with_options_async"' 00:04:26 verbose #6430 > > fun () => { exit_code output_length = output |> sm'.length : 00:04:26 verbose #6431 > > i32 } 00:04:26 verbose #6432 > > 00:04:26 verbose #6433 > > (exit_code, output) |> return 00:04:26 verbose #6434 > > |> async.new_async_unit 00:04:26 verbose #6435 > > | _ => fun () => 00:04:26 verbose #6436 > > global "#if FABLE_COMPILER\n[[<CompilationRepresentation 00:04:26 verbose #6437 > > (CompilationRepresentationFlags.ModuleSuffix)>]]\nmodule System =\n module 00:04:26 verbose #6438 > > Diagnostics =\n type Process = unit\n type DataReceivedEventArgs = 00:04:26 verbose #6439 > > unit\n#endif" 00:04:26 verbose #6440 > > null () 00:04:26 verbose #6441 > 00:04:25 debug #405 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/568fa2d15d22bc705d6cac75820177900e84f74c6ebbb8210321bad796216d3f/main.spi 00:04:26 verbose #6442 > > 00:04:26 verbose #6443 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:26 verbose #6444 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:26 verbose #6445 > > │ ### execute_async │ 00:04:26 verbose #6446 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:26 verbose #6447 > > 00:04:26 verbose #6448 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:26 verbose #6449 > > inl execute_async command = 00:04:26 verbose #6450 > > execution_options fun x => { x with 00:04:26 verbose #6451 > > command = command 00:04:26 verbose #6452 > > } 00:04:26 verbose #6453 > > |> execute_with_options_async 00:04:26 verbose #6454 > 00:04:25 debug #406 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4f7f606d8b9100d441d3f456033c822551f5474fd7d55fdac2a0b66cb0c916fb/main.spi 00:04:26 verbose #6455 > > 00:04:26 verbose #6456 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:26 verbose #6457 > > //// test 00:04:26 verbose #6458 > > 00:04:26 verbose #6459 > > inl content = "╭─[[ 你好,世界!こんにちは世界! ]]─╮" 00:04:26 verbose #6460 > > fun () => 00:04:26 verbose #6461 > > inl file_name = "test.txt" 00:04:26 verbose #6462 > > inl temp_dir, disposable = 00:04:26 verbose #6463 > > (file_name, content) 00:04:26 verbose #6464 > > |> sm'.format_debug 00:04:26 verbose #6465 > > |> crypto.hash_text 00:04:26 verbose #6466 > > |> file_system.create_temp_dir' 00:04:26 verbose #6467 > > disposable |> use |> ignore 00:04:26 verbose #6468 > > 00:04:26 verbose #6469 > > inl path = temp_dir </> file_name 00:04:26 verbose #6470 > > 00:04:26 verbose #6471 > > inl exit_code, result = execute_async $'\@$"pwsh -c ""Get-Content 00:04:26 verbose #6472 > > {!path}"""' |> async.let' 00:04:26 verbose #6473 > > exit_code |> join _assert_eq 1 00:04:26 verbose #6474 > > result |> _assert_string_contains "not exist" 00:04:26 verbose #6475 > > 00:04:26 verbose #6476 > > content |> file_system.write_all_text_async path |> async.do 00:04:26 verbose #6477 > > 00:04:26 verbose #6478 > > execution_options fun x => { x with 00:04:26 verbose #6479 > > command = $'\@$"cat ""{!file_name}"""' 00:04:26 verbose #6480 > > working_directory = Some temp_dir |> optionm'.box 00:04:26 verbose #6481 > > } 00:04:26 verbose #6482 > > |> execute_with_options_async 00:04:26 verbose #6483 > > |> async.let' 00:04:26 verbose #6484 > > |> ignore 00:04:26 verbose #6485 > > 00:04:26 verbose #6486 > > execution_options fun x => { x with 00:04:26 verbose #6487 > > command = $'\@$"pwsh -c ""[[System.Console]]::OutputEncoding = 00:04:26 verbose #6488 > > [[System.Text.Encoding]]::UTF8; Get-Content {!file_name}"""' 00:04:26 verbose #6489 > > working_directory = Some temp_dir |> optionm'.box 00:04:26 verbose #6490 > > } 00:04:26 verbose #6491 > > |> execute_with_options_async 00:04:26 verbose #6492 > > |> async.return_await 00:04:26 verbose #6493 > > |> async.new_async_unit 00:04:26 verbose #6494 > > |> async.run_with_timeout 10000 00:04:26 verbose #6495 > > |> function 00:04:26 verbose #6496 > > | Some (exit_code, output) => 00:04:26 verbose #6497 > > exit_code |> join _assert_eq 0i32 00:04:26 verbose #6498 > > output |> join _assert_eq content 00:04:26 verbose #6499 > > true 00:04:26 verbose #6500 > > | _ => false 00:04:26 verbose #6501 > > |> _assert_eq true 00:04:26 verbose #6502 > 00:04:26 debug #407 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/318494f57f73e83d84adcdd3e37c95d884c9ce01642a1f29b54c1f9cd58b40ce/main.spi 00:04:29 verbose #6503 > > 00:04:29 verbose #6504 > > ╭─[ 3.22s - stdout ]───────────────────────────────────────────────────────────╮ 00:04:29 verbose #6505 > > │ 00:00:00 debug #1 runtime.execute_with_options_async / { options = { │ 00:04:29 verbose #6506 > > │ command = pwsh -c "Get-Content │ 00:04:29 verbose #6507 > > │ /tmp/!create_temp_path_/dotnet-repl/76793606-813b-88ad-7791-7ce2871edce9/tes │ 00:04:29 verbose #6508 > > │ t.txt"; cancellation_token = None; environment_variables = [||]; on_line = │ 00:04:29 verbose #6509 > > │ None; stdin = None; trace = true; working_directory = None } } │ 00:04:29 verbose #6510 > > │ 00:00:00 verbose #2 ! Get-Content: Cannot find path │ 00:04:29 verbose #6511 > > │ '/tmp/!create_temp_path_/dotnet-repl/76793606-813b-88ad-7791-7ce2871edce9/te │ 00:04:29 verbose #6512 > > │ st.txt' because it does not exist. │ 00:04:29 verbose #6513 > > │ 00:00:00 debug #3 runtime.execute_with_options_async / { exit_code = │ 00:04:29 verbose #6514 > > │ 1; output_length = 168 } │ 00:04:29 verbose #6515 > > │ assert_eq / actual: 1 / expected: 1 │ 00:04:29 verbose #6516 > > │ assert_string_contains / actual: "not exist" / expected: "38;5;2m│ 00:04:29 verbose #6517 > > │ 31;1mGet-Content: Cannot find path │ 00:04:29 verbose #6518 > > │ '/tmp/!create_temp_path_/dotnet-repl/76793606-813b-88ad-7791-7ce2871edce9/te │ 00:04:29 verbose #6519 > > │ st.txt' because it does not exist." │ 00:04:29 verbose #6520 > > │ 00:00:00 debug #4 runtime.execute_with_options_async / { options = { │ 00:04:29 verbose #6521 > > │ command = cat "test.txt"; cancellation_token = None; environment_variables = │ 00:04:29 verbose #6522 > > │ [||]; on_line = None; stdin = None; trace = true; working_directory = Some │ 00:04:29 verbose #6523 > > │ "/tmp/!create_temp_path_/dotnet-repl/76793606-813b-88ad-7791-7ce2871edce9" } │ 00:04:29 verbose #6524 > > │ } │ 00:04:29 verbose #6525 > > │ 00:00:00 verbose #5 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │ 00:04:29 verbose #6526 > > │ 00:00:00 debug #6 runtime.execute_with_options_async / { exit_code = │ 00:04:29 verbose #6527 > > │ 0; output_length = 22 } │ 00:04:29 verbose #6528 > > │ 00:00:00 debug #7 runtime.execute_with_options_async / { options = { │ 00:04:29 verbose #6529 > > │ command = pwsh -c "[System.Console]::OutputEncoding = [ │ 00:04:29 verbose #6530 > > │ System.Text.Encoding]::UTF8; Get-Content test.txt"; cancellation_token = │ 00:04:29 verbose #6531 > > │ None; environment_variables = [||]; on_line = None; stdin = None; trace = │ 00:04:29 verbose #6532 > > │ true; working_directory = Some │ 00:04:29 verbose #6533 > > │ "/tmp/!create_temp_path_/dotnet-repl/76793606-813b-88ad-7791-7ce2871edce9" } │ 00:04:29 verbose #6534 > > │ } │ 00:04:29 verbose #6535 > > │ 00:00:00 verbose #8 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │ 00:04:29 verbose #6536 > > │ 00:00:00 debug #9 runtime.execute_with_options_async / { exit_code = │ 00:04:29 verbose #6537 > > │ 0; output_length = 22 } │ 00:04:29 verbose #6538 > > │ assert_eq / actual: 0 / expected: 0 │ 00:04:29 verbose #6539 > > │ assert_eq / actual: "╭─[ 你好,世界!こんにちは世界! ]─╮" / expected: "╭─[ │ 00:04:29 verbose #6540 > > │ 你好,世界!こんにちは世界! ]─╮" │ 00:04:29 verbose #6541 > > │ assert_eq / actual: true / expected: true │ 00:04:29 verbose #6542 > > │ │ 00:04:29 verbose #6543 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:29 verbose #6544 > > 00:04:29 verbose #6545 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:29 verbose #6546 > > //// test 00:04:29 verbose #6547 > > 00:04:29 verbose #6548 > > fun () => 00:04:29 verbose #6549 > > inl file_name = "test.txt" 00:04:29 verbose #6550 > > inl text = "0" 00:04:29 verbose #6551 > > 00:04:29 verbose #6552 > > inl temp_dir, disposable = 00:04:29 verbose #6553 > > (file_name, text) 00:04:29 verbose #6554 > > |> sm'.format_debug 00:04:29 verbose #6555 > > |> crypto.hash_text 00:04:29 verbose #6556 > > |> file_system.create_temp_dir' 00:04:29 verbose #6557 > > disposable |> use |> ignore 00:04:29 verbose #6558 > > inl path = temp_dir </> file_name 00:04:29 verbose #6559 > > text |> file_system.write_all_text_async path |> async.do 00:04:29 verbose #6560 > > 00:04:29 verbose #6561 > > inl cts = threading.new_cancellation_token_source () 00:04:29 verbose #6562 > > trace Debug (fun () => "1") id 00:04:29 verbose #6563 > > inl result = 00:04:29 verbose #6564 > > execution_options fun x => { x with 00:04:29 verbose #6565 > > command = $'\@$"pwsh -c ""Get-Content {!path}"""' 00:04:29 verbose #6566 > > cancellation_token = cts |> threading.cancellation_source_token |> 00:04:29 verbose #6567 > > Some |> optionm'.box 00:04:29 verbose #6568 > > } 00:04:29 verbose #6569 > > |> execute_with_options_async 00:04:29 verbose #6570 > > |> async.start_child 00:04:29 verbose #6571 > > |> async.let' 00:04:29 verbose #6572 > > trace Debug (fun () => "2") id 00:04:29 verbose #6573 > > async.sleep 100 |> async.do 00:04:29 verbose #6574 > > trace Debug (fun () => "3") id 00:04:29 verbose #6575 > > cts |> threading.cancellation_source_cancel 00:04:29 verbose #6576 > > trace Debug (fun () => "4") id 00:04:29 verbose #6577 > > inl exit_code, output = result |> async.let' 00:04:29 verbose #6578 > > trace Debug (fun () => "5") id 00:04:29 verbose #6579 > > (exit_code, output) |> return 00:04:29 verbose #6580 > > |> async.new_async_unit 00:04:29 verbose #6581 > > |> async.run_with_timeout 10000 00:04:29 verbose #6582 > > |> function 00:04:29 verbose #6583 > > | Some (exit_code, output) => 00:04:29 verbose #6584 > > exit_code |> _assert_eq -2147483648i32 00:04:29 verbose #6585 > > output |> _assert_eq (join 00:04:29 verbose #6586 > > "System.Threading.Tasks.TaskCanceledException: A task was canceled.") 00:04:29 verbose #6587 > > true 00:04:29 verbose #6588 > > | _ => false 00:04:29 verbose #6589 > > |> _assert_eq true 00:04:29 verbose #6590 > 00:04:29 debug #408 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1744ce7c5e6d9c9c238038b771a451ee5804b7b3d6c5088d2dbac6a4d1c566e7/main.spi 00:04:32 verbose #6591 > > 00:04:32 verbose #6592 > > ╭─[ 2.33s - stdout ]───────────────────────────────────────────────────────────╮ 00:04:32 verbose #6593 > > │ 00:00:00 debug #1 1 │ 00:04:32 verbose #6594 > > │ 00:00:00 debug #2 2 │ 00:04:32 verbose #6595 > > │ 00:00:00 debug #3 runtime.execute_with_options_async / { options = { │ 00:04:32 verbose #6596 > > │ command = pwsh -c "Get-Content │ 00:04:32 verbose #6597 > > │ /tmp/!create_temp_path_/dotnet-repl/613830ed-016e-d959-8d21-02dc1c63c252/tes │ 00:04:32 verbose #6598 > > │ t.txt"; cancellation_token = Some System.Threading.CancellationToken; │ 00:04:32 verbose #6599 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:04:32 verbose #6600 > > │ working_directory = None } } │ 00:04:32 verbose #6601 > > │ 00:00:00 debug #4 3 │ 00:04:32 verbose #6602 > > │ 00:00:00 debug #5 4 │ 00:04:32 verbose #6603 > > │ 00:00:00 warning #6 runtime.execute_with_options_async / │ 00:04:32 verbose #6604 > > │ WaitForExitAsync / { ex = System.Threading.Tasks.TaskCanceledException: A │ 00:04:32 verbose #6605 > > │ task was canceled. } │ 00:04:32 verbose #6606 > > │ 00:00:00 debug #7 runtime.execute_with_options_async / { exit_code = │ 00:04:32 verbose #6607 > > │ -2147483648; output_length = 66 } │ 00:04:32 verbose #6608 > > │ 00:00:00 debug #8 5 │ 00:04:32 verbose #6609 > > │ assert_eq / actual: -2147483648 / expected: -2147483648 │ 00:04:32 verbose #6610 > > │ assert_eq / actual: "System.Threading.Tasks.TaskCanceledException: A task │ 00:04:32 verbose #6611 > > │ was canceled." / expected: "System.Threading.Tasks.TaskCanceledException: A │ 00:04:32 verbose #6612 > > │ task was canceled." │ 00:04:32 verbose #6613 > > │ assert_eq / actual: true / expected: true │ 00:04:32 verbose #6614 > > │ │ 00:04:32 verbose #6615 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6616 > > 00:04:32 verbose #6617 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:32 verbose #6618 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:32 verbose #6619 > > │ ### current_process_kill │ 00:04:32 verbose #6620 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6621 > > 00:04:32 verbose #6622 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:32 verbose #6623 > > inl current_process_kill () = 00:04:32 verbose #6624 > > run_target function 00:04:32 verbose #6625 > > | Fsharp (Native) => fun () => 00:04:32 verbose #6626 > > inl fn () = 00:04:32 verbose #6627 > > run_target function 00:04:32 verbose #6628 > > | Fsharp (Native) => fun () => 00:04:32 verbose #6629 > > trace Warning (fun () => "runtime.current_process_kill 00:04:32 verbose #6630 > > exiting... 3") id 00:04:32 verbose #6631 > > $'System.Threading.Thread.Sleep 300' 00:04:32 verbose #6632 > > trace Warning (fun () => "runtime.current_process_kill 00:04:32 verbose #6633 > > exiting... 2") id 00:04:32 verbose #6634 > > $'System.Console.Out.Flush ()' 00:04:32 verbose #6635 > > $'System.Threading.Thread.Sleep 60' 00:04:32 verbose #6636 > > trace Warning (fun () => "runtime.current_process_kill 00:04:32 verbose #6637 > > exiting... 1") id 00:04:32 verbose #6638 > > $'System.Diagnostics.Process.GetCurrentProcess().Kill 00:04:32 verbose #6639 > > ()' : () 00:04:32 verbose #6640 > > | _ => fun () => null () 00:04:32 verbose #6641 > > inl thread : threading.thread = $'new System.Threading.Thread (!fn)' 00:04:32 verbose #6642 > > thread |> $'_.Start()' : () 00:04:32 verbose #6643 > > | _ => fun () => null () 00:04:32 verbose #6644 > 00:04:31 debug #409 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0043e53ac7567ac08cda16e3fd3a762656e2784170ff9ac73ecacea4e765b2e5/main.spi 00:04:32 verbose #6645 > > 00:04:32 verbose #6646 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:32 verbose #6647 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:32 verbose #6648 > > │ ### gc_collect │ 00:04:32 verbose #6649 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6650 > > 00:04:32 verbose #6651 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:32 verbose #6652 > > inl gc_collect () = 00:04:32 verbose #6653 > > run_target function 00:04:32 verbose #6654 > > | Fsharp _ => fun () => $'System.GC.Collect' () : () 00:04:32 verbose #6655 > > | Python _ => fun () => 00:04:32 verbose #6656 > > backend_switch { 00:04:32 verbose #6657 > > Python = fun () => global "import gc" 00:04:32 verbose #6658 > > } 00:04:32 verbose #6659 > > ($'gc.collect()' : int) |> ignore 00:04:32 verbose #6660 > > | _ => fun () => () 00:04:32 verbose #6661 > 00:04:31 debug #410 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f3aa0924a878ab2bffe1bd266ed9679e9eb386cb839eacb5f9e13e01f2fb4712/main.spi 00:04:32 verbose #6662 > > 00:04:32 verbose #6663 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:32 verbose #6664 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:32 verbose #6665 > > │ ## runtime │ 00:04:32 verbose #6666 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6667 > > 00:04:32 verbose #6668 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:32 verbose #6669 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:32 verbose #6670 > > │ ### execute_with_options │ 00:04:32 verbose #6671 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6672 > > 00:04:32 verbose #6673 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:32 verbose #6674 > > let execute_with_options (options : execution_options) : i32 * string = 00:04:32 verbose #6675 > > run_target function 00:04:32 verbose #6676 > > | Fsharp (Native) => fun () => 00:04:32 verbose #6677 > > options |> execute_with_options_async |> async.run_synchronously 00:04:32 verbose #6678 > > | Rust (Native) => fun () => 00:04:32 verbose #6679 > > inl command = join options.command 00:04:32 verbose #6680 > > inl file_name, arguments = command |> split_command |> resultm.get 00:04:32 verbose #6681 > > inl arguments = 00:04:32 verbose #6682 > > arguments 00:04:32 verbose #6683 > > |> optionm'.default_value "" 00:04:32 verbose #6684 > > |> split_args 00:04:32 verbose #6685 > > |> resultm.get 00:04:32 verbose #6686 > > |> am'.to_vec 00:04:32 verbose #6687 > > |> am'.vec_map sm'.to_std_string 00:04:32 verbose #6688 > > 00:04:32 verbose #6689 > > trace Debug 00:04:32 verbose #6690 > > fun () => $'$"runtime.execute_with_options"' 00:04:32 verbose #6691 > > fun () => { file_name arguments options } 00:04:32 verbose #6692 > > 00:04:32 verbose #6693 > > fun () => 00:04:32 verbose #6694 > > fun () => 00:04:32 verbose #6695 > > file_name 00:04:32 verbose #6696 > > |> new_process_command 00:04:32 verbose #6697 > > |> process_command_args arguments 00:04:32 verbose #6698 > > |> process_command_stdout (process_stdio_piped ()) 00:04:32 verbose #6699 > > |> process_command_stderr (process_stdio_piped ()) 00:04:32 verbose #6700 > > |> process_command_stdin (process_stdio_piped ()) 00:04:32 verbose #6701 > > |> fun command => 00:04:32 verbose #6702 > > match options.working_directory |> optionm'.unbox with 00:04:32 verbose #6703 > > | Some working_directory => 00:04:32 verbose #6704 > > command 00:04:32 verbose #6705 > > |> process_command_current_dir working_directory 00:04:32 verbose #6706 > > | None => command 00:04:32 verbose #6707 > > |> fun command => 00:04:32 verbose #6708 > > match options.environment_variables with 00:04:32 verbose #6709 > > | ;[[]] => command 00:04:32 verbose #6710 > > | vars => 00:04:32 verbose #6711 > > (command, vars |> am'.to_vec) 00:04:32 verbose #6712 > > ||> am'.vec_fold' fun command (key, value) => 00:04:32 verbose #6713 > > command |> process_command_env key value 00:04:32 verbose #6714 > > |> process_command_spawn 00:04:32 verbose #6715 > > |> resultm.map_error' sm'.format' 00:04:32 verbose #6716 > > |> resultm.map' (optionm'.some' >> threading.new_arc_mutex) 00:04:32 verbose #6717 > > |> resultm.unbox' 00:04:32 verbose #6718 > > |> function 00:04:32 verbose #6719 > > | Ok child => 00:04:32 verbose #6720 > > inl stdout = 00:04:32 verbose #6721 > > fun () => 00:04:32 verbose #6722 > > child 00:04:32 verbose #6723 > > |> threading.arc_mutex_lock 00:04:32 verbose #6724 > > |> resultm.unwrap' 00:04:32 verbose #6725 > > |> threading.mutex_guard_ref_mut 00:04:32 verbose #6726 > > |> optionm'.as_mut 00:04:32 verbose #6727 > > |> optionm'.unwrap 00:04:32 verbose #6728 > > |> process_child_stdout 00:04:32 verbose #6729 > > |> optionm'.take_ref_mut 00:04:32 verbose #6730 > > |> optionm'.unwrap 00:04:32 verbose #6731 > > |> rust.capture 00:04:32 verbose #6732 > > 00:04:32 verbose #6733 > > inl stderr = 00:04:32 verbose #6734 > > fun () => 00:04:32 verbose #6735 > > child 00:04:32 verbose #6736 > > |> threading.arc_mutex_lock 00:04:32 verbose #6737 > > |> resultm.unwrap' 00:04:32 verbose #6738 > > |> threading.mutex_guard_ref_mut 00:04:32 verbose #6739 > > |> optionm'.as_mut 00:04:32 verbose #6740 > > |> optionm'.unwrap 00:04:32 verbose #6741 > > |> process_child_stderr 00:04:32 verbose #6742 > > |> optionm'.take_ref_mut 00:04:32 verbose #6743 > > |> optionm'.unwrap 00:04:32 verbose #6744 > > |> rust.capture 00:04:32 verbose #6745 > > 00:04:32 verbose #6746 > > inl stdin = 00:04:32 verbose #6747 > > fun () => 00:04:32 verbose #6748 > > child 00:04:32 verbose #6749 > > |> threading.arc_mutex_lock 00:04:32 verbose #6750 > > |> resultm.unwrap' 00:04:32 verbose #6751 > > |> threading.mutex_guard_ref_mut 00:04:32 verbose #6752 > > |> optionm'.as_mut 00:04:32 verbose #6753 > > |> optionm'.unwrap 00:04:32 verbose #6754 > > |> process_child_stdin 00:04:32 verbose #6755 > > |> optionm'.take_ref_mut 00:04:32 verbose #6756 > > |> optionm'.unwrap 00:04:32 verbose #6757 > > |> optionm'.some' 00:04:32 verbose #6758 > > |> threading.new_arc_mutex 00:04:32 verbose #6759 > > |> rust.capture 00:04:32 verbose #6760 > > 00:04:32 verbose #6761 > > inl channel_sender, channel_receiver = 00:04:32 verbose #6762 > > threading.new_channel () 00:04:32 verbose #6763 > > inl channel_sender'' = channel_sender |> 00:04:32 verbose #6764 > > threading.new_arc_mutex 00:04:32 verbose #6765 > > inl channel_sender' = channel_sender |> 00:04:32 verbose #6766 > > threading.new_arc_mutex 00:04:32 verbose #6767 > > inl channel_receiver' = channel_receiver |> 00:04:32 verbose #6768 > > threading.new_arc_mutex 00:04:32 verbose #6769 > > 00:04:32 verbose #6770 > > inl stdout_handle = 00:04:32 verbose #6771 > > fun () => 00:04:32 verbose #6772 > > stdout 00:04:32 verbose #6773 > > |> stream.decode_reader_bytes_build 00:04:32 verbose #6774 > > |> stream.new_buf_reader 00:04:32 verbose #6775 > > |> stream.buf_read_lines 00:04:32 verbose #6776 > > |> iter.try_for_each fun lines => 00:04:32 verbose #6777 > > inl channel_sender'' = channel_sender'' 00:04:32 verbose #6778 > > |> rust.clone 00:04:32 verbose #6779 > > lines 00:04:32 verbose #6780 > > |> stdio_line (Ok ()) options.trace 00:04:32 verbose #6781 > > channel_sender'' 00:04:32 verbose #6782 > > |> resultm.to_try 00:04:32 verbose #6783 > > |> threading.spawn (1, 0) 1 00:04:32 verbose #6784 > > 00:04:32 verbose #6785 > > inl stderr_handle = 00:04:32 verbose #6786 > > fun () => 00:04:32 verbose #6787 > > stderr 00:04:32 verbose #6788 > > |> stream.decode_reader_bytes_build 00:04:32 verbose #6789 > > |> stream.new_buf_reader 00:04:32 verbose #6790 > > |> stream.buf_read_lines 00:04:32 verbose #6791 > > |> iter.try_for_each fun lines => 00:04:32 verbose #6792 > > inl channel_sender' = channel_sender' |> 00:04:32 verbose #6793 > > rust.clone 00:04:32 verbose #6794 > > lines 00:04:32 verbose #6795 > > |> stdio_line (Error ()) options.trace 00:04:32 verbose #6796 > > channel_sender' 00:04:32 verbose #6797 > > |> resultm.to_try 00:04:32 verbose #6798 > > |> threading.spawn (1, 0) 1 00:04:32 verbose #6799 > > 00:04:32 verbose #6800 > > match options.stdin |> optionm'.unbox with 00:04:32 verbose #6801 > > | Some stdin' => 00:04:32 verbose #6802 > > stdin 00:04:32 verbose #6803 > > |> threading.arc_mutex_lock 00:04:32 verbose #6804 > > |> resultm.unwrap' 00:04:32 verbose #6805 > > |> threading.mutex_guard_ref_mut 00:04:32 verbose #6806 > > |> optionm'.take_ref_mut 00:04:32 verbose #6807 > > |> optionm'.map' threading.new_arc_mutex 00:04:32 verbose #6808 > > |> optionm'.unbox 00:04:32 verbose #6809 > > |> function 00:04:32 verbose #6810 > > | Some stdin => 00:04:32 verbose #6811 > > stdin |> stdin' 00:04:32 verbose #6812 > > stdin 00:04:32 verbose #6813 > > |> threading.arc_mutex_lock 00:04:32 verbose #6814 > > |> resultm.unwrap' 00:04:32 verbose #6815 > > |> stdin_flush 00:04:32 verbose #6816 > > | None => () 00:04:32 verbose #6817 > > | None => () 00:04:32 verbose #6818 > > 00:04:32 verbose #6819 > > inl output = 00:04:32 verbose #6820 > > child 00:04:32 verbose #6821 > > |> threading.arc_mutex_lock 00:04:32 verbose #6822 > > |> resultm.unwrap' 00:04:32 verbose #6823 > > |> threading.mutex_guard_ref_mut 00:04:32 verbose #6824 > > |> optionm'.take_ref_mut 00:04:32 verbose #6825 > > |> optionm'.unwrap 00:04:32 verbose #6826 > > |> child_wait_with_output 00:04:32 verbose #6827 > > |> resultm.map_error' sm'.format' 00:04:32 verbose #6828 > > 00:04:32 verbose #6829 > > [[ stdout_handle; stderr_handle ]] 00:04:32 verbose #6830 > > |> am'.new_vec 00:04:32 verbose #6831 > > |> am'.vec_for_each' (threading.join' >> 00:04:32 verbose #6832 > > resultm.unwrap' >> resultm.unwrap') 00:04:32 verbose #6833 > > 00:04:32 verbose #6834 > > match output |> resultm.unbox with 00:04:32 verbose #6835 > > | Ok output => 00:04:32 verbose #6836 > > inl exit_code = 00:04:32 verbose #6837 > > output 00:04:32 verbose #6838 > > |> process_output_status 00:04:32 verbose #6839 > > |> process_exit_status_code 00:04:32 verbose #6840 > > |> optionm'.unbox 00:04:32 verbose #6841 > > match exit_code with 00:04:32 verbose #6842 > > | Some exit_code => exit_code, None, Some 00:04:32 verbose #6843 > > channel_receiver' 00:04:32 verbose #6844 > > | None => 00:04:32 verbose #6845 > > -1, 00:04:32 verbose #6846 > > ("runtime.execute_with_options 00:04:32 verbose #6847 > > exit_code=None" |> sm'.to_std_string |> Some), 00:04:32 verbose #6848 > > Some channel_receiver' 00:04:32 verbose #6849 > > | Error error => 00:04:32 verbose #6850 > > trace Critical 00:04:32 verbose #6851 > > fun () => $'$"runtime.execute_with_options 00:04:32 verbose #6852 > > output error"' 00:04:32 verbose #6853 > > fun () => { error } 00:04:32 verbose #6854 > > -2i32, error |> Some, None 00:04:32 verbose #6855 > > | Error error => 00:04:32 verbose #6856 > > trace Critical 00:04:32 verbose #6857 > > fun () => $'$"runtime.execute_with_options 00:04:32 verbose #6858 > > child error"' 00:04:32 verbose #6859 > > fun () => { error } 00:04:32 verbose #6860 > > -1i32, error |> Some, None 00:04:32 verbose #6861 > > |> function 00:04:32 verbose #6862 > > | exit_code, std_trace, channel_receiver => 00:04:32 verbose #6863 > > inl std_trace = 00:04:32 verbose #6864 > > channel_receiver 00:04:32 verbose #6865 > > |> optionm'.box 00:04:32 verbose #6866 > > |> optionm'.map' fun channel_receiver => 00:04:32 verbose #6867 > > channel_receiver 00:04:32 verbose #6868 > > |> threading.arc_mutex_lock 00:04:32 verbose #6869 > > |> resultm.unwrap' 00:04:32 verbose #6870 > > |> iter.iter 00:04:32 verbose #6871 > > |> iter_collect'' 00:04:32 verbose #6872 > > |> am'.vec_map sm'.from_std_string 00:04:32 verbose #6873 > > |> am'.from_vec 00:04:32 verbose #6874 > > |> fun x => x : _ i32 _ 00:04:32 verbose #6875 > > |> seq.of_array 00:04:32 verbose #6876 > > |> sm'.concat "\n" 00:04:32 verbose #6877 > > |> optionm'.default_value' ( 00:04:32 verbose #6878 > > std_trace 00:04:32 verbose #6879 > > |> optionm.map sm'.from_std_string 00:04:32 verbose #6880 > > |> optionm'.default_value "" 00:04:32 verbose #6881 > > ) 00:04:32 verbose #6882 > > trace Verbose 00:04:32 verbose #6883 > > fun () => $'$"runtime.execute_with_options 00:04:32 verbose #6884 > > result"' 00:04:32 verbose #6885 > > fun () => { exit_code std_trace_length = 00:04:32 verbose #6886 > > std_trace |> sm'.length : i32 } 00:04:32 verbose #6887 > > new_pair exit_code std_trace 00:04:32 verbose #6888 > > |> capture 00:04:32 verbose #6889 > > // |> async.future_init (3, 2) 1 00:04:32 verbose #6890 > > // |> async.block_on 00:04:32 verbose #6891 > > |> fun x => x () 00:04:32 verbose #6892 > > |> from_pair 00:04:32 verbose #6893 > > | _ => fun () => null () 00:04:32 verbose #6894 > 00:04:31 debug #411 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7e7db810248a36f509736559710a1fb9a5f5f257cfc3149400120b22cc50d5e8/main.spi 00:04:32 verbose #6895 > > 00:04:32 verbose #6896 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:32 verbose #6897 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:32 verbose #6898 > > │ #### execute │ 00:04:32 verbose #6899 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6900 > > 00:04:32 verbose #6901 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:32 verbose #6902 > > inl execute command = 00:04:32 verbose #6903 > > execution_options fun x => { x with 00:04:32 verbose #6904 > > command = command 00:04:32 verbose #6905 > > } 00:04:32 verbose #6906 > > |> execute_with_options 00:04:32 verbose #6907 > 00:04:32 debug #412 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/314eed6ab8084944ed3501cab9ff64acd820b8ea21ef536e7137f52d9562a24f/main.spi 00:04:32 verbose #6908 > > 00:04:32 verbose #6909 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:32 verbose #6910 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:32 verbose #6911 > > │ #### tests │ 00:04:32 verbose #6912 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:32 verbose #6913 > > 00:04:32 verbose #6914 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:32 verbose #6915 > > //// test 00:04:32 verbose #6916 > > ///! rust -d chrono encoding_rs encoding_rs_io regex sha2 00:04:32 verbose #6917 > > 00:04:32 verbose #6918 > > inl content = "╭─[[ 你好,世界!こんにちは世界! ]]─╮" 00:04:32 verbose #6919 > > 00:04:32 verbose #6920 > > inl file_name = join "test.txt" 00:04:32 verbose #6921 > > inl temp_dir, disposable = 00:04:32 verbose #6922 > > (file_name, content) 00:04:32 verbose #6923 > > |> sm'.format_debug 00:04:32 verbose #6924 > > |> crypto.hash_text 00:04:32 verbose #6925 > > |> file_system.create_temp_dir' 00:04:32 verbose #6926 > > inl path = temp_dir </> file_name |> file_system.normalize_path 00:04:32 verbose #6927 > > inl exit_code, result = 00:04:32 verbose #6928 > > execute $'\@$"pwsh -c ""[[IO.File]]::ReadAllText(\'{!path}\')"""' 00:04:32 verbose #6929 > > exit_code |> _assert_eq 1 00:04:32 verbose #6930 > > result |> _assert_string_contains "not find file" 00:04:32 verbose #6931 > > 00:04:32 verbose #6932 > > content |> file_system.write_all_text path 00:04:32 verbose #6933 > > 00:04:32 verbose #6934 > > execution_options fun x => { x with 00:04:32 verbose #6935 > > command = $'\@$"cat ""{!file_name}"""' 00:04:32 verbose #6936 > > working_directory = Some temp_dir |> optionm'.box 00:04:32 verbose #6937 > > } 00:04:32 verbose #6938 > > |> execute_with_options 00:04:32 verbose #6939 > > |> ignore 00:04:32 verbose #6940 > > 00:04:32 verbose #6941 > > inl exit_code, output = 00:04:32 verbose #6942 > > execution_options fun x => { x with 00:04:32 verbose #6943 > > command = $'\@$"pwsh -c ""[[System.Console]]::OutputEncoding = 00:04:32 verbose #6944 > > [[System.Text.Encoding]]::UTF8; [[IO.File]]::ReadAllText(\'{!file_name}\')"""' 00:04:32 verbose #6945 > > working_directory = Some temp_dir |> optionm'.box 00:04:32 verbose #6946 > > } 00:04:32 verbose #6947 > > |> execute_with_options 00:04:32 verbose #6948 > > 00:04:32 verbose #6949 > > exit_code |> _assert_eq 0i32 00:04:32 verbose #6950 > > output |> _assert_eq content 00:04:32 verbose #6951 > > 00:04:32 verbose #6952 > > disposable |> use |> ignore 00:04:32 verbose #6953 > 00:04:32 debug #413 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e4a40a02bce264d76ab69a8be42b6faaecf78b1c5bde192bfb463e01326c44fb/main.spi 00:04:47 verbose #6954 > > 00:04:47 verbose #6955 > > ╭─[ 14.97s - return value ]────────────────────────────────────────────────────╮ 00:04:47 verbose #6956 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:04:47 verbose #6957 > > │ /tmp/!create_temp_path_/spiral_builder_1d56a6b3d0076ddb27fa472cb41dce828ff5c │ 00:04:47 verbose #6958 > > │ 88acc71ec3ae2f03ee312b3dbec/9242780b-ce0e-9155-5e07-f6ee5667aa16 } │ 00:04:47 verbose #6959 > > │ 00:00:00 debug #2 runtime.execute_with_options / { file_name = pwsh; │ 00:04:47 verbose #6960 > > │ arguments = ["-c", "[ │ 00:04:47 verbose #6961 > > │ IO.File]::ReadAllText('/tmp/!create_temp_path_/spiral_builder_1d56a6b3d0076d │ 00:04:47 verbose #6962 > > │ db27fa472cb41dce828ff5c88acc71ec3ae2f03ee312b3dbec/9242780b-ce0e-9155-5e07-f │ 00:04:47 verbose #6963 > > │ 6ee5667aa16/test.txt')"]; options = { command = pwsh -c "[ │ 00:04:47 verbose #6964 > > │ IO.File]::ReadAllText('/tmp/!create_temp_path_/spiral_builder_1d56a6b3d0076d │ 00:04:47 verbose #6965 > > │ db27fa472cb41dce828ff5c88acc71ec3ae2f03ee312b3dbec/9242780b-ce0e-9155-5e07-f │ 00:04:47 verbose #6966 > > │ 6ee5667aa16/test.txt')"; cancellation_token = None; environment_variables = │ 00:04:47 verbose #6967 > > │ Array(MutCell([])); on_line = None; stdin = None; trace = true; │ 00:04:47 verbose #6968 > > │ working_directory = None } } │ 00:04:47 verbose #6969 > > │ 00:00:00 verbose #3 ! MethodInvocationException: Exception │ 00:04:47 verbose #6970 > > │ calling "ReadAllText" with "1" argument(s): "Could not find file │ 00:04:47 verbose #6971 > > │ '/tmp/!create_temp_path_/spiral_builder_1d56a6b3d0076ddb27fa472cb41dce828ff5 │ 00:04:47 verbose #6972 > > │ c88acc71ec3ae2f03ee312b3dbec/9242780b-ce0e-9155-5e07-f6ee5667aa16/test.txt'." │ 00:04:47 verbose #6973 > > │ [0m │ 00:04:47 verbose #6974 > > │ 00:00:00 verbose #4 runtime.execute_with_options / result / { │ 00:04:47 verbose #6975 > > │ exit_code = 1; std_trace_length = 283 } │ 00:04:47 verbose #6976 > > │ assert_eq / actual: 1 / expected: 1 │ 00:04:47 verbose #6977 > > │ assert_string_contains / actual: "not find file" / expected: "38;5;2m│ 00:04:47 verbose #6978 > > │ 31;1mMethodInvocationException: Exception calling "ReadAllText" with │ 00:04:47 verbose #6979 > > │ "1" argument(s): "Could not find file '/tmp/!create_temp_pat... debug38;5;2m│ 00:04:47 verbose #6980 > > │ 39m #5 runtime.execute_with_options / { file_name = cat; arguments = [ │ 00:04:47 verbose #6981 > > │ "test.txt"]; options = { command = cat "test.txt"; cancellation_token = │ 00:04:47 verbose #6982 > > │ None; environment_variables = Array(MutCell([])); on_line = None; stdin = │ 00:04:47 verbose #6983 > > │ None; trace = true; working_directory = │ 00:04:47 verbose #6984 > > │ Some("/tmp/!create_temp_path_/spiral_builder_1d56a6b3d0076ddb27fa472cb41dce8 │ 00:04:47 verbose #6985 > > │ 28ff5c88acc71ec3ae2f03ee312b3dbec/9242780b-ce0e-9155-5e07-f6ee5667aa16") } } │ 00:04:47 verbose #6986 > > │ 00:00:00 verbose #6 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │ 00:04:47 verbose #6987 > > │ 00:00:00 verbose #7 runtime.execute_with_options / result / { │ 00:04:47 verbose #6988 > > │ exit_code = 0; std_trace_length = 22 } │ 00:04:47 verbose #6989 > > │ 00:00:00 debug #8 runtime.execute_with_options / { file_name = pwsh; │ 00:04:47 verbose #6990 > > │ arguments = ["-c", "[System.Console]::OutputEncoding = [ │ 00:04:47 verbose #6991 > > │ System.Text.Encoding]::UTF8; [IO.File]::ReadAllText('test.txt')"]; options = │ 00:04:47 verbose #6992 > > │ { command = pwsh -c "[System.Console]::OutputEncoding = [ │ 00:04:47 verbose #6993 > > │ System.Text.Encoding]::UTF8; [IO.File]::ReadAllText('test.txt')"; │ 00:04:47 verbose #6994 > > │ cancellation_token = None; environment_variables = Array(MutCell([])); │ 00:04:47 verbose #6995 > > │ on_line = None; stdin = None; trace = true; working_directory = │ 00:04:47 verbose #6996 > > │ Some("/tmp/!create_temp_path_/spiral_builder_1d56a6b3d0076ddb27fa472cb41dce8 │ 00:04:47 verbose #6997 > > │ 28ff5c88acc71ec3ae2f03ee312b3dbec/9242780b-ce0e-9155-5e07-f6ee5667aa16") } } │ 00:04:47 verbose #6998 > > │ 00:00:00 verbose #9 > ╭─[ 你好,世界!こんにちは世界! ]─╮ │ 00:04:47 verbose #6999 > > │ 00:00:00 verbose #10 runtime.execute_with_options / result / { │ 00:04:47 verbose #7000 > > │ exit_code = 0; std_trace_length = 22 } │ 00:04:47 verbose #7001 > > │ assert_eq / actual: 0 / expected: 0 │ 00:04:47 verbose #7002 > > │ assert_eq / actual: "╭─[ 你好,世界!こんにちは世界! ]─╮" / expected: "╭─[ │ 00:04:47 verbose #7003 > > │ 你好,世界!こんにちは世界! ]─╮" │ 00:04:47 verbose #7004 > > │ │ 00:04:47 verbose #7005 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:47 verbose #7006 > > 00:04:47 verbose #7007 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:47 verbose #7008 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:47 verbose #7009 > > │ ### execute_retry │ 00:04:47 verbose #7010 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:47 verbose #7011 > > 00:04:47 verbose #7012 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:47 verbose #7013 > > let execute_retry retries options = 00:04:47 verbose #7014 > > fun () => 00:04:47 verbose #7015 > > inl exit_code, result = options |> execute_with_options 00:04:47 verbose #7016 > > if exit_code = 0 00:04:47 verbose #7017 > > then Ok (exit_code, result) 00:04:47 verbose #7018 > > else Error (exit_code, result) 00:04:47 verbose #7019 > > |> retry_fn' retries 00:04:47 verbose #7020 > 00:04:47 debug #414 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/523028c1de3c9804f08d33fb1a0a3783a6cf7ac89da301fef61dc9bad7938879/main.spi 00:04:47 verbose #7021 > > 00:04:47 verbose #7022 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:47 verbose #7023 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:47 verbose #7024 > > │ ## main │ 00:04:47 verbose #7025 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:47 verbose #7026 > > 00:04:47 verbose #7027 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:47 verbose #7028 > > inl main () = 00:04:47 verbose #7029 > > init_trace_state None 00:04:47 verbose #7030 > > $'let current_process_kill () = !current_process_kill ()' : () 00:04:47 verbose #7031 > > $'let execute_async x = !execute_async x' : () 00:04:47 verbose #7032 > > $'let execute_with_options_async x = !execute_with_options_async x' : () 00:04:47 verbose #7033 > > inl execution_options fn = 00:04:47 verbose #7034 > > execution_options fun x => 00:04:47 verbose #7035 > > x 00:04:47 verbose #7036 > > |> heap 00:04:47 verbose #7037 > > |> fn 00:04:47 verbose #7038 > > |> fun x => !x 00:04:47 verbose #7039 > > $'let execution_options x = !execution_options x' : () 00:04:47 verbose #7040 > > inl split_args x = x |> split_args |> resultm.box 00:04:47 verbose #7041 > > $'let split_args x = !split_args x' : () 00:04:47 verbose #7042 > 00:04:47 debug #415 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/220ffb2c08cd82eaaa2de1d7d833856d6339de237646f9254ca5506b03149dd7/main.spi 00:04:49 verbose #7043 > 00:01:29 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 138924 } 00:04:49 verbose #7044 > 00:01:29 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:04:50 verbose #7045 > 00:01:30 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.ipynb to html 00:04:50 verbose #7046 > 00:01:30 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:04:50 verbose #7047 > 00:01:30 verbose #7 ! validate(nb) 00:04:50 verbose #7048 > 00:01:31 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:04:50 verbose #7049 > 00:01:31 verbose #9 ! return _pygments_highlight( 00:04:51 verbose #7050 > 00:01:32 verbose #10 ! [NbConvertApp] Writing 574249 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.html 00:04:51 verbose #7051 > 00:01:32 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:04:51 verbose #7052 > 00:01:32 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:04:51 verbose #7053 > 00:01:32 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/runtime.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:04:52 verbose #7054 > 00:01:32 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:04:52 verbose #7055 > 00:01:32 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:04:52 verbose #7056 > 00:01:32 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 139881 } 00:04:52 debug #7057 runtime.execute_with_options_async / { exit_code = 0; output_length = 147183 } 00:04:52 debug #9 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path runtime.dib --retries 3 00:04:52 debug #7058 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path trace.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:04:52 verbose #7059 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "trace.dib", "--retries", "3"])) } 00:04:52 verbose #7060 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:04:53 verbose #7061 > > 00:04:53 verbose #7062 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:53 verbose #7063 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:53 verbose #7064 > > │ # trace │ 00:04:53 verbose #7065 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:56 verbose #7066 > > 00:04:56 verbose #7067 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:56 verbose #7068 > > //// test 00:04:56 verbose #7069 > > 00:04:56 verbose #7070 > > open testing 00:04:56 verbose #7071 > 00:04:56 debug #416 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:04:56 verbose #7072 > > 00:04:56 verbose #7073 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:56 verbose #7074 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:56 verbose #7075 > > │ ## trace │ 00:04:56 verbose #7076 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:56 verbose #7077 > > 00:04:56 verbose #7078 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:56 verbose #7079 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:56 verbose #7080 > > │ ### trace_level │ 00:04:56 verbose #7081 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:56 verbose #7082 > > 00:04:56 verbose #7083 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:56 verbose #7084 > > union trace_level = 00:04:56 verbose #7085 > > | Verbose 00:04:56 verbose #7086 > > | Debug 00:04:56 verbose #7087 > > | Info 00:04:56 verbose #7088 > > | Warning 00:04:56 verbose #7089 > > | Critical 00:04:56 verbose #7090 > 00:04:56 debug #417 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/78bc2ae7354d0a8078c262b56b61752f85e4441d8671416a152452fb02690d56/main.spi 00:04:56 verbose #7091 > > 00:04:56 verbose #7092 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:56 verbose #7093 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:56 verbose #7094 > > │ ### read_state │ 00:04:56 verbose #7095 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:56 verbose #7096 > > 00:04:56 verbose #7097 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:56 verbose #7098 > > inl read_state () = 00:04:56 verbose #7099 > > run_target function 00:04:56 verbose #7100 > > | Rust (Contract | Wasm) => fun () => 00:04:56 verbose #7101 > > { 00:04:56 verbose #7102 > > trace_level = None 00:04:56 verbose #7103 > > repl_start = None 00:04:56 verbose #7104 > > } 00:04:56 verbose #7105 > > | _ => fun () => 00:04:56 verbose #7106 > > { 00:04:56 verbose #7107 > > trace_level = 00:04:56 verbose #7108 > > (join "TRACE_LEVEL") 00:04:56 verbose #7109 > > |> env.get_environment_variable 00:04:56 verbose #7110 > > |> reflection.union_try_pick 00:04:56 verbose #7111 > > repl_start = 00:04:56 verbose #7112 > > inl automation = env.get_environment_variable (join 00:04:56 verbose #7113 > > "AUTOMATION") 00:04:56 verbose #7114 > > if automation = "True" 00:04:56 verbose #7115 > > then date_time.now () |> date_time.ticks |> fun 00:04:56 verbose #7116 > > (date_time.timestamp x) => x |> Some 00:04:56 verbose #7117 > > else None 00:04:56 verbose #7118 > > } 00:04:56 verbose #7119 > 00:04:56 debug #418 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52a78d9d1df5876aef0d235fe4d7d195b9a13a89214cea45c94929eea8c8b6e4/main.spi 00:04:57 verbose #7120 > > 00:04:57 verbose #7121 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:57 verbose #7122 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:57 verbose #7123 > > │ ### trace_state │ 00:04:57 verbose #7124 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:57 verbose #7125 > > 00:04:57 verbose #7126 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:57 verbose #7127 > > type trace_state = 00:04:57 verbose #7128 > > { 00:04:57 verbose #7129 > > count : mut i64 00:04:57 verbose #7130 > > trace_file : mut (string -> ()) 00:04:57 verbose #7131 > > enabled : mut bool 00:04:57 verbose #7132 > > level : mut trace_level 00:04:57 verbose #7133 > > repl_start : optionm'.option' i64 00:04:57 verbose #7134 > > } 00:04:57 verbose #7135 > > 00:04:57 verbose #7136 > > inl new_trace_state trace_level' = 00:04:57 verbose #7137 > > inl { repl_start trace_level } = read_state () 00:04:57 verbose #7138 > > { 00:04:57 verbose #7139 > > enabled = mut true 00:04:57 verbose #7140 > > count = mut 0i64 00:04:57 verbose #7141 > > level = trace_level |> optionm'.default_value trace_level' |> mut 00:04:57 verbose #7142 > > trace_file = mut ignore 00:04:57 verbose #7143 > > repl_start = repl_start |> optionm'.box 00:04:57 verbose #7144 > > } : trace_state 00:04:57 verbose #7145 > 00:04:56 debug #419 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/972646f797c4ae3c7194416f5bd3848433586068c65036778b9c3910eb3c00e1/main.spi 00:04:57 verbose #7146 > > 00:04:57 verbose #7147 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:57 verbose #7148 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:57 verbose #7149 > > │ ### init_trace_state │ 00:04:57 verbose #7150 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:57 verbose #7151 > > 00:04:57 verbose #7152 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:57 verbose #7153 > > inl init_trace_state trace_level : () = 00:04:57 verbose #7154 > > inl trace_level = 00:04:57 verbose #7155 > > trace_level 00:04:57 verbose #7156 > > |> optionm'.default_value Verbose 00:04:57 verbose #7157 > > backend_switch { 00:04:57 verbose #7158 > > Fsharp = fun () => 00:04:57 verbose #7159 > > global "module State = let mutable trace_state = None" 00:04:57 verbose #7160 > > $'if State.trace_state.IsNone then State.trace_state <- 00:04:57 verbose #7161 > > !new_trace_state !trace_level |> Some' : () 00:04:57 verbose #7162 > > Python = fun () => 00:04:57 verbose #7163 > > global "class State: trace_state = None" 00:04:57 verbose #7164 > > $'if State.trace_state is None: State.trace_state = 00:04:57 verbose #7165 > > !new_trace_state(!trace_level)' : () 00:04:57 verbose #7166 > > } 00:04:57 verbose #7167 > 00:04:56 debug #420 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ec1faf4c322cc553b945b7ec6a5599492998e1661c646fba4b1457ebb3bbfa9c/main.spi 00:04:57 verbose #7168 > > 00:04:57 verbose #7169 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:57 verbose #7170 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:57 verbose #7171 > > │ ### get_trace_state_or_init │ 00:04:57 verbose #7172 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:57 verbose #7173 > > 00:04:57 verbose #7174 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:57 verbose #7175 > > inl get_trace_state_or_init trace_level : trace_state = 00:04:57 verbose #7176 > > init_trace_state trace_level 00:04:57 verbose #7177 > > // $'match State.trace_state with Some x -> x | None -> failwith 00:04:57 verbose #7178 > > "trace.get_trace_state_or_init / State.trace_state=None"' 00:04:57 verbose #7179 > > backend_switch { 00:04:57 verbose #7180 > > Fsharp = fun () => 00:04:57 verbose #7181 > > $'State.trace_state.Value' : trace_state 00:04:57 verbose #7182 > > Python = fun () => 00:04:57 verbose #7183 > > $'State.trace_state' : trace_state 00:04:57 verbose #7184 > > } 00:04:57 verbose #7185 > 00:04:56 debug #421 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d6a8cabdaf8629b592d58fbb7f963e14b44e7acd9051e2dd3d975ea7e12fb692/main.spi 00:04:57 verbose #7186 > > 00:04:57 verbose #7187 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:04:57 verbose #7188 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:04:57 verbose #7189 > > │ ### test_trace_level │ 00:04:57 verbose #7190 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:04:57 verbose #7191 > > 00:04:57 verbose #7192 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:57 verbose #7193 > > inl test_trace_level level : bool = 00:04:57 verbose #7194 > > inl state = get_trace_state_or_init None 00:04:57 verbose #7195 > > inl level' = *state.level 00:04:57 verbose #7196 > > if *state.enabled |> not 00:04:57 verbose #7197 > > then false 00:04:57 verbose #7198 > > else 00:04:57 verbose #7199 > > inl level : i32 = real real_core.union_tag level 00:04:57 verbose #7200 > > inl level' : i32 = real real_core.union_tag level' 00:04:57 verbose #7201 > > level >= level' 00:04:57 verbose #7202 > 00:04:56 debug #422 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/73499a55cef8e8173ea9b9b47892a3d2539e7de62b5476063d9586d118f345e8/main.spi 00:04:57 verbose #7203 > > 00:04:57 verbose #7204 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:04:57 verbose #7205 > > //// test 00:04:57 verbose #7206 > > ///! fsharp 00:04:57 verbose #7207 > > ///! cuda 00:04:57 verbose #7208 > > ///! rust 00:04:57 verbose #7209 > > ///! typescript 00:04:57 verbose #7210 > > ///! python 00:04:57 verbose #7211 > > 00:04:57 verbose #7212 > > test_trace_level Critical |> _assert_eq true 00:04:57 verbose #7213 > > test_trace_level Verbose |> _assert_eq true 00:04:57 verbose #7214 > > 00:04:57 verbose #7215 > > inl level = get_trace_state_or_init None .level 00:04:57 verbose #7216 > > level <- Debug 00:04:57 verbose #7217 > > test_trace_level Verbose |> _assert_eq false 00:04:57 verbose #7218 > > level <- Verbose 00:04:57 verbose #7219 > > test_trace_level Verbose |> _assert_eq true 00:04:57 verbose #7220 > 00:04:57 debug #423 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/233931a2f84073a1d335a45475b9119a2ddca4622148e87deb5e93cd857044a6/main.spi 00:04:57 verbose #7221 > 00:04:57 debug #424 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/711f4602b3afdf526bd909f03b6ac554be9fa587f013c5f5666b0ce9776d5e9b/main.spi 00:05:11 verbose #7222 > > 00:05:11 verbose #7223 > > ╭─[ 14.11s - return value ]────────────────────────────────────────────────────╮ 00:05:11 verbose #7224 > > │ │ 00:05:11 verbose #7225 > > │ .py output (Cuda): │ 00:05:11 verbose #7226 > > │ assert_eq / actual: True / expected: True │ 00:05:11 verbose #7227 > > │ assert_eq / actual: True / expected: True │ 00:05:11 verbose #7228 > > │ assert_eq / actual: False / expected: False │ 00:05:11 verbose #7229 > > │ assert_eq / actual: True / expected: True │ 00:05:11 verbose #7230 > > │ │ 00:05:11 verbose #7231 > > │ │ 00:05:11 verbose #7232 > > │ .rs output: │ 00:05:11 verbose #7233 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7234 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7235 > > │ assert_eq / actual: false / expected: false │ 00:05:11 verbose #7236 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7237 > > │ │ 00:05:11 verbose #7238 > > │ │ 00:05:11 verbose #7239 > > │ .ts output: │ 00:05:11 verbose #7240 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7241 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7242 > > │ assert_eq / actual: false / expected: false │ 00:05:11 verbose #7243 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7244 > > │ │ 00:05:11 verbose #7245 > > │ │ 00:05:11 verbose #7246 > > │ .py output: │ 00:05:11 verbose #7247 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7248 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7249 > > │ assert_eq / actual: false / expected: false │ 00:05:11 verbose #7250 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7251 > > │ │ 00:05:11 verbose #7252 > > │ │ 00:05:11 verbose #7253 > > │ │ 00:05:11 verbose #7254 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:11 verbose #7255 > > 00:05:11 verbose #7256 > > ╭─[ 14.12s - stdout ]──────────────────────────────────────────────────────────╮ 00:05:11 verbose #7257 > > │ .fsx output: │ 00:05:11 verbose #7258 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7259 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7260 > > │ assert_eq / actual: false / expected: false │ 00:05:11 verbose #7261 > > │ assert_eq / actual: true / expected: true │ 00:05:11 verbose #7262 > > │ │ 00:05:11 verbose #7263 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:11 verbose #7264 > > 00:05:11 verbose #7265 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:11 verbose #7266 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:11 verbose #7267 > > │ ### trace_raw │ 00:05:11 verbose #7268 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:11 verbose #7269 > > 00:05:11 verbose #7270 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:11 verbose #7271 > > let rec trace_raw level fn = 00:05:11 verbose #7272 > > inl trace_state = get_trace_state_or_init None 00:05:11 verbose #7273 > > if level |> test_trace_level then 00:05:11 verbose #7274 > > inl count = trace_state.count 00:05:11 verbose #7275 > > count <- *count + 1 00:05:11 verbose #7276 > > 00:05:11 verbose #7277 > > inl text = 00:05:11 verbose #7278 > > backend_switch { 00:05:11 verbose #7279 > > Fsharp = fun () => $'$"%s{!fn ()}"' : string 00:05:11 verbose #7280 > > Python = fun () => fn () : string 00:05:11 verbose #7281 > > } 00:05:11 verbose #7282 > > run_target function 00:05:11 verbose #7283 > > | Rust _ => fun () => 00:05:11 verbose #7284 > > open rust 00:05:11 verbose #7285 > > open rust.rust_operators 00:05:11 verbose #7286 > > !\\(text, $'\@"println\!(""{}"", $0)"') 00:05:11 verbose #7287 > > | _ => fun () => 00:05:11 verbose #7288 > > backend_switch { 00:05:11 verbose #7289 > > Fsharp = fun () => $'System.Console.WriteLine !text ' : () 00:05:11 verbose #7290 > > Python = fun () => $'print(!text)' : () 00:05:11 verbose #7291 > > } 00:05:11 verbose #7292 > > 00:05:11 verbose #7293 > > *trace_state.trace_file text 00:05:11 verbose #7294 > 00:05:11 debug #425 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ff312a5081b6e7715d5e8bf330bca598c907bab1ed46a44df653953d2be98205/main.spi 00:05:11 verbose #7295 > > 00:05:11 verbose #7296 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:11 verbose #7297 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:11 verbose #7298 > > │ ### trace │ 00:05:11 verbose #7299 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:11 verbose #7300 > > 00:05:11 verbose #7301 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:11 verbose #7302 > > let trace (level : trace_level) (text_fn : () -> string) (locals : () -> _) = 00:05:11 verbose #7303 > > fun () => 00:05:11 verbose #7304 > > inl trace_state = get_trace_state_or_init None 00:05:11 verbose #7305 > > inl time = 00:05:11 verbose #7306 > > run_target fun target => 00:05:11 verbose #7307 > > match target with 00:05:11 verbose #7308 > > | Rust (Contract) => fun () => join "" 00:05:11 verbose #7309 > > | _ => fun () => 00:05:11 verbose #7310 > > match trace_state.repl_start |> optionm'.unbox with 00:05:11 verbose #7311 > > | Some repl_start => 00:05:11 verbose #7312 > > inl t = 00:05:11 verbose #7313 > > (date_time.now () |> date_time.ticks |> fun 00:05:11 verbose #7314 > > (date_time.timestamp x) => x) 00:05:11 verbose #7315 > > - repl_start |> date_time.time_span 00:05:11 verbose #7316 > > date_time.date_time_milliseconds 00:05:11 verbose #7317 > > 1i32 1i32 1i32 00:05:11 verbose #7318 > > (t |> date_time.hours) 00:05:11 verbose #7319 > > (t |> date_time.minutes) 00:05:11 verbose #7320 > > (t |> date_time.seconds) 00:05:11 verbose #7321 > > (t |> date_time.milliseconds) 00:05:11 verbose #7322 > > | None => date_time.now () 00:05:11 verbose #7323 > > |> date_time.format ( 00:05:11 verbose #7324 > > backend_switch { 00:05:11 verbose #7325 > > Fsharp = fun () => 00:05:11 verbose #7326 > > match target with 00:05:11 verbose #7327 > > | Rust _ => join "hh:mm:ss" 00:05:11 verbose #7328 > > | _ => join "HH:mm:ss" 00:05:11 verbose #7329 > > Python = fun () => "%H:%M:%S" 00:05:11 verbose #7330 > > } 00:05:11 verbose #7331 > > ) 00:05:11 verbose #7332 > > inl level_str = level |> reflection.union_to_string |> sm'.to_lower |> 00:05:11 verbose #7333 > > sm'.pad_left 7 ' ' 00:05:11 verbose #7334 > > inl level_str = 00:05:11 verbose #7335 > > run_target function 00:05:11 verbose #7336 > > | Rust _ => fun () => 00:05:11 verbose #7337 > > open rust 00:05:11 verbose #7338 > > open rust.rust_operators 00:05:11 verbose #7339 > > inl color : rust.ref sm'.str = 00:05:11 verbose #7340 > > match level with 00:05:11 verbose #7341 > > | Verbose => 00:05:11 verbose #7342 > > !\($'"inline_colorization::color_bright_black"') 00:05:11 verbose #7343 > > | Debug => !\($'"inline_colorization::color_bright_blue"') 00:05:11 verbose #7344 > > | Info => !\($'"inline_colorization::color_bright_green"') 00:05:11 verbose #7345 > > | Warning => !\($'"inline_colorization::color_yellow"') 00:05:11 verbose #7346 > > | Critical => !\($'"inline_colorization::color_bright_red"') 00:05:11 verbose #7347 > > inl level_str = level_str |> sm'.as_str 00:05:11 verbose #7348 > > inl color_reset : rust.ref sm'.str = 00:05:11 verbose #7349 > > !\($'"inline_colorization::color_reset"') 00:05:11 verbose #7350 > > $'"\\\"{!color}{!level_str}{!color_reset}\\\""' 00:05:11 verbose #7351 > > |> sm'.format'' 00:05:11 verbose #7352 > > |> sm'.from_std_string 00:05:11 verbose #7353 > > | _ => fun () => 00:05:11 verbose #7354 > > inl color = 00:05:11 verbose #7355 > > match level with 00:05:11 verbose #7356 > > | Verbose => $'"\\u001b[[90m"' 00:05:11 verbose #7357 > > | Debug => $'"\\u001b[[94m"' 00:05:11 verbose #7358 > > | Info => $'"\\u001b[[92m"' 00:05:11 verbose #7359 > > | Warning => $'"\\u001b[[93m"' 00:05:11 verbose #7360 > > | Critical => $'"\\u001b[[91m"' 00:05:11 verbose #7361 > > inl color_reset = join $'"\\u001b[[0m"' 00:05:11 verbose #7362 > > color +. level_str +. color_reset 00:05:11 verbose #7363 > > inl count = *trace_state.count 00:05:11 verbose #7364 > > inl locals = locals () |> sm'.format 00:05:11 verbose #7365 > > backend_switch { 00:05:11 verbose #7366 > > Fsharp = fun () => $'$"{!time} {!level_str} #{!count} %s{!text_fn 00:05:11 verbose #7367 > > ()} / {!locals}"' : string 00:05:11 verbose #7368 > > Python = fun () => $'f"{!time} {!level_str} #{!count} {!text_fn()} 00:05:11 verbose #7369 > > {!locals}"' : string 00:05:11 verbose #7370 > > } 00:05:11 verbose #7371 > > |> sm'.trim_start [[]] 00:05:11 verbose #7372 > > |> sm'.trim_end [[ ' '; '/' ]] 00:05:11 verbose #7373 > > |> trace_raw level 00:05:11 verbose #7374 > 00:05:11 debug #426 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b9c61806126731160a5d3c43b4072aaca36317d7d5df3d3fb2f836c05c7cb086/main.spi 00:05:11 verbose #7375 > > 00:05:11 verbose #7376 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:11 verbose #7377 > > //// test 00:05:11 verbose #7378 > > ///! fsharp 00:05:11 verbose #7379 > > ///! cuda 00:05:11 verbose #7380 > > ///! rust 00:05:11 verbose #7381 > > ///! typescript 00:05:11 verbose #7382 > > ///! python 00:05:11 verbose #7383 > > 00:05:11 verbose #7384 > > trace Debug (fun () => "test1") id 00:05:11 verbose #7385 > > trace Debug (fun () => "test2") id 00:05:11 verbose #7386 > > get_trace_state_or_init None .count 00:05:11 verbose #7387 > > |> fun x => *x 00:05:11 verbose #7388 > > |> _assert_eq 2 00:05:11 verbose #7389 > 00:05:11 debug #427 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/236c17a6a368a8a49444ae8f32be8fae04814ae60343fc0c00678b7bf19003d8/main.spi 00:05:11 verbose #7390 > 00:05:11 debug #428 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f59dbfb3150c9ae0bfc180c95fdc91220ffb320bbf95c0d9d6fd3724e3491896/main.spi 00:05:24 verbose #7391 > > 00:05:24 verbose #7392 > > ╭─[ 13.02s - return value ]────────────────────────────────────────────────────╮ 00:05:24 verbose #7393 > > │ │ 00:05:24 verbose #7394 > > │ .py output (Cuda): │ 00:05:24 verbose #7395 > > │ 00:00:01 debug #1 test1 │ 00:05:24 verbose #7396 > > │ 00:00:07 debug #2 test2 │ 00:05:24 verbose #7397 > > │ assert_eq / actual: 2 / expected: 2 │ 00:05:24 verbose #7398 > > │ │ 00:05:24 verbose #7399 > > │ │ 00:05:24 verbose #7400 > > │ .rs output: │ 00:05:24 verbose #7401 > > │ 00:00:00 debug #1 test1 │ 00:05:24 verbose #7402 > > │ 00:00:00 debug #2 test2 │ 00:05:24 verbose #7403 > > │ assert_eq / actual: 2 / expected: 2 │ 00:05:24 verbose #7404 > > │ │ 00:05:24 verbose #7405 > > │ │ 00:05:24 verbose #7406 > > │ .ts output: │ 00:05:24 verbose #7407 > > │ 00:00:00 debug #1 test1 │ 00:05:24 verbose #7408 > > │ 00:00:00 debug #2 test2 │ 00:05:24 verbose #7409 > > │ assert_eq / actual: 2 / expected: 2 │ 00:05:24 verbose #7410 > > │ │ 00:05:24 verbose #7411 > > │ │ 00:05:24 verbose #7412 > > │ .py output: │ 00:05:24 verbose #7413 > > │ 00:00:00 debug #1 test1 │ 00:05:24 verbose #7414 > > │ 00:00:00 debug #2 test2 │ 00:05:24 verbose #7415 > > │ assert_eq / actual: 2 / expected: 2 │ 00:05:24 verbose #7416 > > │ │ 00:05:24 verbose #7417 > > │ │ 00:05:24 verbose #7418 > > │ │ 00:05:24 verbose #7419 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:24 verbose #7420 > > 00:05:24 verbose #7421 > > ╭─[ 13.02s - stdout ]──────────────────────────────────────────────────────────╮ 00:05:24 verbose #7422 > > │ .fsx output: │ 00:05:24 verbose #7423 > > │ 00:00:00 debug #1 test1 │ 00:05:24 verbose #7424 > > │ 00:00:00 debug #2 test2 │ 00:05:24 verbose #7425 > > │ assert_eq / actual: 2L / expected: 2L │ 00:05:24 verbose #7426 > > │ │ 00:05:24 verbose #7427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:24 verbose #7428 > > 00:05:24 verbose #7429 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:24 verbose #7430 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:24 verbose #7431 > > │ ## main │ 00:05:24 verbose #7432 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:24 verbose #7433 > > 00:05:24 verbose #7434 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:24 verbose #7435 > > inl main () = 00:05:24 verbose #7436 > > init_trace_state None 00:05:24 verbose #7437 > > inl trace level text_fn (locals : () -> string) = trace level text_fn locals 00:05:24 verbose #7438 > > $'let trace x = !trace x' : () 00:05:24 verbose #7439 > 00:05:24 debug #429 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dcd09122d188dc2720c97fdc34fc0ed553e55c318ac0c40e344878352dcce2e6/main.spi 00:05:25 verbose #7440 > 00:00:32 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 20892 } 00:05:25 verbose #7441 > 00:00:32 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:05:25 verbose #7442 > 00:00:33 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.ipynb to html 00:05:25 verbose #7443 > 00:00:33 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:05:25 verbose #7444 > 00:00:33 verbose #7 ! validate(nb) 00:05:26 verbose #7445 > 00:00:33 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:05:26 verbose #7446 > 00:00:33 verbose #9 ! return _pygments_highlight( 00:05:26 verbose #7447 > 00:00:34 verbose #10 ! [NbConvertApp] Writing 314049 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.html 00:05:26 verbose #7448 > 00:00:34 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 894 } 00:05:26 verbose #7449 > 00:00:34 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 894 } 00:05:26 verbose #7450 > 00:00:34 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/trace.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:05:26 verbose #7451 > 00:00:34 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:05:26 verbose #7452 > 00:00:34 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:05:26 verbose #7453 > 00:00:34 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 21845 } 00:05:26 debug #7454 runtime.execute_with_options_async / { exit_code = 0; output_length = 25349 } 00:05:26 debug #10 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path trace.dib --retries 3 00:05:26 debug #7455 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path am'.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:05:26 verbose #7456 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "am'.dib", "--retries", "3"])) } 00:05:26 verbose #7457 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:05:28 verbose #7458 > > 00:05:28 verbose #7459 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:28 verbose #7460 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:28 verbose #7461 > > │ # am' │ 00:05:28 verbose #7462 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:30 verbose #7463 > > 00:05:30 verbose #7464 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:30 verbose #7465 > > //// test 00:05:30 verbose #7466 > > 00:05:30 verbose #7467 > > open testing 00:05:30 verbose #7468 > 00:05:30 debug #430 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:05:31 verbose #7469 > > 00:05:31 verbose #7470 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7471 > > open rust 00:05:31 verbose #7472 > > open rust_operators 00:05:31 verbose #7473 > 00:05:30 debug #431 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/99d3bf64d597281af4b0797a894e23c32802a4d97ba91164826ac21a270d370b/main.spi 00:05:31 verbose #7474 > > 00:05:31 verbose #7475 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7476 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7477 > > │ ## am' │ 00:05:31 verbose #7478 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7479 > > 00:05:31 verbose #7480 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7481 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7482 > > │ ### length │ 00:05:31 verbose #7483 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7484 > > 00:05:31 verbose #7485 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7486 > > inl length forall dim {int} el. (a : a dim el) : dim = 00:05:31 verbose #7487 > > a |> length 00:05:31 verbose #7488 > 00:05:30 debug #432 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0e0f57d9b9af5650b1e8a654460704f6d54674f36aa0a6e0c1b211a8f019755f/main.spi 00:05:31 verbose #7489 > > 00:05:31 verbose #7490 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7491 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7492 > > │ ### index │ 00:05:31 verbose #7493 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7494 > > 00:05:31 verbose #7495 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7496 > > inl index forall dim {int} el. (i : dim) (a : a dim el) : el = 00:05:31 verbose #7497 > > index a i 00:05:31 verbose #7498 > 00:05:31 debug #433 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d17ab181ee73a10a567befcfb91c27d908055d67f501572274e5d1c27a1b4017/main.spi 00:05:31 verbose #7499 > > 00:05:31 verbose #7500 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7501 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7502 > > │ ### base │ 00:05:31 verbose #7503 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7504 > > 00:05:31 verbose #7505 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7506 > > inl base forall dim {int} el. ((a a) : a dim el) : array_base el = 00:05:31 verbose #7507 > > a 00:05:31 verbose #7508 > 00:05:31 debug #434 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0d5cd47dd68ddb09559fe3ad0b59ae37615eb26c582a3fc3413d97f26bc6770c/main.spi 00:05:31 verbose #7509 > > 00:05:31 verbose #7510 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7511 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7512 > > │ ### base' │ 00:05:31 verbose #7513 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7514 > > 00:05:31 verbose #7515 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7516 > > inl base' forall el. ((a a) : a int el) : array_base el = 00:05:31 verbose #7517 > > a 00:05:31 verbose #7518 > 00:05:31 debug #435 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ef23f873c02ce5f065124c357b92dad88110ac20d60d45bb9c82ef4451f5769/main.spi 00:05:31 verbose #7519 > > 00:05:31 verbose #7520 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7521 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7522 > > │ ### generic_equable │ 00:05:31 verbose #7523 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7524 > > 00:05:31 verbose #7525 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7526 > > inl generic_equable x1 x2 = 00:05:31 verbose #7527 > > if length x1 <>.. length x2 00:05:31 verbose #7528 > > then false 00:05:31 verbose #7529 > > else 00:05:31 verbose #7530 > > let rec loop i = 00:05:31 verbose #7531 > > if i < length x1 00:05:31 verbose #7532 > > then index i x1 = index i x2 && loop (i + 1) 00:05:31 verbose #7533 > > else true 00:05:31 verbose #7534 > > loop 0 00:05:31 verbose #7535 > 00:05:31 debug #436 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/373d9a00a68649ba18610363c4f4e1457e3296346deccd94d81f4bef12b05b65/main.spi 00:05:31 verbose #7536 > > 00:05:31 verbose #7537 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7538 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7539 > > │ ### equable │ 00:05:31 verbose #7540 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7541 > > 00:05:31 verbose #7542 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7543 > > instance equable a dim {number; int} t = generic_equable 00:05:31 verbose #7544 > 00:05:31 debug #437 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e4092645147fcfe186d347958a517b7cf68c676931692b7f99f90b9143e99af0/main.spi 00:05:31 verbose #7545 > > 00:05:31 verbose #7546 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:31 verbose #7547 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:31 verbose #7548 > > │ ### append │ 00:05:31 verbose #7549 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:31 verbose #7550 > > 00:05:31 verbose #7551 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:31 verbose #7552 > > instance append a dim {int; number} t = am.append 00:05:31 verbose #7553 > 00:05:31 debug #438 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9e3447b710c75dbe380beaab5e60a9d16d210f6a729be71772a858908b8a191c/main.spi 00:05:32 verbose #7554 > > 00:05:32 verbose #7555 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:32 verbose #7556 > > //// test 00:05:32 verbose #7557 > > ///! fsharp 00:05:32 verbose #7558 > > ///! cuda 00:05:32 verbose #7559 > > ///! rust 00:05:32 verbose #7560 > > ///! typescript 00:05:32 verbose #7561 > > ///! python 00:05:32 verbose #7562 > > 00:05:32 verbose #7563 > > a' ;[[ -1i64; 0 ]] ++ a' ;[[ 1; 2 ]] 00:05:32 verbose #7564 > > |> _assert_eq (a' ;[[ -1; 0; 1; 2 ]]) 00:05:32 verbose #7565 > 00:05:31 debug #439 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c9116ae1d8951efa58b7eecee322e1c815205422799286386c7a786b2cf36e20/main.spi 00:05:32 verbose #7566 > 00:05:31 debug #440 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ff568391f42b3a0c95e52ee6d155b8b1079898cc252718cb99e7c1911b305802/main.spi 00:05:46 verbose #7567 > > 00:05:46 verbose #7568 > > ╭─[ 14.43s - return value ]────────────────────────────────────────────────────╮ 00:05:46 verbose #7569 > > │ │ 00:05:46 verbose #7570 > > │ .py output (Cuda): │ 00:05:46 verbose #7571 > > │ Traceback (most recent call last): │ 00:05:46 verbose #7572 > > │ File │ 00:05:46 verbose #7573 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c9116ae1d89 │ 00:05:46 verbose #7574 > > │ 51efa58b7eecee322e1c815205422799286386c7a786b2cf36e20/main.py", line 159, in │ 00:05:46 verbose #7575 > > │ <module> │ 00:05:46 verbose #7576 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:05:46 verbose #7577 > > │ else print(result) │ 00:05:46 verbose #7578 > > │ ^^^^^^ │ 00:05:46 verbose #7579 > > │ File │ 00:05:46 verbose #7580 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c9116ae1d89 │ 00:05:46 verbose #7581 > > │ 51efa58b7eecee322e1c815205422799286386c7a786b2cf36e20/main.py", line 157, in │ 00:05:46 verbose #7582 > > │ main │ 00:05:46 verbose #7583 > > │ return method0() │ 00:05:46 verbose #7584 > > │ ^^^^^^^^^ │ 00:05:46 verbose #7585 > > │ File │ 00:05:46 verbose #7586 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c9116ae1d89 │ 00:05:46 verbose #7587 > > │ 51efa58b7eecee322e1c815205422799286386c7a786b2cf36e20/main.py", line 96, in │ 00:05:46 verbose #7588 > > │ method0 │ 00:05:46 verbose #7589 > > │ v0 = cp.array([-1, 0],dtype=cp.int64) │ 00:05:46 verbose #7590 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:05:46 verbose #7591 > > │ File │ 00:05:46 verbose #7592 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:05:46 verbose #7593 > > │ reation/from_data.py", line 53, in array │ 00:05:46 verbose #7594 > > │ return _core.array(obj, dtype, copy, order, subok, ndmin, blocking)38;5;2m│ 00:05:46 verbose #7595 > > │ 0m │ 00:05:46 verbose #7596 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^38;5;2m│ 00:05:46 verbose #7597 > > │ 0m │ 00:05:46 verbose #7598 > > │ File "cupy/_core/core.pyx", line 2383, in cupy._core.core.array │ 00:05:46 verbose #7599 > > │ File "cupy/_core/core.pyx", line 2410, in cupy._core.core.array │ 00:05:46 verbose #7600 > > │ File "cupy/_core/core.pyx", line 2553, in │ 00:05:46 verbose #7601 > > │ cupy._core.core._array_default │ 00:05:46 verbose #7602 > > │ File "cupy/_core/core.pyx", line 135, in │ 00:05:46 verbose #7603 > > │ cupy._core.core.ndarray.__new__ │ 00:05:46 verbose #7604 > > │ File "cupy/_core/core.pyx", line 223, in │ 00:05:46 verbose #7605 > > │ cupy._core.core._ndarray_base._init │ 00:05:46 verbose #7606 > > │ File "cupy/cuda/memory.pyx", line 738, in cupy.cuda.memory.alloc │ 00:05:46 verbose #7607 > > │ File "cupy/cuda/memory.pyx", line 1424, in │ 00:05:46 verbose #7608 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:05:46 verbose #7609 > > │ File "cupy/cuda/memory.pyx", line 1444, in │ 00:05:46 verbose #7610 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:05:46 verbose #7611 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:05:46 verbose #7612 > > │ [0m │ 00:05:46 verbose #7613 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:05:46 verbose #7614 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:05:46 verbose #7615 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:05:46 verbose #7616 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:05:46 verbose #7617 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:05:46 verbose #7618 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:05:46 verbose #7619 > > │ runtime version │ 00:05:46 verbose #7620 > > │ │ 00:05:46 verbose #7621 > > │ .rs output: │ 00:05:46 verbose #7622 > > │ assert_eq / actual: Array(MutCell([-1, 0, 1, 2])) / expected: Array(MutCell( │ 00:05:46 verbose #7623 > > │ [-1, 0, 1, 2])) │ 00:05:46 verbose #7624 > > │ │ 00:05:46 verbose #7625 > > │ .ts output: │ 00:05:46 verbose #7626 > > │ assert_eq / actual: -1,0,1,2 / expected: -1,0,1,2 │ 00:05:46 verbose #7627 > > │ │ 00:05:46 verbose #7628 > > │ .py output: │ 00:05:46 verbose #7629 > > │ assert_eq / actual: [-1, 0, 1, 2] / expected: array('q', [-1, 0, 1, 2]) │ 00:05:46 verbose #7630 > > │ │ 00:05:46 verbose #7631 > > │ │ 00:05:46 verbose #7632 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:46 verbose #7633 > > 00:05:46 verbose #7634 > > ╭─[ 14.44s - stdout ]──────────────────────────────────────────────────────────╮ 00:05:46 verbose #7635 > > │ .fsx output: │ 00:05:46 verbose #7636 > > │ assert_eq / actual: [|-1L; 0L; 1L; 2L|] / expected: [|-1L; 0L; 1L; 2L|] │ 00:05:46 verbose #7637 > > │ │ 00:05:46 verbose #7638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:46 verbose #7639 > > 00:05:46 verbose #7640 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:46 verbose #7641 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:46 verbose #7642 > > │ ### map_base │ 00:05:46 verbose #7643 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:46 verbose #7644 > > 00:05:46 verbose #7645 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:46 verbose #7646 > > inl map_base forall t u. (fn : t -> u) (x : array_base t) : array_base u = 00:05:46 verbose #7647 > > a x 00:05:46 verbose #7648 > > |> am.map fn 00:05:46 verbose #7649 > > |> fun (a x : _ int _) => x 00:05:46 verbose #7650 > 00:05:46 debug #441 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a934e05980b14c9800a2cba3108c7ca6a532bc65373d80343129e86eb0508f5f/main.spi 00:05:46 verbose #7651 > > 00:05:46 verbose #7652 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:46 verbose #7653 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:46 verbose #7654 > > │ ### collect │ 00:05:46 verbose #7655 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:46 verbose #7656 > > 00:05:46 verbose #7657 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:46 verbose #7658 > > inl collect forall t r. (fn : t -> a int r) (items : a int t) : a int r = 00:05:46 verbose #7659 > > items 00:05:46 verbose #7660 > > |> am.map fn 00:05:46 verbose #7661 > > |> am.fold (++) (a ;[[]]) 00:05:46 verbose #7662 > 00:05:46 debug #442 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3641825018ba6001148a5171987dddc6cc80e005c28a3c8da384efa124b3d0f2/main.spi 00:05:46 verbose #7663 > > 00:05:46 verbose #7664 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:46 verbose #7665 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:46 verbose #7666 > > │ ### init │ 00:05:46 verbose #7667 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:46 verbose #7668 > > 00:05:46 verbose #7669 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:46 verbose #7670 > > inl init n : array_base _ = 00:05:46 verbose #7671 > > am.init n id 00:05:46 verbose #7672 > > |> fun (a x : _ int _) => x 00:05:46 verbose #7673 > 00:05:46 debug #443 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6703fd212b9467813e025c7a9314c74cb6fc2d3950739ce7d47db345a5794843/main.spi 00:05:46 verbose #7674 > > 00:05:46 verbose #7675 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:46 verbose #7676 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:46 verbose #7677 > > │ ### choose │ 00:05:46 verbose #7678 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:46 verbose #7679 > > 00:05:46 verbose #7680 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:46 verbose #7681 > > inl choose f l = 00:05:46 verbose #7682 > > (l, [[]]) 00:05:46 verbose #7683 > > ||> am.foldBack fun x acc => 00:05:46 verbose #7684 > > match f x with 00:05:46 verbose #7685 > > | Some y => y :: acc 00:05:46 verbose #7686 > > | None => acc 00:05:46 verbose #7687 > > |> listm.toArray 00:05:46 verbose #7688 > 00:05:46 debug #444 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/94cae69e392c96888fa073fb48b835ae2605095d024e887bb09f29e103e0e37a/main.spi 00:05:46 verbose #7689 > > 00:05:46 verbose #7690 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:46 verbose #7691 > > //// test 00:05:46 verbose #7692 > > ///! fsharp 00:05:46 verbose #7693 > > ///! cuda 00:05:46 verbose #7694 > > ////! rust // v0.get_mut()[[v2.get().clone() as usize]] = match 00:05:46 verbose #7695 > > v1.get().clone().as_ref() { ^ expected `i32`, found `usize` 00:05:46 verbose #7696 > > ///! typescript 00:05:46 verbose #7697 > > ///! python 00:05:46 verbose #7698 > > 00:05:46 verbose #7699 > > 10 00:05:46 verbose #7700 > > |> init 00:05:46 verbose #7701 > > |> fun x => a x : _ int _ 00:05:46 verbose #7702 > > |> choose (fun x => if x % 2 = 0 then Some x else None) 00:05:46 verbose #7703 > > |> _assert_eq (a' ;[[ 0; 2; 4; 6; 8 ]]) 00:05:46 verbose #7704 > 00:05:46 debug #445 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/230796df5b9cccf2c130f939ff92170aac575f3122127adac37ef2a01904fa16/main.spi 00:05:46 verbose #7705 > 00:05:46 debug #446 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1fd21e8012de1b74a5ccee2b5eee7e5ef7ab6220afe223ac1cbe167fb775ef93/main.spi 00:05:55 verbose #7706 > > 00:05:55 verbose #7707 > > ╭─[ 8.51s - return value ]─────────────────────────────────────────────────────╮ 00:05:55 verbose #7708 > > │ │ 00:05:55 verbose #7709 > > │ .py output (Cuda): │ 00:05:55 verbose #7710 > > │ Traceback (most recent call last): │ 00:05:55 verbose #7711 > > │ File │ 00:05:55 verbose #7712 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1fd21e8012d │ 00:05:55 verbose #7713 > > │ e1b74a5ccee2b5eee7e5ef7ab6220afe223ac1cbe167fb775ef93/main.py", line 240, in │ 00:05:55 verbose #7714 > > │ <module> │ 00:05:55 verbose #7715 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:05:55 verbose #7716 > > │ else print(result) │ 00:05:55 verbose #7717 > > │ ^^^^^^ │ 00:05:55 verbose #7718 > > │ File │ 00:05:55 verbose #7719 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1fd21e8012d │ 00:05:55 verbose #7720 > > │ e1b74a5ccee2b5eee7e5ef7ab6220afe223ac1cbe167fb775ef93/main.py", line 238, in │ 00:05:55 verbose #7721 > > │ main │ 00:05:55 verbose #7722 > > │ return method0() │ 00:05:55 verbose #7723 > > │ ^^^^^^^^^ │ 00:05:55 verbose #7724 > > │ File │ 00:05:55 verbose #7725 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1fd21e8012d │ 00:05:55 verbose #7726 > > │ e1b74a5ccee2b5eee7e5ef7ab6220afe223ac1cbe167fb775ef93/main.py", line 155, in │ 00:05:55 verbose #7727 > > │ method0 │ 00:05:55 verbose #7728 > > │ v0 = cp.empty(10,dtype=cp.int32) │ 00:05:55 verbose #7729 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:05:55 verbose #7730 > > │ File │ 00:05:55 verbose #7731 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:05:55 verbose #7732 > > │ reation/basic.py", line 31, in empty │ 00:05:55 verbose #7733 > > │ return cupy.ndarray(shape, dtype, order=order) │ 00:05:55 verbose #7734 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:05:55 verbose #7735 > > │ File "cupy/_core/core.pyx", line 135, in │ 00:05:55 verbose #7736 > > │ cupy._core.core.ndarray.__new__ │ 00:05:55 verbose #7737 > > │ File "cupy/_core/core.pyx", line 223, in │ 00:05:55 verbose #7738 > > │ cupy._core.core._ndarray_base._init │ 00:05:55 verbose #7739 > > │ File "cupy/cuda/memory.pyx", line 738, in cupy.cuda.memory.alloc │ 00:05:55 verbose #7740 > > │ File "cupy/cuda/memory.pyx", line 1424, in │ 00:05:55 verbose #7741 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:05:55 verbose #7742 > > │ File "cupy/cuda/memory.pyx", line 1444, in │ 00:05:55 verbose #7743 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:05:55 verbose #7744 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:05:55 verbose #7745 > > │ [0m │ 00:05:55 verbose #7746 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:05:55 verbose #7747 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:05:55 verbose #7748 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:05:55 verbose #7749 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:05:55 verbose #7750 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:05:55 verbose #7751 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:05:55 verbose #7752 > > │ runtime version │ 00:05:55 verbose #7753 > > │ │ 00:05:55 verbose #7754 > > │ .ts output: │ 00:05:55 verbose #7755 > > │ assert_eq / actual: 0,2,4,6,8 / expected: 0,2,4,6,8 │ 00:05:55 verbose #7756 > > │ │ 00:05:55 verbose #7757 > > │ .py output: │ 00:05:55 verbose #7758 > > │ assert_eq / actual: [0, 2, 4, 6, 8] / expected: array('l', [0, 2, 4, 6, 8]) │ 00:05:55 verbose #7759 > > │ │ 00:05:55 verbose #7760 > > │ │ 00:05:55 verbose #7761 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:55 verbose #7762 > > 00:05:55 verbose #7763 > > ╭─[ 8.51s - stdout ]───────────────────────────────────────────────────────────╮ 00:05:55 verbose #7764 > > │ .fsx output: │ 00:05:55 verbose #7765 > > │ assert_eq / actual: [|0; 2; 4; 6; 8|] / expected: [|0; 2; 4; 6; 8|] │ 00:05:55 verbose #7766 > > │ │ 00:05:55 verbose #7767 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:55 verbose #7768 > > 00:05:55 verbose #7769 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:05:55 verbose #7770 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:05:55 verbose #7771 > > │ ### sum │ 00:05:55 verbose #7772 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:05:55 verbose #7773 > > 00:05:55 verbose #7774 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:55 verbose #7775 > > inl sum a = 00:05:55 verbose #7776 > > a |> am.fold (+) 0 00:05:55 verbose #7777 > 00:05:54 debug #447 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ef7c7d1df8e83837f61c1f591a7b0c94192366fc833f50908782fdd6106807fc/main.spi 00:05:55 verbose #7778 > > 00:05:55 verbose #7779 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:05:55 verbose #7780 > > //// test 00:05:55 verbose #7781 > > ///! fsharp 00:05:55 verbose #7782 > > ///! cuda 00:05:55 verbose #7783 > > ///! rust 00:05:55 verbose #7784 > > ///! typescript 00:05:55 verbose #7785 > > ///! python 00:05:55 verbose #7786 > > 00:05:55 verbose #7787 > > 10 00:05:55 verbose #7788 > > |> init 00:05:55 verbose #7789 > > |> fun x => a x : _ int _ 00:05:55 verbose #7790 > > |> sum 00:05:55 verbose #7791 > > |> _assert_eq 45 00:05:55 verbose #7792 > 00:05:54 debug #448 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/352ddc24b21ed654980d045d4479e46d3ffaff28fa3de21525f1e6d591bd238a/main.spi 00:05:55 verbose #7793 > 00:05:54 debug #449 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/045b908e49f946307aaf0ecbe54ffde3b69d9c5679941f927de821db5921bcb1/main.spi 00:06:06 verbose #7794 > > 00:06:06 verbose #7795 > > ╭─[ 11.49s - return value ]────────────────────────────────────────────────────╮ 00:06:06 verbose #7796 > > │ │ 00:06:06 verbose #7797 > > │ .py output (Cuda): │ 00:06:06 verbose #7798 > > │ Traceback (most recent call last): │ 00:06:06 verbose #7799 > > │ File │ 00:06:06 verbose #7800 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/045b908e49f │ 00:06:06 verbose #7801 > > │ 946307aaf0ecbe54ffde3b69d9c5679941f927de821db5921bcb1/main.py", line 124, in │ 00:06:06 verbose #7802 > > │ <module> │ 00:06:06 verbose #7803 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:06:06 verbose #7804 > > │ else print(result) │ 00:06:06 verbose #7805 > > │ ^^^^^^ │ 00:06:06 verbose #7806 > > │ File │ 00:06:06 verbose #7807 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/045b908e49f │ 00:06:06 verbose #7808 > > │ 946307aaf0ecbe54ffde3b69d9c5679941f927de821db5921bcb1/main.py", line 122, in │ 00:06:06 verbose #7809 > > │ main │ 00:06:06 verbose #7810 > > │ return method0() │ 00:06:06 verbose #7811 > > │ ^^^^^^^^^ │ 00:06:06 verbose #7812 > > │ File │ 00:06:06 verbose #7813 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/045b908e49f │ 00:06:06 verbose #7814 > > │ 946307aaf0ecbe54ffde3b69d9c5679941f927de821db5921bcb1/main.py", line 77, in │ 00:06:06 verbose #7815 > > │ method0 │ 00:06:06 verbose #7816 > > │ v0 = cp.empty(10,dtype=cp.int32) │ 00:06:06 verbose #7817 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:06 verbose #7818 > > │ File │ 00:06:06 verbose #7819 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:06:06 verbose #7820 > > │ reation/basic.py", line 31, in empty │ 00:06:06 verbose #7821 > > │ return cupy.ndarray(shape, dtype, order=order) │ 00:06:06 verbose #7822 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:06 verbose #7823 > > │ File "cupy/_core/core.pyx", line 135, in │ 00:06:06 verbose #7824 > > │ cupy._core.core.ndarray.__new__ │ 00:06:06 verbose #7825 > > │ File "cupy/_core/core.pyx", line 223, in │ 00:06:06 verbose #7826 > > │ cupy._core.core._ndarray_base._init │ 00:06:06 verbose #7827 > > │ File "cupy/cuda/memory.pyx", line 738, in cupy.cuda.memory.alloc │ 00:06:06 verbose #7828 > > │ File "cupy/cuda/memory.pyx", line 1424, in │ 00:06:06 verbose #7829 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:06 verbose #7830 > > │ File "cupy/cuda/memory.pyx", line 1444, in │ 00:06:06 verbose #7831 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:06 verbose #7832 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:06:06 verbose #7833 > > │ [0m │ 00:06:06 verbose #7834 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:06:06 verbose #7835 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:06:06 verbose #7836 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:06:06 verbose #7837 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:06:06 verbose #7838 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:06:06 verbose #7839 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:06:06 verbose #7840 > > │ runtime version │ 00:06:06 verbose #7841 > > │ │ 00:06:06 verbose #7842 > > │ .rs output: │ 00:06:06 verbose #7843 > > │ assert_eq / actual: 45 / expected: 45 │ 00:06:06 verbose #7844 > > │ │ 00:06:06 verbose #7845 > > │ .ts output: │ 00:06:06 verbose #7846 > > │ assert_eq / actual: 45 / expected: 45 │ 00:06:06 verbose #7847 > > │ │ 00:06:06 verbose #7848 > > │ .py output: │ 00:06:06 verbose #7849 > > │ assert_eq / actual: 45 / expected: 45 │ 00:06:06 verbose #7850 > > │ │ 00:06:06 verbose #7851 > > │ │ 00:06:06 verbose #7852 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:06 verbose #7853 > > 00:06:06 verbose #7854 > > ╭─[ 11.49s - stdout ]──────────────────────────────────────────────────────────╮ 00:06:06 verbose #7855 > > │ .fsx output: │ 00:06:06 verbose #7856 > > │ assert_eq / actual: 45 / expected: 45 │ 00:06:06 verbose #7857 > > │ │ 00:06:06 verbose #7858 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:06 verbose #7859 > > 00:06:06 verbose #7860 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:06:06 verbose #7861 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:06:06 verbose #7862 > > │ ### init_series │ 00:06:06 verbose #7863 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:06 verbose #7864 > > 00:06:06 verbose #7865 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:06 verbose #7866 > > inl init_series start end inc : array_base _ = 00:06:06 verbose #7867 > > inl total = conv ((end - start) / inc) + 1 00:06:06 verbose #7868 > > am.init total (conv >> (*) inc >> (+) start) 00:06:06 verbose #7869 > > |> fun (a x : _ int _) => x 00:06:06 verbose #7870 > 00:06:06 debug #450 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3e6b28e6de91ad7586af63aece20394f6730648bc39194d53f434521bd2fb696/main.spi 00:06:06 verbose #7871 > > 00:06:06 verbose #7872 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:06 verbose #7873 > > //// test 00:06:06 verbose #7874 > > ///! fsharp 00:06:06 verbose #7875 > > ///! cuda 00:06:06 verbose #7876 > > ///! rust 00:06:06 verbose #7877 > > ///! typescript 00:06:06 verbose #7878 > > ///! python 00:06:06 verbose #7879 > > 00:06:06 verbose #7880 > > init_series 0 4 2 00:06:06 verbose #7881 > > |> _assert_eq' ;[[ 0i32; 2; 4 ]] 00:06:06 verbose #7882 > 00:06:06 debug #451 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4b8afcb20b452397b033cec0ebd71cd8bb4d940bd37ded3c441aa5240554d29b/main.spi 00:06:06 verbose #7883 > 00:06:06 debug #452 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9db668a3e69f4cd923e9e937c38eb5b8795be950a156da72fc046125128388e/main.spi 00:06:18 verbose #7884 > > 00:06:18 verbose #7885 > > ╭─[ 11.72s - return value ]────────────────────────────────────────────────────╮ 00:06:18 verbose #7886 > > │ │ 00:06:18 verbose #7887 > > │ .py output (Cuda): │ 00:06:18 verbose #7888 > > │ Traceback (most recent call last): │ 00:06:18 verbose #7889 > > │ File │ 00:06:18 verbose #7890 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9db668a3e6 │ 00:06:18 verbose #7891 > > │ 9f4cd923e9e937c38eb5b8795be950a156da72fc046125128388e/main.py", line 101, in │ 00:06:18 verbose #7892 > > │ <module> │ 00:06:18 verbose #7893 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:06:18 verbose #7894 > > │ else print(result) │ 00:06:18 verbose #7895 > > │ ^^^^^^ │ 00:06:18 verbose #7896 > > │ File │ 00:06:18 verbose #7897 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9db668a3e6 │ 00:06:18 verbose #7898 > > │ 9f4cd923e9e937c38eb5b8795be950a156da72fc046125128388e/main.py", line 99, in │ 00:06:18 verbose #7899 > > │ main │ 00:06:18 verbose #7900 > > │ return method0() │ 00:06:18 verbose #7901 > > │ ^^^^^^^^^ │ 00:06:18 verbose #7902 > > │ File │ 00:06:18 verbose #7903 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9db668a3e6 │ 00:06:18 verbose #7904 > > │ 9f4cd923e9e937c38eb5b8795be950a156da72fc046125128388e/main.py", line 67, in │ 00:06:18 verbose #7905 > > │ method0 │ 00:06:18 verbose #7906 > > │ v0 = cp.empty(3,dtype=cp.int32) │ 00:06:18 verbose #7907 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:18 verbose #7908 > > │ File │ 00:06:18 verbose #7909 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:06:18 verbose #7910 > > │ reation/basic.py", line 31, in empty │ 00:06:18 verbose #7911 > > │ return cupy.ndarray(shape, dtype, order=order) │ 00:06:18 verbose #7912 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:18 verbose #7913 > > │ File "cupy/_core/core.pyx", line 135, in │ 00:06:18 verbose #7914 > > │ cupy._core.core.ndarray.__new__ │ 00:06:18 verbose #7915 > > │ File "cupy/_core/core.pyx", line 223, in │ 00:06:18 verbose #7916 > > │ cupy._core.core._ndarray_base._init │ 00:06:18 verbose #7917 > > │ File "cupy/cuda/memory.pyx", line 738, in cupy.cuda.memory.alloc │ 00:06:18 verbose #7918 > > │ File "cupy/cuda/memory.pyx", line 1424, in │ 00:06:18 verbose #7919 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:18 verbose #7920 > > │ File "cupy/cuda/memory.pyx", line 1444, in │ 00:06:18 verbose #7921 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:18 verbose #7922 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:06:18 verbose #7923 > > │ [0m │ 00:06:18 verbose #7924 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:06:18 verbose #7925 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:06:18 verbose #7926 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:06:18 verbose #7927 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:06:18 verbose #7928 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:06:18 verbose #7929 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:06:18 verbose #7930 > > │ runtime version │ 00:06:18 verbose #7931 > > │ │ 00:06:18 verbose #7932 > > │ .rs output: │ 00:06:18 verbose #7933 > > │ assert_eq' / actual: Array(MutCell([0, 2, 4])) / expected: Array(MutCell([0, │ 00:06:18 verbose #7934 > > │ 2, 4])) │ 00:06:18 verbose #7935 > > │ │ 00:06:18 verbose #7936 > > │ .ts output: │ 00:06:18 verbose #7937 > > │ assert_eq' / actual: 0,2,4 / expected: 0,2,4 │ 00:06:18 verbose #7938 > > │ │ 00:06:18 verbose #7939 > > │ .py output: │ 00:06:18 verbose #7940 > > │ assert_eq' / actual: [0, 2, 4] / expected: array('l', [0, 2, 4]) │ 00:06:18 verbose #7941 > > │ │ 00:06:18 verbose #7942 > > │ │ 00:06:18 verbose #7943 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:18 verbose #7944 > > 00:06:18 verbose #7945 > > ╭─[ 11.72s - stdout ]──────────────────────────────────────────────────────────╮ 00:06:18 verbose #7946 > > │ .fsx output: │ 00:06:18 verbose #7947 > > │ assert_eq' / actual: [|0; 2; 4|] / expected: [|0; 2; 4|] │ 00:06:18 verbose #7948 > > │ │ 00:06:18 verbose #7949 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:18 verbose #7950 > > 00:06:18 verbose #7951 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:06:18 verbose #7952 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:06:18 verbose #7953 > > │ ### head │ 00:06:18 verbose #7954 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:18 verbose #7955 > > 00:06:18 verbose #7956 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:18 verbose #7957 > > inl head (ar : a _ _) = 00:06:18 verbose #7958 > > if var_is ar || length ar > 0 00:06:18 verbose #7959 > > then ar |> index 0 00:06:18 verbose #7960 > > else error_type "The length of the array should be greater than 0." 00:06:18 verbose #7961 > 00:06:18 debug #453 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/296d8e0f5a38bcc2c119ed4ba43b69f8a14cc4c12b3f1555ac3d75091cedf29e/main.spi 00:06:18 verbose #7962 > > 00:06:18 verbose #7963 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:06:18 verbose #7964 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:06:18 verbose #7965 > > │ ### last │ 00:06:18 verbose #7966 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:18 verbose #7967 > > 00:06:18 verbose #7968 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:18 verbose #7969 > > inl last (ar : a _ _) = 00:06:18 verbose #7970 > > inl len = length ar 00:06:18 verbose #7971 > > if var_is ar || len > 0 00:06:18 verbose #7972 > > then ar |> index (len - 1) 00:06:18 verbose #7973 > > else error_type "The length of the array should be greater than 0." 00:06:18 verbose #7974 > 00:06:18 debug #454 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1b125c40e67bc7ff418a21d00ec57ffafd08518104198af5fc5c2a308cbfecf3/main.spi 00:06:18 verbose #7975 > > 00:06:18 verbose #7976 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:18 verbose #7977 > > //// test 00:06:18 verbose #7978 > > ///! fsharp 00:06:18 verbose #7979 > > ///! cuda 00:06:18 verbose #7980 > > ///! rust 00:06:18 verbose #7981 > > ///! typescript 00:06:18 verbose #7982 > > ///! python 00:06:18 verbose #7983 > > 00:06:18 verbose #7984 > > 10 00:06:18 verbose #7985 > > |> init 00:06:18 verbose #7986 > > |> fun x => a x : _ int _ 00:06:18 verbose #7987 > > |> last 00:06:18 verbose #7988 > > |> _assert_eq 9 00:06:18 verbose #7989 > 00:06:18 debug #455 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d2e7c665e0a659d833fa79717d2cd05453374d7e419befb1a33d98a37391d78/main.spi 00:06:18 verbose #7990 > 00:06:18 debug #456 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6f6256d7c8971142c1b7fb2f642277eb23e4dfdc157acb4a1ba33a6b4f86ca90/main.spi 00:06:29 verbose #7991 > > 00:06:29 verbose #7992 > > ╭─[ 11.00s - return value ]────────────────────────────────────────────────────╮ 00:06:29 verbose #7993 > > │ │ 00:06:29 verbose #7994 > > │ .py output (Cuda): │ 00:06:29 verbose #7995 > > │ Traceback (most recent call last): │ 00:06:29 verbose #7996 > > │ File │ 00:06:29 verbose #7997 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d2e7c665e0 │ 00:06:29 verbose #7998 > > │ a659d833fa79717d2cd05453374d7e419befb1a33d98a37391d78/main.py", line 103, in │ 00:06:29 verbose #7999 > > │ <module> │ 00:06:29 verbose #8000 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:06:29 verbose #8001 > > │ else print(result) │ 00:06:29 verbose #8002 > > │ ^^^^^^ │ 00:06:29 verbose #8003 > > │ File │ 00:06:29 verbose #8004 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d2e7c665e0 │ 00:06:29 verbose #8005 > > │ a659d833fa79717d2cd05453374d7e419befb1a33d98a37391d78/main.py", line 101, in │ 00:06:29 verbose #8006 > > │ main │ 00:06:29 verbose #8007 > > │ return method0() │ 00:06:29 verbose #8008 > > │ ^^^^^^^^^ │ 00:06:29 verbose #8009 > > │ File │ 00:06:29 verbose #8010 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d2e7c665e0 │ 00:06:29 verbose #8011 > > │ a659d833fa79717d2cd05453374d7e419befb1a33d98a37391d78/main.py", line 67, in │ 00:06:29 verbose #8012 > > │ method0 │ 00:06:29 verbose #8013 > > │ v0 = cp.empty(10,dtype=cp.int32) │ 00:06:29 verbose #8014 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:29 verbose #8015 > > │ File │ 00:06:29 verbose #8016 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:06:29 verbose #8017 > > │ reation/basic.py", line 31, in empty │ 00:06:29 verbose #8018 > > │ return cupy.ndarray(shape, dtype, order=order) │ 00:06:29 verbose #8019 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:29 verbose #8020 > > │ File "cupy/_core/core.pyx", line 135, in │ 00:06:29 verbose #8021 > > │ cupy._core.core.ndarray.__new__ │ 00:06:29 verbose #8022 > > │ File "cupy/_core/core.pyx", line 223, in │ 00:06:29 verbose #8023 > > │ cupy._core.core._ndarray_base._init │ 00:06:29 verbose #8024 > > │ File "cupy/cuda/memory.pyx", line 738, in cupy.cuda.memory.alloc │ 00:06:29 verbose #8025 > > │ File "cupy/cuda/memory.pyx", line 1424, in │ 00:06:29 verbose #8026 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:29 verbose #8027 > > │ File "cupy/cuda/memory.pyx", line 1444, in │ 00:06:29 verbose #8028 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:29 verbose #8029 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:06:29 verbose #8030 > > │ [0m │ 00:06:29 verbose #8031 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:06:29 verbose #8032 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:06:29 verbose #8033 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:06:29 verbose #8034 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:06:29 verbose #8035 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:06:29 verbose #8036 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:06:29 verbose #8037 > > │ runtime version │ 00:06:29 verbose #8038 > > │ │ 00:06:29 verbose #8039 > > │ .rs output: │ 00:06:29 verbose #8040 > > │ assert_eq / actual: 9 / expected: 9 │ 00:06:29 verbose #8041 > > │ │ 00:06:29 verbose #8042 > > │ .ts output: │ 00:06:29 verbose #8043 > > │ assert_eq / actual: 9 / expected: 9 │ 00:06:29 verbose #8044 > > │ │ 00:06:29 verbose #8045 > > │ .py output: │ 00:06:29 verbose #8046 > > │ assert_eq / actual: 9 / expected: 9 │ 00:06:29 verbose #8047 > > │ │ 00:06:29 verbose #8048 > > │ │ 00:06:29 verbose #8049 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:29 verbose #8050 > > 00:06:29 verbose #8051 > > ╭─[ 11.01s - stdout ]──────────────────────────────────────────────────────────╮ 00:06:29 verbose #8052 > > │ .fsx output: │ 00:06:29 verbose #8053 > > │ assert_eq / actual: 9 / expected: 9 │ 00:06:29 verbose #8054 > > │ │ 00:06:29 verbose #8055 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:29 verbose #8056 > > 00:06:29 verbose #8057 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:06:29 verbose #8058 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:06:29 verbose #8059 > > │ ### try_pick │ 00:06:29 verbose #8060 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:29 verbose #8061 > > 00:06:29 verbose #8062 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:29 verbose #8063 > > inl try_pick forall t u. (fn : t -> option u) (array : a _ t) : option u = 00:06:29 verbose #8064 > > (array, None) 00:06:29 verbose #8065 > > ||> am.foldBack fun x acc => 00:06:29 verbose #8066 > > match acc with 00:06:29 verbose #8067 > > | Some _ => acc 00:06:29 verbose #8068 > > | None => x |> fn 00:06:29 verbose #8069 > 00:06:29 debug #457 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d464875cbaf7fafeae3b71f460979cf27f80a297162d2f9c74eb653744b82985/main.spi 00:06:29 verbose #8070 > > 00:06:29 verbose #8071 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:29 verbose #8072 > > //// test 00:06:29 verbose #8073 > > ///! fsharp 00:06:29 verbose #8074 > > ///! cuda 00:06:29 verbose #8075 > > ////! rust // match &v23 { Spiral_builder::US0::US0_0(x) => x.clone(), _ => 00:06:29 verbose #8076 > > unreachable!(), } == 5_i32 00:06:29 verbose #8077 > > ///! typescript 00:06:29 verbose #8078 > > ///! python 00:06:29 verbose #8079 > > 00:06:29 verbose #8080 > > 10 00:06:29 verbose #8081 > > |> init 00:06:29 verbose #8082 > > |> fun x => a x : _ int _ 00:06:29 verbose #8083 > > |> try_pick (fun x => if x = 5i32 then Some x else None) 00:06:29 verbose #8084 > > |> _assert_eq (Some 5i32) 00:06:29 verbose #8085 > 00:06:29 debug #458 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/46c48f9131808257174b904e2720ba20daa441c26ff6ffdd35b0debceb042675/main.spi 00:06:29 verbose #8086 > 00:06:29 debug #459 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ee9073a1e96fd167d4400d328754c4f68a5ca68ee383c2b2100935a4ed63bf61/main.spi 00:06:38 verbose #8087 > > 00:06:38 verbose #8088 > > ╭─[ 8.38s - return value ]─────────────────────────────────────────────────────╮ 00:06:38 verbose #8089 > > │ │ 00:06:38 verbose #8090 > > │ .py output (Cuda): │ 00:06:38 verbose #8091 > > │ Traceback (most recent call last): │ 00:06:38 verbose #8092 > > │ File │ 00:06:38 verbose #8093 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/46c48f91318 │ 00:06:38 verbose #8094 > > │ 08257174b904e2720ba20daa441c26ff6ffdd35b0debceb042675/main.py", line 157, in │ 00:06:38 verbose #8095 > > │ <module> │ 00:06:38 verbose #8096 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:06:38 verbose #8097 > > │ else print(result) │ 00:06:38 verbose #8098 > > │ ^^^^^^ │ 00:06:38 verbose #8099 > > │ File │ 00:06:38 verbose #8100 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/46c48f91318 │ 00:06:38 verbose #8101 > > │ 08257174b904e2720ba20daa441c26ff6ffdd35b0debceb042675/main.py", line 155, in │ 00:06:38 verbose #8102 > > │ main │ 00:06:38 verbose #8103 > > │ return method0() │ 00:06:38 verbose #8104 > > │ ^^^^^^^^^ │ 00:06:38 verbose #8105 > > │ File │ 00:06:38 verbose #8106 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/46c48f91318 │ 00:06:38 verbose #8107 > > │ 08257174b904e2720ba20daa441c26ff6ffdd35b0debceb042675/main.py", line 83, in │ 00:06:38 verbose #8108 > > │ method0 │ 00:06:38 verbose #8109 > > │ v0 = cp.empty(10,dtype=cp.int32) │ 00:06:38 verbose #8110 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:38 verbose #8111 > > │ File │ 00:06:38 verbose #8112 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:06:38 verbose #8113 > > │ reation/basic.py", line 31, in empty │ 00:06:38 verbose #8114 > > │ return cupy.ndarray(shape, dtype, order=order) │ 00:06:38 verbose #8115 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:06:38 verbose #8116 > > │ File "cupy/_core/core.pyx", line 135, in │ 00:06:38 verbose #8117 > > │ cupy._core.core.ndarray.__new__ │ 00:06:38 verbose #8118 > > │ File "cupy/_core/core.pyx", line 223, in │ 00:06:38 verbose #8119 > > │ cupy._core.core._ndarray_base._init │ 00:06:38 verbose #8120 > > │ File "cupy/cuda/memory.pyx", line 738, in cupy.cuda.memory.alloc │ 00:06:38 verbose #8121 > > │ File "cupy/cuda/memory.pyx", line 1424, in │ 00:06:38 verbose #8122 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:38 verbose #8123 > > │ File "cupy/cuda/memory.pyx", line 1444, in │ 00:06:38 verbose #8124 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:06:38 verbose #8125 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:06:38 verbose #8126 > > │ [0m │ 00:06:38 verbose #8127 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:06:38 verbose #8128 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:06:38 verbose #8129 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:06:38 verbose #8130 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:06:38 verbose #8131 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:06:38 verbose #8132 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:06:38 verbose #8133 > > │ runtime version │ 00:06:38 verbose #8134 > > │ │ 00:06:38 verbose #8135 > > │ .ts output: │ 00:06:38 verbose #8136 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:06:38 verbose #8137 > > │ │ 00:06:38 verbose #8138 > > │ .py output: │ 00:06:38 verbose #8139 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:06:38 verbose #8140 > > │ │ 00:06:38 verbose #8141 > > │ │ 00:06:38 verbose #8142 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:38 verbose #8143 > > 00:06:38 verbose #8144 > > ╭─[ 8.38s - stdout ]───────────────────────────────────────────────────────────╮ 00:06:38 verbose #8145 > > │ .fsx output: │ 00:06:38 verbose #8146 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:06:38 verbose #8147 > > │ │ 00:06:38 verbose #8148 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:38 verbose #8149 > > 00:06:38 verbose #8150 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:06:38 verbose #8151 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:06:38 verbose #8152 > > │ ### indexed │ 00:06:38 verbose #8153 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:38 verbose #8154 > > 00:06:38 verbose #8155 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:38 verbose #8156 > > inl indexed forall t u {number}. (ar : array_base t) : array_base (u * t) = 00:06:38 verbose #8157 > > ((0, a ;[[]]), (a ar : _ int _)) 00:06:38 verbose #8158 > > ||> am.fold fun (i, acc) x => 00:06:38 verbose #8159 > > i + 1, acc ++ a ;[[i, x]] 00:06:38 verbose #8160 > > |> snd 00:06:38 verbose #8161 > > |> fun (a x : _ int _) => x 00:06:38 verbose #8162 > 00:06:37 debug #460 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ff49768072613bfcb19fbb3fa7fad31dfb863da064eaa8d0f7de4b968b8d54f3/main.spi 00:06:38 verbose #8163 > > 00:06:38 verbose #8164 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:38 verbose #8165 > > //// test 00:06:38 verbose #8166 > > ///! fsharp 00:06:38 verbose #8167 > > ////! cuda // Only stack allocated primitive types (i8,i16,i32,i64 and 00:06:38 verbose #8168 > > u8,u16,u32,u64 and f32,f64 and bool) are allowed in CuPy arrays. 00:06:38 verbose #8169 > > ///! rust 00:06:38 verbose #8170 > > ///! typescript 00:06:38 verbose #8171 > > ///! python 00:06:38 verbose #8172 > > 00:06:38 verbose #8173 > > am.init 3i32 ((*) 2) 00:06:38 verbose #8174 > > |> fun (a x : _ int _) => x 00:06:38 verbose #8175 > > |> indexed 00:06:38 verbose #8176 > > |> _assert_eq' ;[[0i32, 0; 1, 2; 2, 4]] 00:06:38 verbose #8177 > 00:06:37 debug #461 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b068d1a4183a5199a29cf770921e80cca764915a5b40f0f59f51860f57c8f739/main.spi 00:06:49 verbose #8178 > > 00:06:49 verbose #8179 > > ╭─[ 11.16s - return value ]────────────────────────────────────────────────────╮ 00:06:49 verbose #8180 > > │ .rs output: │ 00:06:49 verbose #8181 > > │ assert_eq' / actual: Array(MutCell([(0, 0), (1, 2), (2, 4)])) / expected: │ 00:06:49 verbose #8182 > > │ Array(MutCell([(0, 0), (1, 2), (2, 4)])) │ 00:06:49 verbose #8183 > > │ │ 00:06:49 verbose #8184 > > │ .ts output: │ 00:06:49 verbose #8185 > > │ assert_eq' / actual: 0,0,1,2,2,4 / expected: 0,0,1,2,2,4 │ 00:06:49 verbose #8186 > > │ │ 00:06:49 verbose #8187 > > │ .py output: │ 00:06:49 verbose #8188 > > │ assert_eq' / actual: [(0, 0), (1, 2), (2, 4)] / expected: [(0, 0), (1, 2), │ 00:06:49 verbose #8189 > > │ (2, 4)] │ 00:06:49 verbose #8190 > > │ │ 00:06:49 verbose #8191 > > │ │ 00:06:49 verbose #8192 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:49 verbose #8193 > > 00:06:49 verbose #8194 > > ╭─[ 11.16s - stdout ]──────────────────────────────────────────────────────────╮ 00:06:49 verbose #8195 > > │ .fsx output: │ 00:06:49 verbose #8196 > > │ assert_eq' / actual: [|struct (0, 0); struct (1, 2); struct (2, 4)|] / │ 00:06:49 verbose #8197 > > │ expected: [|struct (0, 0); struct (1, 2); struct (2, 4)|] │ 00:06:49 verbose #8198 > > │ │ 00:06:49 verbose #8199 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:49 verbose #8200 > > 00:06:49 verbose #8201 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:06:49 verbose #8202 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:06:49 verbose #8203 > > │ ### slice │ 00:06:49 verbose #8204 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:06:49 verbose #8205 > > 00:06:49 verbose #8206 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:49 verbose #8207 > > inl slice forall dim {int; number} el. from nearTo s : a dim el = 00:06:49 verbose #8208 > > am.slice { from nearTo } s 00:06:49 verbose #8209 > 00:06:49 debug #462 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9de0748ddb30583791b957d04c16944b903426e57f68a8aaaf392fc208592e74/main.spi 00:06:49 verbose #8210 > > 00:06:49 verbose #8211 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:06:49 verbose #8212 > > //// test 00:06:49 verbose #8213 > > ///! fsharp 00:06:49 verbose #8214 > > ///! cuda 00:06:49 verbose #8215 > > ///! rust 00:06:49 verbose #8216 > > ///! typescript 00:06:49 verbose #8217 > > ///! python 00:06:49 verbose #8218 > > 00:06:49 verbose #8219 > > inl x : _ i32 _ = a ;[[ 1i32; 2; 3 ]] 00:06:49 verbose #8220 > > x |> slice 0 0 |> _assert_eq (a ;[[]]) 00:06:49 verbose #8221 > > x |> slice 0 1 |> _assert_eq (a ;[[ 1 ]]) 00:06:49 verbose #8222 > > x |> slice 1 1 |> _assert_eq (a ;[[]]) 00:06:49 verbose #8223 > > x |> slice 1 2 |> _assert_eq (a ;[[ 2 ]]) 00:06:49 verbose #8224 > > x |> slice 2 2 |> _assert_eq (a ;[[]]) 00:06:49 verbose #8225 > > x |> slice 0 2 |> _assert_eq (a ;[[ 1; 2 ]]) 00:06:49 verbose #8226 > 00:06:49 debug #463 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2c5a1a19fea92e22c8bc88766ae84c8e87a77fc007b224a13bd7126998894dd4/main.spi 00:06:49 verbose #8227 > 00:06:49 debug #464 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fcd96be49fd39d5d3171d39e757218b5cb26c5b63e2dc5911ccf365976b636e6/main.spi 00:07:01 verbose #8228 > > 00:07:01 verbose #8229 > > ╭─[ 12.06s - return value ]────────────────────────────────────────────────────╮ 00:07:01 verbose #8230 > > │ │ 00:07:01 verbose #8231 > > │ .py output (Cuda): │ 00:07:01 verbose #8232 > > │ Traceback (most recent call last): │ 00:07:01 verbose #8233 > > │ File │ 00:07:01 verbose #8234 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fcd96be49fd │ 00:07:01 verbose #8235 > > │ 39d5d3171d39e757218b5cb26c5b63e2dc5911ccf365976b636e6/main.py", line 367, in │ 00:07:01 verbose #8236 > > │ <module> │ 00:07:01 verbose #8237 > > │ if __name__ == '__main__': result = main(); None if result is None │ 00:07:01 verbose #8238 > > │ else print(result) │ 00:07:01 verbose #8239 > > │ ^^^^^^ │ 00:07:01 verbose #8240 > > │ File │ 00:07:01 verbose #8241 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fcd96be49fd │ 00:07:01 verbose #8242 > > │ 39d5d3171d39e757218b5cb26c5b63e2dc5911ccf365976b636e6/main.py", line 365, in │ 00:07:01 verbose #8243 > > │ main │ 00:07:01 verbose #8244 > > │ return method0() │ 00:07:01 verbose #8245 > > │ ^^^^^^^^^ │ 00:07:01 verbose #8246 > > │ File │ 00:07:01 verbose #8247 > > │ "/home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fcd96be49fd │ 00:07:01 verbose #8248 > > │ 39d5d3171d39e757218b5cb26c5b63e2dc5911ccf365976b636e6/main.py", line 108, in │ 00:07:01 verbose #8249 > > │ method0 │ 00:07:01 verbose #8250 > > │ v0 = cp.array([1, 2, 3],dtype=cp.int32) │ 00:07:01 verbose #8251 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ │ 00:07:01 verbose #8252 > > │ File │ 00:07:01 verbose #8253 > > │ "/opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/cupy/_c │ 00:07:01 verbose #8254 > > │ reation/from_data.py", line 53, in array │ 00:07:01 verbose #8255 > > │ return _core.array(obj, dtype, copy, order, subok, ndmin, blocking)38;5;2m│ 00:07:01 verbose #8256 > > │ 0m │ 00:07:01 verbose #8257 > > │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^38;5;2m│ 00:07:01 verbose #8258 > > │ 0m │ 00:07:01 verbose #8259 > > │ File "cupy/_core/core.pyx", line 2383, in cupy._core.core.array │ 00:07:01 verbose #8260 > > │ File "cupy/_core/core.pyx", line 2410, in cupy._core.core.array │ 00:07:01 verbose #8261 > > │ File "cupy/_core/core.pyx", line 2553, in │ 00:07:01 verbose #8262 > > │ cupy._core.core._array_default │ 00:07:01 verbose #8263 > > │ File "cupy/_core/core.pyx", line...", line 1444, in │ 00:07:01 verbose #8264 > > │ cupy.cuda.memory.MemoryPool.malloc │ 00:07:01 verbose #8265 > > │ File "cupy/cuda/device.pyx", line 40, in cupy.cuda.device.get_device_id │ 00:07:01 verbose #8266 > > │ [0m │ 00:07:01 verbose #8267 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 202, in │ 00:07:01 verbose #8268 > > │ cupy_backends.cuda.api.runtime.getDevice │ 00:07:01 verbose #8269 > > │ File "cupy_backends/cuda/api/runtime.pyx", line 146, in │ 00:07:01 verbose #8270 > > │ cupy_backends.cuda.api.runtime.check_status │ 00:07:01 verbose #8271 > > │ cupy_backends.cuda.api.runtime.CUDARuntimeError: │ 00:07:01 verbose #8272 > > │ cudaErrorInsufficientDriver: CUDA driver version is insufficient for CUDA │ 00:07:01 verbose #8273 > > │ runtime version │ 00:07:01 verbose #8274 > > │ │ 00:07:01 verbose #8275 > > │ │ 00:07:01 verbose #8276 > > │ .rs output: │ 00:07:01 verbose #8277 > > │ assert_eq / actual: Array(MutCell([])) / expected: Array(MutCell([])) │ 00:07:01 verbose #8278 > > │ assert_eq / actual: Array(MutCell([1])) / expected: Array(MutCell([1])) │ 00:07:01 verbose #8279 > > │ assert_eq / actual: Array(MutCell([])) / expected: Array(MutCell([])) │ 00:07:01 verbose #8280 > > │ assert_eq / actual: Array(MutCell([2])) / expected: Array(MutCell([2])) │ 00:07:01 verbose #8281 > > │ assert_eq / actual: Array(MutCell([])) / expected: Array(MutCell([])) │ 00:07:01 verbose #8282 > > │ assert_eq / actual: Array(MutCell([1, 2])) / expected: Array(MutCell([1, │ 00:07:01 verbose #8283 > > │ 2])) │ 00:07:01 verbose #8284 > > │ │ 00:07:01 verbose #8285 > > │ │ 00:07:01 verbose #8286 > > │ .ts output: │ 00:07:01 verbose #8287 > > │ assert_eq / actual: / expected: │ 00:07:01 verbose #8288 > > │ assert_eq / actual: 1 / expected: 1 │ 00:07:01 verbose #8289 > > │ assert_eq / actual: / expected: │ 00:07:01 verbose #8290 > > │ assert_eq / actual: 2 / expected: 2 │ 00:07:01 verbose #8291 > > │ assert_eq / actual: / expected: │ 00:07:01 verbose #8292 > > │ assert_eq / actual: 1,2 / expected: 1,2 │ 00:07:01 verbose #8293 > > │ │ 00:07:01 verbose #8294 > > │ │ 00:07:01 verbose #8295 > > │ .py output: │ 00:07:01 verbose #8296 > > │ assert_eq / actual: [] / expected: array('l') │ 00:07:01 verbose #8297 > > │ assert_eq / actual: [1] / expected: array('l', [1]) │ 00:07:01 verbose #8298 > > │ assert_eq / actual: [] / expected: array('l') │ 00:07:01 verbose #8299 > > │ assert_eq / actual: [2] / expected: array('l', [2]) │ 00:07:01 verbose #8300 > > │ assert_eq / actual: [] / expected: array('l') │ 00:07:01 verbose #8301 > > │ assert_eq / actual: [1, 2] / expected: array('l', [1, 2]) │ 00:07:01 verbose #8302 > > │ │ 00:07:01 verbose #8303 > > │ │ 00:07:01 verbose #8304 > > │ │ 00:07:01 verbose #8305 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:01 verbose #8306 > > 00:07:01 verbose #8307 > > ╭─[ 12.06s - stdout ]──────────────────────────────────────────────────────────╮ 00:07:01 verbose #8308 > > │ .fsx output: │ 00:07:01 verbose #8309 > > │ assert_eq / actual: [||] / expected: [||] │ 00:07:01 verbose #8310 > > │ assert_eq / actual: [|1|] / expected: [|1|] │ 00:07:01 verbose #8311 > > │ assert_eq / actual: [||] / expected: [||] │ 00:07:01 verbose #8312 > > │ assert_eq / actual: [|2|] / expected: [|2|] │ 00:07:01 verbose #8313 > > │ assert_eq / actual: [||] / expected: [||] │ 00:07:01 verbose #8314 > > │ assert_eq / actual: [|1; 2|] / expected: [|1; 2|] │ 00:07:01 verbose #8315 > > │ │ 00:07:01 verbose #8316 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:01 verbose #8317 > > 00:07:01 verbose #8318 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:01 verbose #8319 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:01 verbose #8320 > > │ ### range │ 00:07:01 verbose #8321 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:01 verbose #8322 > > 00:07:01 verbose #8323 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:01 verbose #8324 > > union range dim = 00:07:01 verbose #8325 > > | Start : dim 00:07:01 verbose #8326 > > | End : dim -> dim 00:07:01 verbose #8327 > > 00:07:01 verbose #8328 > > inl range start end s = 00:07:01 verbose #8329 > > inl start, end = 00:07:01 verbose #8330 > > match start, end with 00:07:01 verbose #8331 > > | Start start, End fn => 00:07:01 verbose #8332 > > start, s |> length |> conv |> fn 00:07:01 verbose #8333 > > | End start_fn, End end_fn => 00:07:01 verbose #8334 > > inl len = s |> length |> conv 00:07:01 verbose #8335 > > start_fn len, end_fn len 00:07:01 verbose #8336 > > s |> slice (start |> unbox) (end |> unbox) 00:07:01 verbose #8337 > 00:07:01 debug #465 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/30780a95d887f9d2793489dd9905efe818437da2f313280d1acf7ad2efc3e19c/main.spi 00:07:01 verbose #8338 > > 00:07:01 verbose #8339 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:01 verbose #8340 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:01 verbose #8341 > > │ ## rust │ 00:07:01 verbose #8342 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:01 verbose #8343 > > 00:07:01 verbose #8344 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:01 verbose #8345 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:01 verbose #8346 > > │ ### vec │ 00:07:01 verbose #8347 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:01 verbose #8348 > > 00:07:01 verbose #8349 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:01 verbose #8350 > > nominal vec t = 00:07:01 verbose #8351 > > `( 00:07:01 verbose #8352 > > backend_switch `(()) `({}) { 00:07:01 verbose #8353 > > Fsharp = 00:07:01 verbose #8354 > > (fun () => 00:07:01 verbose #8355 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:07:01 verbose #8356 > > Fable.Core.Emit(\"Vec<$0>\")>]]\n#endif\ntype Vec<'T> = class end" 00:07:01 verbose #8357 > > ) : () -> () 00:07:01 verbose #8358 > > } 00:07:01 verbose #8359 > > $'' : $'Vec<`t>' 00:07:01 verbose #8360 > > ) 00:07:01 verbose #8361 > 00:07:01 debug #466 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c1fde93e5af9416c078b5da41c0be7daa4e284c2db921ad92abc43e73ce88680/main.spi 00:07:01 verbose #8362 > > 00:07:01 verbose #8363 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:01 verbose #8364 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:01 verbose #8365 > > │ ### from_vec │ 00:07:01 verbose #8366 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:01 verbose #8367 > > 00:07:01 verbose #8368 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:01 verbose #8369 > > inl from_vec forall dim el. (vec : vec el) : a dim el = 00:07:01 verbose #8370 > > !\\(vec, $'"fable_library_rust::NativeArray_::array_from($0)"') 00:07:01 verbose #8371 > 00:07:01 debug #467 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/922b3314ac9f74f3803b82aaacb585af633e40b9bd5ba90a1cdba3927cf5c1f1/main.spi 00:07:02 verbose #8372 > > 00:07:02 verbose #8373 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8374 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8375 > > │ ### to_vec │ 00:07:02 verbose #8376 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8377 > > 00:07:02 verbose #8378 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8379 > > inl to_vec forall t. (ab : array_base t) : vec t = 00:07:02 verbose #8380 > > !\\(ab, $'"$0.to_vec()"') 00:07:02 verbose #8381 > 00:07:01 debug #468 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a161d2b79c1d53c1d77487fd4654fa6023f4be8629316f873f21faf9269c1028/main.spi 00:07:02 verbose #8382 > > 00:07:02 verbose #8383 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8384 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8385 > > │ ### vec_push │ 00:07:02 verbose #8386 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8387 > > 00:07:02 verbose #8388 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8389 > > inl vec_push forall el. (el : el) (vec : vec el) : vec el = 00:07:02 verbose #8390 > > inl el = join el 00:07:02 verbose #8391 > > inl vec = join vec 00:07:02 verbose #8392 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore 00:07:02 verbose #8393 > > // inl vec = vec |> rust.to_mut 00:07:02 verbose #8394 > > (!\($'"true; !vec.push(!el)"') : bool) |> ignore 00:07:02 verbose #8395 > > !\($'"!vec"') 00:07:02 verbose #8396 > 00:07:01 debug #469 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b001f3b8769a24040ca64662f565d21be83d610c4dfa1a1220d6175f2cd8481d/main.spi 00:07:02 verbose #8397 > > 00:07:02 verbose #8398 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8399 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8400 > > │ ### vec_reverse │ 00:07:02 verbose #8401 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8402 > > 00:07:02 verbose #8403 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8404 > > inl vec_reverse forall el. (vec : vec el) : vec el = 00:07:02 verbose #8405 > > inl vec = join vec 00:07:02 verbose #8406 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore 00:07:02 verbose #8407 > > (!\($'"true; !vec.reverse()"') : bool) |> ignore 00:07:02 verbose #8408 > > !\($'"!vec"') 00:07:02 verbose #8409 > 00:07:02 debug #470 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a74cdbae8b8cb942b641017332ea331c1d9a4786ecd42f83cb26b27ddea00b24/main.spi 00:07:02 verbose #8410 > > 00:07:02 verbose #8411 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8412 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8413 > > │ ### vec_retain │ 00:07:02 verbose #8414 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8415 > > 00:07:02 verbose #8416 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8417 > > inl vec_retain forall el. (fn : el -> bool) (vec : vec el) : vec el = 00:07:02 verbose #8418 > > inl vec = join vec 00:07:02 verbose #8419 > > inl fn = join fn 00:07:02 verbose #8420 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore 00:07:02 verbose #8421 > > // inl vec = vec |> rust.to_mut 00:07:02 verbose #8422 > > (!\($'"true; !vec.retain(|x| !fn(x.clone()))"') : bool) |> ignore 00:07:02 verbose #8423 > > !\($'"!vec"') 00:07:02 verbose #8424 > 00:07:02 debug #471 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edd225a01dde40e07e54c54c3eea35c1ad603ed986a752ef588f06198b2dd283/main.spi 00:07:02 verbose #8425 > > 00:07:02 verbose #8426 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8427 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8428 > > │ ### vec_sort_by_key │ 00:07:02 verbose #8429 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8430 > > 00:07:02 verbose #8431 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8432 > > inl vec_sort_by_key forall el t. (fn : el -> t) (vec : vec el) : vec el = 00:07:02 verbose #8433 > > inl vec = join vec 00:07:02 verbose #8434 > > inl fn = join fn 00:07:02 verbose #8435 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore 00:07:02 verbose #8436 > > // inl vec = vec |> rust.to_mut 00:07:02 verbose #8437 > > (!\($'"true; !vec.sort_by_key(|x| !fn(x.clone()))"') : bool) |> ignore 00:07:02 verbose #8438 > > !\($'"!vec"') 00:07:02 verbose #8439 > 00:07:02 debug #472 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/381574595238bb8b8be6d50bbd482f1fb7582fc55a1d2e5620c3c7158f4bb8a4/main.spi 00:07:02 verbose #8440 > > 00:07:02 verbose #8441 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8442 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8443 > > │ ### vec_extend │ 00:07:02 verbose #8444 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8445 > > 00:07:02 verbose #8446 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8447 > > inl vec_extend forall el. (el : vec el) (vec : vec el) : vec el = 00:07:02 verbose #8448 > > inl el = join el 00:07:02 verbose #8449 > > inl vec = join vec 00:07:02 verbose #8450 > > (!\($'"true; let mut !vec = !vec"') : bool) |> ignore 00:07:02 verbose #8451 > > // inl vec = vec |> rust.to_mut 00:07:02 verbose #8452 > > (!\($'"true; !vec.extend(!el)"') : bool) |> ignore 00:07:02 verbose #8453 > > !\($'"!vec"') 00:07:02 verbose #8454 > 00:07:02 debug #473 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ea8a64a18a0f6b5af03e5cf05ddfef45d03931a19106b93cee03778d9866d01b/main.spi 00:07:02 verbose #8455 > > 00:07:02 verbose #8456 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8457 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8458 > > │ ### vec_collect │ 00:07:02 verbose #8459 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8460 > > 00:07:02 verbose #8461 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8462 > > inl vec_collect fn vec = 00:07:02 verbose #8463 > > ((;[[]] |> to_vec), (vec |> from_vec : _ i32 _)) 00:07:02 verbose #8464 > > ||> am.fold fun acc x => 00:07:02 verbose #8465 > > acc |> vec_extend (fn x) 00:07:02 verbose #8466 > 00:07:02 debug #474 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2c7d2c4114ee49fc965ea931acafbfbdb9452f88eca60877e732af82635a28c5/main.spi 00:07:02 verbose #8467 > > 00:07:02 verbose #8468 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:02 verbose #8469 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:02 verbose #8470 > > │ ### vec_collect_option │ 00:07:02 verbose #8471 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:02 verbose #8472 > > 00:07:02 verbose #8473 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:02 verbose #8474 > > inl vec_collect_option vec = 00:07:02 verbose #8475 > > ((;[[]] |> to_vec |> Ok), (vec |> from_vec : _ i32 _)) 00:07:02 verbose #8476 > > ||> am.fold fun acc x => 00:07:02 verbose #8477 > > x 00:07:02 verbose #8478 > > |> resultm.unbox 00:07:02 verbose #8479 > > |> fun x => 00:07:02 verbose #8480 > > match acc, x |> resultm.map optionm'.unbox with 00:07:02 verbose #8481 > > | Ok acc, Ok (Some x) => acc |> vec_extend x |> Ok 00:07:02 verbose #8482 > > | _, Error error => error |> Error 00:07:02 verbose #8483 > > | _ => acc 00:07:02 verbose #8484 > 00:07:02 debug #475 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/955b4e8d39cd482b6ca24a034e3cd6dcb84e52659bea236afdd9b8efc0e307d3/main.spi 00:07:03 verbose #8485 > > 00:07:03 verbose #8486 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8487 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8488 > > │ ### vec_collect_into │ 00:07:03 verbose #8489 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8490 > > 00:07:03 verbose #8491 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8492 > > inl vec_collect_into forall (c : * -> * -> *) t e. 00:07:03 verbose #8493 > > (x : vec (c t e)) 00:07:03 verbose #8494 > > : c (vec t) e 00:07:03 verbose #8495 > > = 00:07:03 verbose #8496 > > !\($'"!x.into_iter().collect()"') 00:07:03 verbose #8497 > 00:07:02 debug #476 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2a0053abcffce590df6a878b4406d554eb1b655b8329e444f62969d4165f2d71/main.spi 00:07:03 verbose #8498 > > 00:07:03 verbose #8499 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8500 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8501 > > │ ### vec_mapi │ 00:07:03 verbose #8502 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8503 > > 00:07:03 verbose #8504 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8505 > > inl vec_mapi forall dim t u. (fn : dim -> t -> u) (ar : vec t) : vec u = 00:07:03 verbose #8506 > > inl fn = join fn 00:07:03 verbose #8507 > > inl ar = join ar 00:07:03 verbose #8508 > > !\($'"!ar.iter().enumerate().map(|(i, x)| 00:07:03 verbose #8509 > > !fn(i.try_into().unwrap())(x.clone())).collect::<Vec<_>>()"') 00:07:03 verbose #8510 > 00:07:02 debug #477 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2f2533ee9878a0e2576cb4fdedf4ba15139464c1907f86c8b40188b293278889/main.spi 00:07:03 verbose #8511 > > 00:07:03 verbose #8512 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8513 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8514 > > │ ### vec_map │ 00:07:03 verbose #8515 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8516 > > 00:07:03 verbose #8517 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8518 > > inl vec_map forall t u. (fn : t -> u) (ar : vec t) : vec u = 00:07:03 verbose #8519 > > (!\($'"true; let _result : Vec<_> = !ar.into_iter().map(|x| { //"') : bool) 00:07:03 verbose #8520 > > |> ignore 00:07:03 verbose #8521 > > (!\\(fn !\($'"x"'), $'"true; $0 }).collect::<Vec<_>>()"') : bool) |> ignore 00:07:03 verbose #8522 > > !\($'"_result"') 00:07:03 verbose #8523 > 00:07:02 debug #478 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3bac678d4e54740ee0e8d4528555dde83ec5b33eb125092a1d6170ff624330ae/main.spi 00:07:03 verbose #8524 > > 00:07:03 verbose #8525 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8526 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8527 > > │ ### vec_map''' │ 00:07:03 verbose #8528 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8529 > > 00:07:03 verbose #8530 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8531 > > inl vec_map''' forall t u. (fn : t -> u) (ar : vec t) : vec u = 00:07:03 verbose #8532 > > (!\($'"true; let _result : Vec<_> = !ar.into_iter().map(|x| { //"') : bool) 00:07:03 verbose #8533 > > |> ignore 00:07:03 verbose #8534 > > (!\\(fn !\($'"x"'), $'"true; $0 }}).collect::<Vec<_>>(); {{ //"') : bool) |> 00:07:03 verbose #8535 > > ignore 00:07:03 verbose #8536 > > !\($'"_result"') 00:07:03 verbose #8537 > 00:07:02 debug #479 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f1ae14f13cd4d4b75664a863f9d2e6410a665e8b3a9059df26fa51aa539a8e69/main.spi 00:07:03 verbose #8538 > > 00:07:03 verbose #8539 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8540 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8541 > > │ ### vec_map' │ 00:07:03 verbose #8542 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8543 > > 00:07:03 verbose #8544 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8545 > > inl vec_map' forall t u. (fn : t -> u) (ar : vec t) : vec u = 00:07:03 verbose #8546 > > !\\((ar, fn), $'"$0.into_iter().map(|x| 00:07:03 verbose #8547 > > $1(x.clone())).collect::<Vec<_>>()"') 00:07:03 verbose #8548 > 00:07:03 debug #480 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d72d0b044200fbb48cbe13404c7a27ee4ece504618215b8258e8b20ea8b680dd/main.spi 00:07:03 verbose #8549 > > 00:07:03 verbose #8550 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8551 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8552 > > │ ### vec_fold' │ 00:07:03 verbose #8553 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8554 > > 00:07:03 verbose #8555 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8556 > > inl vec_fold' forall t u. (fn : u -> t -> u) (init : u) (ar : vec t) : u = 00:07:03 verbose #8557 > > (!\\(ar, $'"true; let _result = $0.into_iter().fold(!init, |acc, x| { //"') 00:07:03 verbose #8558 > > : bool) |> ignore 00:07:03 verbose #8559 > > (!\\(fn !\($'"acc"') !\($'"x"'), $'"true; $0 })"') : bool) |> ignore 00:07:03 verbose #8560 > > !\($'"_result"') 00:07:03 verbose #8561 > 00:07:03 debug #481 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0916ffb60a7b3d3e827c4d666e92bceb8b2ca9d9405fccddabe234811e7806c9/main.spi 00:07:03 verbose #8562 > > 00:07:03 verbose #8563 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8564 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8565 > > │ ### vec_for_each │ 00:07:03 verbose #8566 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8567 > > 00:07:03 verbose #8568 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8569 > > inl vec_for_each forall t. (fn : t -> ()) (ar : vec t) : () = 00:07:03 verbose #8570 > > !\\((ar, fn), $'"$0.iter().for_each(|x| { $1(x.clone()); })"') 00:07:03 verbose #8571 > 00:07:03 debug #482 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/06d1e542b009d0d47ffc09f82f67f24a3d04d5f786c07e0b0399f9aec845f01c/main.spi 00:07:03 verbose #8572 > > 00:07:03 verbose #8573 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8574 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8575 > > │ ### vec_for_each' │ 00:07:03 verbose #8576 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8577 > > 00:07:03 verbose #8578 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8579 > > inl vec_for_each' forall t. (fn : t -> ()) (ar : vec t) : () = 00:07:03 verbose #8580 > > (!\($'"true; !ar.into_iter().for_each(|x| { //"') : bool) |> ignore 00:07:03 verbose #8581 > > inl x = fn !\($'"x"') 00:07:03 verbose #8582 > > (!\($'"true; !x }}); { //"') : bool) |> ignore 00:07:03 verbose #8583 > 00:07:03 debug #483 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/67ce35e431a94c057dc20cdb087ba179e157d214af79c4d2610eec3918e40d2f/main.spi 00:07:03 verbose #8584 > > 00:07:03 verbose #8585 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8586 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8587 > > │ ### vec_filter │ 00:07:03 verbose #8588 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8589 > > 00:07:03 verbose #8590 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8591 > > inl vec_filter forall t. (fn : t -> bool) (ar : vec t) : vec t = 00:07:03 verbose #8592 > > inl fn = join fn 00:07:03 verbose #8593 > > inl ar = join ar 00:07:03 verbose #8594 > > !\($'"!ar.into_iter().filter(|x| 00:07:03 verbose #8595 > > !fn(x.clone().clone())).collect::<Vec<_>>()"') 00:07:03 verbose #8596 > 00:07:03 debug #484 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c8295a80efa9fe52882fdb4d5afaf3d797b64cb59735e61dcc71f5b3e714e8da/main.spi 00:07:03 verbose #8597 > > 00:07:03 verbose #8598 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8599 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8600 > > │ ### vec_len │ 00:07:03 verbose #8601 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8602 > > 00:07:03 verbose #8603 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8604 > > inl vec_len forall t. (vec : vec t) : unativeint = 00:07:03 verbose #8605 > > !\\(vec, $'"$0.len()"') 00:07:03 verbose #8606 > 00:07:03 debug #485 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f0f5fa4c7e4f8c808216f2d150ad80501a70c8c2d8ddc623dbb26a7085715869/main.spi 00:07:03 verbose #8607 > > 00:07:03 verbose #8608 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:03 verbose #8609 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:03 verbose #8610 > > │ ### vec_chunks │ 00:07:03 verbose #8611 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:03 verbose #8612 > > 00:07:03 verbose #8613 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:03 verbose #8614 > > inl vec_chunks forall t. (n : i32) (vec : vec t) : vec (vec t) = 00:07:03 verbose #8615 > > !\\(vec, $'"$0.chunks(!n).map(|x| x.into_iter().map(|x| 00:07:03 verbose #8616 > > x.clone()).collect::<Vec<_>>()).collect::<Vec<_>>()"') 00:07:04 verbose #8617 > 00:07:03 debug #486 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/55380d39a3c98a0b7eb76a06bffac75ab68cb89abbf07783622596512b28a88a/main.spi 00:07:04 verbose #8618 > > 00:07:04 verbose #8619 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8620 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8621 > > │ ### slice │ 00:07:04 verbose #8622 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8623 > > 00:07:04 verbose #8624 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8625 > > nominal slice t = 00:07:04 verbose #8626 > > `( 00:07:04 verbose #8627 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:07:04 verbose #8628 > > Fable.Core.Emit(\"[[$0]]\")>]]\n#endif\ntype Slice<'T> = class end" 00:07:04 verbose #8629 > > $'' : $'Slice<`t>' 00:07:04 verbose #8630 > > ) 00:07:04 verbose #8631 > 00:07:03 debug #487 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1b6a16be718d6b1df426e8cd05e56e7c4d6c4345e59aab3c3eee2c2000508dd5/main.spi 00:07:04 verbose #8632 > > 00:07:04 verbose #8633 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8634 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8635 > > │ ### slice' │ 00:07:04 verbose #8636 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8637 > > 00:07:04 verbose #8638 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8639 > > nominal slice' el dim = 00:07:04 verbose #8640 > > `( 00:07:04 verbose #8641 > > backend_switch `(()) `({}) { 00:07:04 verbose #8642 > > Fsharp = 00:07:04 verbose #8643 > > (fun () => 00:07:04 verbose #8644 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:07:04 verbose #8645 > > Fable.Core.Emit(\"_\")>]]\n#endif\ntype Slice'<'T> = class end" 00:07:04 verbose #8646 > > ) : () -> () 00:07:04 verbose #8647 > > } 00:07:04 verbose #8648 > > $'' : $'Slice\'<`el>' 00:07:04 verbose #8649 > > ) 00:07:04 verbose #8650 > 00:07:03 debug #488 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/47d4525c854fb9787b7d4f6bc47704d4470929b92185d19f16019867789d3618/main.spi 00:07:04 verbose #8651 > > 00:07:04 verbose #8652 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8653 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8654 > > │ ### slice_singleton │ 00:07:04 verbose #8655 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8656 > > 00:07:04 verbose #8657 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8658 > > inl slice_singleton forall dim el. (x : option el) : slice' el dim = 00:07:04 verbose #8659 > > match x with 00:07:04 verbose #8660 > > | Some x => !\($'"[[!x]]"') 00:07:04 verbose #8661 > > | None => 00:07:04 verbose #8662 > > !\($'"[[\\\"\\\".to_string()]]"') : slice' el dim 00:07:04 verbose #8663 > > // emit_expr `(()) `(slice' el dim) () ($'"[[@dim]]"' : string) : 00:07:04 verbose #8664 > > slice' el 10 00:07:04 verbose #8665 > > // !\( : string) : slice' el i32 // !\($'"[[]]"') 00:07:04 verbose #8666 > 00:07:03 debug #489 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f2162e727f0bb27914fa8c42a346d2300b73802450f872d2d623d173d3dacecb/main.spi 00:07:04 verbose #8667 > > 00:07:04 verbose #8668 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8669 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8670 > > │ ### slice_length │ 00:07:04 verbose #8671 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8672 > > 00:07:04 verbose #8673 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8674 > > inl slice_length forall t dim. (x : slice' t dim) : unativeint = 00:07:04 verbose #8675 > > !\($'"!x.len()"') 00:07:04 verbose #8676 > 00:07:03 debug #490 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bb9167a34100d3c021bed22e9712ec9f30c4177f54b6ed14d10ead6eb3cf5c13/main.spi 00:07:04 verbose #8677 > > 00:07:04 verbose #8678 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8679 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8680 > > │ ### slice_range │ 00:07:04 verbose #8681 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8682 > > 00:07:04 verbose #8683 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8684 > > inl slice_range forall t dim. (start : range t) (end : range t) (s : slice' t 00:07:04 verbose #8685 > > dim) : rust.ref (slice' t dim) = 00:07:04 verbose #8686 > > inl len = s |> slice_length 00:07:04 verbose #8687 > > inl start, (end : unativeint) = 00:07:04 verbose #8688 > > match start, end with 00:07:04 verbose #8689 > > | Start start, End fn => start, len |> convert |> fn |> convert 00:07:04 verbose #8690 > > | End start_fn, End end_fn => len |> convert |> start_fn, len |> convert 00:07:04 verbose #8691 > > |> end_fn |> convert 00:07:04 verbose #8692 > > match start, end with 00:07:04 verbose #8693 > > | start, end when unbox end =. len => !\($'"&!s[[!start..]]"') 00:07:04 verbose #8694 > > | start, end => !\\((start, end), $'"&!s[[$0..$1]]"') 00:07:04 verbose #8695 > 00:07:04 debug #491 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3f66cc87de4dc957634b346507c12b69199274a03664056baa93261adb4dd4e8/main.spi 00:07:04 verbose #8696 > > 00:07:04 verbose #8697 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8698 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8699 > > │ ### new_slice │ 00:07:04 verbose #8700 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8701 > > 00:07:04 verbose #8702 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8703 > > inl new_slice forall el dim. (el : el) : slice' el dim = 00:07:04 verbose #8704 > > !\\(el, $'"[[$0; @dim]]"') 00:07:04 verbose #8705 > 00:07:04 debug #492 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ec5ddd743082ed0e1ea43d9126cba1f2cfc55195634d47993994686f554c3a8/main.spi 00:07:04 verbose #8706 > > 00:07:04 verbose #8707 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8708 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8709 > > │ ### as_slice │ 00:07:04 verbose #8710 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8711 > > 00:07:04 verbose #8712 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8713 > > inl as_slice forall t. (x : array_base t) : rust.ref (slice t) = 00:07:04 verbose #8714 > > inl x = x |> to_vec 00:07:04 verbose #8715 > > !\($'"!x.as_slice()"') 00:07:04 verbose #8716 > 00:07:04 debug #493 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/12bded265e7e1dfc9bd5de3efa9273e04021dcc228a5afb205749f8250c0fda5/main.spi 00:07:04 verbose #8717 > > 00:07:04 verbose #8718 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8719 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8720 > > │ ### slice_to_vec │ 00:07:04 verbose #8721 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8722 > > 00:07:04 verbose #8723 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8724 > > inl slice_to_vec forall t. (slice : rust.ref (slice t)) : vec t = 00:07:04 verbose #8725 > > !\\(slice, $'"$0.iter().map(|x| *x).collect::<Vec<_>>()"') 00:07:04 verbose #8726 > 00:07:04 debug #494 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c1c615c683309e22a4ef2a68a675e4e0533762f68fa87b96adb39d8907090bf2/main.spi 00:07:04 verbose #8727 > > 00:07:04 verbose #8728 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8729 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8730 > > │ ### any │ 00:07:04 verbose #8731 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8732 > > 00:07:04 verbose #8733 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8734 > > inl any forall t. (fn : t -> bool) (source : array_base t) : bool = 00:07:04 verbose #8735 > > !\($'"!source.any(|x| !fn(x))"') 00:07:04 verbose #8736 > 00:07:04 debug #495 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/00020a4f5ba2445f8dee634f3225b2fc4a083819c294af5cf6a4edba91ba9430/main.spi 00:07:04 verbose #8737 > > 00:07:04 verbose #8738 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8739 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8740 > > │ ### iter_collect vec │ 00:07:04 verbose #8741 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8742 > > 00:07:04 verbose #8743 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8744 > > instance iter_collect vec = fun (iter : into_iterator u) => 00:07:04 verbose #8745 > > !\($'"!iter.collect::<Vec<_>>()"') 00:07:04 verbose #8746 > > 00:07:04 verbose #8747 > > instance iter_collect'' vec = fun (iter : into_iterator (t (u v))) => 00:07:04 verbose #8748 > > !\($'"!iter.collect::<Vec<_>>()"') 00:07:04 verbose #8749 > 00:07:04 debug #496 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b5fa12c9f133d9212511496e2743a40663a217355f0e174e4c6d125a772eb39a/main.spi 00:07:04 verbose #8750 > > 00:07:04 verbose #8751 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:04 verbose #8752 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:04 verbose #8753 > > │ ### new_vec │ 00:07:04 verbose #8754 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:04 verbose #8755 > > 00:07:04 verbose #8756 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:04 verbose #8757 > > inl new_vec forall t. (items : list t) : vec t = 00:07:04 verbose #8758 > > inl items = 00:07:04 verbose #8759 > > (items, ("", 0i32)) 00:07:04 verbose #8760 > > ||> listm.foldBack fun (x : t) (acc, i) => 00:07:04 verbose #8761 > > inl x = join x 00:07:04 verbose #8762 > > $'"!x"' +. (if i = 0 then "" else ", ") +. acc, i + 1 00:07:04 verbose #8763 > > |> fst 00:07:04 verbose #8764 > > !\($'"vec\![[" + !items + "]]"') 00:07:04 verbose #8765 > 00:07:04 debug #497 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cebf0e2f3427c62d48bfe59a1d2994cec255d4e7c539b97a385c1c3b25e21689/main.spi 00:07:05 verbose #8766 > > 00:07:05 verbose #8767 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:05 verbose #8768 > > //// test 00:07:05 verbose #8769 > > ///! rust 00:07:05 verbose #8770 > > 00:07:05 verbose #8771 > > [[ 0i32; 1 ]] 00:07:05 verbose #8772 > > |> new_vec 00:07:05 verbose #8773 > > |> sm'.format_debug' 00:07:05 verbose #8774 > > |> sm'.from_std_string 00:07:05 verbose #8775 > > |> _assert_eq "[[0, 1]]" 00:07:05 verbose #8776 > 00:07:04 debug #498 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9af4b7734cb83ba0ec75d8e333e75f50b614db276d836ba33f4862e847f7ce45/main.spi 00:07:12 verbose #8777 > > 00:07:12 verbose #8778 > > ╭─[ 7.10s - return value ]─────────────────────────────────────────────────────╮ 00:07:12 verbose #8779 > > │ assert_eq / actual: "[0, 1]" / expected: "[0, 1]" │ 00:07:12 verbose #8780 > > │ │ 00:07:12 verbose #8781 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8782 > > 00:07:12 verbose #8783 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:12 verbose #8784 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:12 verbose #8785 > > │ ## fsharp │ 00:07:12 verbose #8786 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8787 > > 00:07:12 verbose #8788 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:12 verbose #8789 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:12 verbose #8790 > > │ ### average │ 00:07:12 verbose #8791 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8792 > > 00:07:12 verbose #8793 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:12 verbose #8794 > > inl average forall el {number}. (a : a _ el) : el = 00:07:12 verbose #8795 > > $'!a |> Array.average' 00:07:12 verbose #8796 > 00:07:11 debug #499 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1f32376a6525bb1d0fd8da22c486d83afc16435f1a897d944cc1b242108c970e/main.spi 00:07:12 verbose #8797 > > 00:07:12 verbose #8798 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:12 verbose #8799 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:12 verbose #8800 > > │ ### distinct │ 00:07:12 verbose #8801 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8802 > > 00:07:12 verbose #8803 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:12 verbose #8804 > > inl distinct forall dim el. (a : a dim el) : a dim el = 00:07:12 verbose #8805 > > $'!a |> Array.distinct' 00:07:12 verbose #8806 > 00:07:11 debug #500 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/78e344de78568f80ae2a6d73f44183d01f29b3e8e8a1f4411edc23e972f57c97/main.spi 00:07:12 verbose #8807 > > 00:07:12 verbose #8808 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:12 verbose #8809 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:12 verbose #8810 > > │ ### skip │ 00:07:12 verbose #8811 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8812 > > 00:07:12 verbose #8813 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:12 verbose #8814 > > inl skip forall dim el. (n : dim) (a : a dim el) : a dim el = 00:07:12 verbose #8815 > > $'!a |> Array.skip !n ' 00:07:12 verbose #8816 > 00:07:11 debug #501 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/798971d42a93b29391ff0ef0b2b9d0044a9ca41bfcd8a1038b3e5082448c4bd9/main.spi 00:07:12 verbose #8817 > > 00:07:12 verbose #8818 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:12 verbose #8819 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:12 verbose #8820 > > │ ### skip_while │ 00:07:12 verbose #8821 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8822 > > 00:07:12 verbose #8823 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:12 verbose #8824 > > inl skip_while forall dim el. (fn : el -> bool) (a : a dim el) : a dim el = 00:07:12 verbose #8825 > > $'!a |> Array.skipWhile !fn ' 00:07:12 verbose #8826 > 00:07:12 debug #502 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/94eccc75a8a99d8ded7e74f93d6d38e113d0c74602cc5d33070dce049193b8b8/main.spi 00:07:12 verbose #8827 > > 00:07:12 verbose #8828 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:12 verbose #8829 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:12 verbose #8830 > > │ ### to_list' │ 00:07:12 verbose #8831 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:12 verbose #8832 > > 00:07:12 verbose #8833 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:12 verbose #8834 > > inl to_list' forall dim t. (items : a dim t) : listm'.list' t = 00:07:12 verbose #8835 > > $'!items |> Array.toList' 00:07:12 verbose #8836 > 00:07:12 debug #503 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/259774c08c162cbbff12b59413bbe86b56e6c88d697feacd12c167346cb6cd88/main.spi 00:07:12 verbose #8837 > > 00:07:12 verbose #8838 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:12 verbose #8839 > > //// test 00:07:12 verbose #8840 > > ///! fsharp 00:07:12 verbose #8841 > > ////! cuda 00:07:12 verbose #8842 > > ///! rust 00:07:12 verbose #8843 > > ///! typescript 00:07:12 verbose #8844 > > ///! python 00:07:12 verbose #8845 > > 00:07:12 verbose #8846 > > a' ;[[ -3i32; 6 ]] 00:07:12 verbose #8847 > > |> to_list' 00:07:12 verbose #8848 > > |> listm'.unbox 00:07:12 verbose #8849 > > |> _assert_eq [[ -3; 6 ]] 00:07:12 verbose #8850 > 00:07:12 debug #504 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/88a89975394b4ae0712e2ffb2eb315323b9fc9c48d9719e1ff476ee8f278d34e/main.spi 00:07:23 verbose #8851 > > 00:07:23 verbose #8852 > > ╭─[ 11.30s - return value ]────────────────────────────────────────────────────╮ 00:07:23 verbose #8853 > > │ .rs output: │ 00:07:23 verbose #8854 > > │ assert_eq / actual: UH0_1(-3, UH0_1(6, UH0_0)) / expected: UH0_1(-3, │ 00:07:23 verbose #8855 > > │ UH0_1(6, UH0_0)) │ 00:07:23 verbose #8856 > > │ │ 00:07:23 verbose #8857 > > │ .ts output: │ 00:07:23 verbose #8858 > > │ assert_eq / actual: UH0_1 (-3, UH0_1 (6, UH0_0)) / expected: UH0_1 (-3, │ 00:07:23 verbose #8859 > > │ UH0_1 (6, UH0_0)) │ 00:07:23 verbose #8860 > > │ │ 00:07:23 verbose #8861 > > │ .py output: │ 00:07:23 verbose #8862 > > │ assert_eq / actual: UH0_1 (-3, UH0_1 (6, UH0_0)) / expected: UH0_1 (-3, │ 00:07:23 verbose #8863 > > │ UH0_1 (6, UH0_0)) │ 00:07:23 verbose #8864 > > │ │ 00:07:23 verbose #8865 > > │ │ 00:07:23 verbose #8866 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:23 verbose #8867 > > 00:07:23 verbose #8868 > > ╭─[ 11.31s - stdout ]──────────────────────────────────────────────────────────╮ 00:07:23 verbose #8869 > > │ .fsx output: │ 00:07:23 verbose #8870 > > │ assert_eq / actual: UH0_1 (-3, UH0_1 (6, UH0_0)) / expected: UH0_1 (-3, │ 00:07:23 verbose #8871 > > │ UH0_1 (6, UH0_0)) │ 00:07:23 verbose #8872 > > │ │ 00:07:23 verbose #8873 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:23 verbose #8874 > > 00:07:23 verbose #8875 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:23 verbose #8876 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:23 verbose #8877 > > │ ### parallel_map │ 00:07:23 verbose #8878 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:23 verbose #8879 > > 00:07:23 verbose #8880 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:23 verbose #8881 > > inl parallel_map forall dim el el'. (fn : el -> el') (a : a dim el) : a dim el' 00:07:23 verbose #8882 > > = 00:07:23 verbose #8883 > > $'!a |> Array.Parallel.map !fn ' 00:07:23 verbose #8884 > 00:07:23 debug #505 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2134ed2e47080d3c6f1538f2f89f2ebdd297043afd7fe8238c22e34ac1da2791/main.spi 00:07:24 verbose #8885 > > 00:07:24 verbose #8886 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:24 verbose #8887 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:24 verbose #8888 > > │ ### map' │ 00:07:24 verbose #8889 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:24 verbose #8890 > > 00:07:24 verbose #8891 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:24 verbose #8892 > > inl map' forall dim el el'. (fn : el -> el') (a : a dim el) : a dim el' = 00:07:24 verbose #8893 > > $'!a |> Array.map !fn ' 00:07:24 verbose #8894 > 00:07:23 debug #506 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/19c9e59c49eb191a27f27a93a40639df1df607d50deeb7f25084a448a5215d94/main.spi 00:07:24 verbose #8895 > > 00:07:24 verbose #8896 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:24 verbose #8897 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:24 verbose #8898 > > │ ### sort_by │ 00:07:24 verbose #8899 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:24 verbose #8900 > > 00:07:24 verbose #8901 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:24 verbose #8902 > > inl sort_by forall dim el. (fn : el -> _) (a : a dim el) : a dim el = 00:07:24 verbose #8903 > > $'!a |> Array.sortBy !fn ' 00:07:24 verbose #8904 > 00:07:23 debug #507 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f24facdf1d0b68bc2750955f99e75b9f4462198e51a99da3ccaf59dcef4a1d34/main.spi 00:07:24 verbose #8905 > > 00:07:24 verbose #8906 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:24 verbose #8907 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:24 verbose #8908 > > │ ### sort │ 00:07:24 verbose #8909 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:24 verbose #8910 > > 00:07:24 verbose #8911 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:24 verbose #8912 > > inl sort forall dim el. (a : a dim el) : a dim el = 00:07:24 verbose #8913 > > $'!a |> Array.sort' 00:07:24 verbose #8914 > 00:07:23 debug #508 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/799abfa2f8f32898e1c436116a2de53ad3f85f64d7effed69e1df5b70250f2d5/main.spi 00:07:24 verbose #8915 > > 00:07:24 verbose #8916 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:24 verbose #8917 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:24 verbose #8918 > > │ ### sort_descending │ 00:07:24 verbose #8919 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:24 verbose #8920 > > 00:07:24 verbose #8921 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:24 verbose #8922 > > inl sort_descending forall dim el. (a : a dim el) : a dim el = 00:07:24 verbose #8923 > > $'!a |> Array.sortDescending' 00:07:24 verbose #8924 > 00:07:23 debug #509 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/54a237f6d4b33bacffd6b21f5c1bb185a0e68e3c9b06ee5bb5b43fcebf335ca4/main.spi 00:07:24 verbose #8925 > > 00:07:24 verbose #8926 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:24 verbose #8927 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:24 verbose #8928 > > │ ### transpose │ 00:07:24 verbose #8929 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:24 verbose #8930 > > 00:07:24 verbose #8931 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:24 verbose #8932 > > inl transpose forall el. (a : array_base (array_base el)) : array_base 00:07:24 verbose #8933 > > (array_base el) = 00:07:24 verbose #8934 > > $'!a |> Array.transpose' 00:07:24 verbose #8935 > 00:07:24 debug #510 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3bde47ec1485fc08187352072ae7464d8279c6152da511659a6e01f7e4e13c98/main.spi 00:07:24 verbose #8936 > > 00:07:24 verbose #8937 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:24 verbose #8938 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:24 verbose #8939 > > │ ### try_item │ 00:07:24 verbose #8940 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:24 verbose #8941 > > 00:07:24 verbose #8942 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:24 verbose #8943 > > inl try_item forall dim el. (i : i32) (a : a dim el) : option el = 00:07:24 verbose #8944 > > $'!a |> Array.tryItem !i ' |> optionm'.unbox 00:07:24 verbose #8945 > 00:07:24 debug #511 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0a18bc2813a67727b55fb0675f73d7c2c89cb6edcdd948ddd18b13becec51363/main.spi 00:07:24 verbose #8946 > 00:01:57 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 101733 } 00:07:24 verbose #8947 > 00:01:57 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:07:25 verbose #8948 > 00:01:58 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.ipynb to html 00:07:25 verbose #8949 > 00:01:58 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:07:25 verbose #8950 > 00:01:58 verbose #7 ! validate(nb) 00:07:25 verbose #8951 > 00:01:59 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:07:25 verbose #8952 > 00:01:59 verbose #9 ! return _pygments_highlight( 00:07:26 verbose #8953 > 00:01:59 verbose #10 ! [NbConvertApp] Writing 458543 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/am'.dib.html 00:07:26 verbose #8954 > 00:01:59 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 890 } 00:07:26 verbose #8955 > 00:01:59 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 890 } 00:07:26 verbose #8956 > 00:01:59 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/am''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/am''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:07:26 verbose #8957 > 00:02:00 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:07:26 verbose #8958 > 00:02:00 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:07:26 verbose #8959 > 00:02:00 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 102682 } 00:07:26 debug #8960 runtime.execute_with_options_async / { exit_code = 0; output_length = 108254 } 00:07:26 debug #11 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path am'.dib --retries 3 00:07:26 debug #8961 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path crypto.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:07:26 verbose #8962 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "crypto.dib", "--retries", "3"])) } 00:07:26 verbose #8963 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:07:28 verbose #8964 > > 00:07:28 verbose #8965 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:28 verbose #8966 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:28 verbose #8967 > > │ # crypto │ 00:07:28 verbose #8968 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:30 verbose #8969 > > 00:07:30 verbose #8970 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:30 verbose #8971 > > open rust 00:07:30 verbose #8972 > > open rust_operators 00:07:31 verbose #8973 > 00:07:30 debug #512 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd47537238fcdc924c2a6b0a99d4f87ecbbde40a43ba8772a0907b5bf4a50e9d/main.spi 00:07:31 verbose #8974 > > 00:07:31 verbose #8975 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:31 verbose #8976 > > //// test 00:07:31 verbose #8977 > > 00:07:31 verbose #8978 > > open testing 00:07:31 verbose #8979 > > open file_system_operators 00:07:31 verbose #8980 > 00:07:31 debug #513 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44830e8d18803e477b82c4f37383caee2337b2df18e02eafbb93e644b56aa89a/main.spi 00:07:31 verbose #8981 > > 00:07:31 verbose #8982 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:31 verbose #8983 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:31 verbose #8984 > > │ ## fsharp │ 00:07:31 verbose #8985 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:31 verbose #8986 > > 00:07:31 verbose #8987 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:31 verbose #8988 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:31 verbose #8989 > > │ ### sha256 │ 00:07:31 verbose #8990 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:31 verbose #8991 > > 00:07:31 verbose #8992 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:31 verbose #8993 > > nominal sha256 = $'System.Security.Cryptography.SHA256' 00:07:31 verbose #8994 > > 00:07:31 verbose #8995 > > inl sha256 () : sha256 = 00:07:31 verbose #8996 > > $'`sha256.Create' () 00:07:31 verbose #8997 > 00:07:31 debug #514 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b800e847fc009f9000803ca61d17a7d97e243d471afcd2a0ca36502b75f38751/main.spi 00:07:31 verbose #8998 > > 00:07:31 verbose #8999 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:31 verbose #9000 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:31 verbose #9001 > > │ ### sha256_compute_hash │ 00:07:31 verbose #9002 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:31 verbose #9003 > > 00:07:31 verbose #9004 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:31 verbose #9005 > > inl sha256_compute_hash (x : sha256) (data : a i32 u8) : a i32 u8 = 00:07:31 verbose #9006 > > data |> $'!x.ComputeHash' 00:07:31 verbose #9007 > 00:07:31 debug #515 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e1051ead42c0a85bce32257f115d1c60f480d884a0580a37d48d147494e9d3a9/main.spi 00:07:31 verbose #9008 > > 00:07:31 verbose #9009 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:31 verbose #9010 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:31 verbose #9011 > > │ ## rust │ 00:07:31 verbose #9012 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:31 verbose #9013 > > 00:07:31 verbose #9014 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:31 verbose #9015 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:31 verbose #9016 > > │ ### get_file_hash' │ 00:07:31 verbose #9017 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:31 verbose #9018 > > 00:07:31 verbose #9019 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:31 verbose #9020 > > inl get_file_hash' (path : string) : result string string = 00:07:31 verbose #9021 > > inl path = path |> file_system.normalize_path 00:07:31 verbose #9022 > > inl exit_code, result = 00:07:31 verbose #9023 > > runtime.execution_options fun x => { x with 00:07:31 verbose #9024 > > command = $'$"pwsh -c \\\"(Get-FileHash \'{!path}\' -Algorithm 00:07:31 verbose #9025 > > SHA256).Hash\\\""' 00:07:31 verbose #9026 > > } 00:07:31 verbose #9027 > > |> runtime.execute_with_options 00:07:31 verbose #9028 > > if exit_code = 0 00:07:31 verbose #9029 > > then result |> sm'.to_lower |> Ok 00:07:31 verbose #9030 > > else result |> Error 00:07:31 verbose #9031 > 00:07:31 debug #516 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fc40d5024db02c79abc1b273a03d3bb855fd4a2c9e56b39ce8982de1999d3d05/main.spi 00:07:32 verbose #9032 > > 00:07:32 verbose #9033 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:32 verbose #9034 > > //// test 00:07:32 verbose #9035 > > 00:07:32 verbose #9036 > > inl file_name = "test.txt" 00:07:32 verbose #9037 > > inl text = "\n" 00:07:32 verbose #9038 > > 00:07:32 verbose #9039 > > inl temp_dir, disposable = 00:07:32 verbose #9040 > > (file_name, text) 00:07:32 verbose #9041 > > |> sm'.format_debug 00:07:32 verbose #9042 > > |> crypto.hash_text 00:07:32 verbose #9043 > > |> file_system.create_temp_dir' 00:07:32 verbose #9044 > > disposable |> use |> ignore 00:07:32 verbose #9045 > > inl path = temp_dir </> file_name 00:07:32 verbose #9046 > > text |> file_system.write_all_text_async path |> async.run_synchronously 00:07:32 verbose #9047 > > path 00:07:32 verbose #9048 > > |> get_file_hash' 00:07:32 verbose #9049 > > |> resultm.get 00:07:32 verbose #9050 > > |> _assert_eq "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" 00:07:32 verbose #9051 > 00:07:31 debug #517 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5931d1936a2f8703abe45628d5dcfaa534b869bfba1522de1abfcb7d669c21fb/main.spi 00:07:38 verbose #9052 > > 00:07:38 verbose #9053 > > ╭─[ 5.89s - stdout ]───────────────────────────────────────────────────────────╮ 00:07:38 verbose #9054 > > │ 00:00:00 debug #1 runtime.execute_with_options_async / { options = { │ 00:07:38 verbose #9055 > > │ command = pwsh -c "(Get-FileHash │ 00:07:38 verbose #9056 > > │ '/tmp/!create_temp_path_/dotnet-repl/9ca8b18d-ee77-4684-ad12-21e1354945fc/te │ 00:07:38 verbose #9057 > > │ st.txt' -Algorithm SHA256).Hash"; cancellation_token = None; │ 00:07:38 verbose #9058 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:07:38 verbose #9059 > > │ working_directory = None } } │ 00:07:38 verbose #9060 > > │ 00:00:00 verbose #2 > │ 00:07:38 verbose #9061 > > │ 01BA4719C80B6FE911B091A7C05124B64EEECE964E09C058EF8F9805DACA546B │ 00:07:38 verbose #9062 > > │ 00:00:00 debug #3 runtime.execute_with_options_async / { exit_code = │ 00:07:38 verbose #9063 > > │ 0; output_length = 64 } │ 00:07:38 verbose #9064 > > │ assert_eq / actual: │ 00:07:38 verbose #9065 > > │ "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" / │ 00:07:38 verbose #9066 > > │ expected: "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" │ 00:07:38 verbose #9067 > > │ │ 00:07:38 verbose #9068 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:38 verbose #9069 > > 00:07:38 verbose #9070 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:38 verbose #9071 > > //// test 00:07:38 verbose #9072 > > ///! rust -d chrono encoding_rs encoding_rs_io regex sha2 00:07:38 verbose #9073 > > 00:07:38 verbose #9074 > > inl file_name = "test.txt" 00:07:38 verbose #9075 > > inl text = "\n" 00:07:38 verbose #9076 > > 00:07:38 verbose #9077 > > inl temp_dir, disposable = 00:07:38 verbose #9078 > > (file_name, text) 00:07:38 verbose #9079 > > |> sm'.format_debug 00:07:38 verbose #9080 > > |> crypto.hash_text 00:07:38 verbose #9081 > > |> file_system.create_temp_dir' 00:07:38 verbose #9082 > > inl path = temp_dir </> file_name 00:07:38 verbose #9083 > > text |> file_system.write_all_text path 00:07:38 verbose #9084 > > path 00:07:38 verbose #9085 > > |> get_file_hash' 00:07:38 verbose #9086 > > |> resultm.get 00:07:38 verbose #9087 > > |> _assert_eq "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" 00:07:38 verbose #9088 > > disposable |> use |> ignore 00:07:38 verbose #9089 > 00:07:37 debug #518 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/14c03e68dfaeaac814b7a3e854ca0d75ecd8f5aa55f3c9d53d3787bdc4d643d1/main.spi 00:07:52 verbose #9090 > > 00:07:52 verbose #9091 > > ╭─[ 14.76s - return value ]────────────────────────────────────────────────────╮ 00:07:52 verbose #9092 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:07:52 verbose #9093 > > │ /tmp/!create_temp_path_/spiral_builder_fd2e7dd5c9d5b51f38537ef270a1971b2035d │ 00:07:52 verbose #9094 > > │ 0237afca81b82243a29b8f73544/ba0aa16a-6c5a-be3f-b526-70110c680e36 } │ 00:07:52 verbose #9095 > > │ 00:00:00 debug #2 runtime.execute_with_options / { file_name = pwsh; │ 00:07:52 verbose #9096 > > │ arguments = ["-c", "(Get-FileHash │ 00:07:52 verbose #9097 > > │ '/tmp/!create_temp_path_/spiral_builder_fd2e7dd5c9d5b51f38537ef270a1971b2035 │ 00:07:52 verbose #9098 > > │ d0237afca81b82243a29b8f73544/ba0aa16a-6c5a-be3f-b526-70110c680e36/test.txt' │ 00:07:52 verbose #9099 > > │ -Algorithm SHA256).Hash"]; options = { command = pwsh -c "(Get-FileHash │ 00:07:52 verbose #9100 > > │ '/tmp/!create_temp_path_/spiral_builder_fd2e7dd5c9d5b51f38537ef270a1971b2035 │ 00:07:52 verbose #9101 > > │ d0237afca81b82243a29b8f73544/ba0aa16a-6c5a-be3f-b526-70110c680e36/test.txt' │ 00:07:52 verbose #9102 > > │ -Algorithm SHA256).Hash"; cancellation_token = None; environment_variables = │ 00:07:52 verbose #9103 > > │ Array(MutCell([])); on_line = None; stdin = None; trace = true; │ 00:07:52 verbose #9104 > > │ working_directory = None } } │ 00:07:52 verbose #9105 > > │ 00:00:00 verbose #3 > │ 00:07:52 verbose #9106 > > │ 01BA4719C80B6FE911B091A7C05124B64EEECE964E09C058EF8F9805DACA546B │ 00:07:52 verbose #9107 > > │ 00:00:00 verbose #4 runtime.execute_with_options / result / { │ 00:07:52 verbose #9108 > > │ exit_code = 0; std_trace_length = 64 } │ 00:07:52 verbose #9109 > > │ assert_eq / actual: │ 00:07:52 verbose #9110 > > │ "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" / │ 00:07:52 verbose #9111 > > │ expected: "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" │ 00:07:52 verbose #9112 > > │ │ 00:07:52 verbose #9113 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:52 verbose #9114 > > 00:07:52 verbose #9115 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:52 verbose #9116 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:52 verbose #9117 > > │ ### sha256' │ 00:07:52 verbose #9118 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:52 verbose #9119 > > 00:07:52 verbose #9120 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:52 verbose #9121 > > nominal sha256' = 00:07:52 verbose #9122 > > `( 00:07:52 verbose #9123 > > backend_switch `(()) `({}) { 00:07:52 verbose #9124 > > Fsharp = 00:07:52 verbose #9125 > > (fun () => 00:07:52 verbose #9126 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:07:52 verbose #9127 > > Fable.Core.Emit(\"sha2::Sha256\")>]]\n#endif\ntype sha2_Sha256 = class end" 00:07:52 verbose #9128 > > ) : () -> () 00:07:52 verbose #9129 > > } 00:07:52 verbose #9130 > > $'' : $'sha2_Sha256' 00:07:52 verbose #9131 > > ) 00:07:52 verbose #9132 > 00:07:52 debug #519 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8daa4da9c383c4aa911b595a8f09866ce1cd699bc3dd662a5b22d28ac07aa07b/main.spi 00:07:52 verbose #9133 > > 00:07:52 verbose #9134 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:52 verbose #9135 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:52 verbose #9136 > > │ ### new_sha256 │ 00:07:52 verbose #9137 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:52 verbose #9138 > > 00:07:52 verbose #9139 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:52 verbose #9140 > > inl new_sha256 () : sha256' = 00:07:52 verbose #9141 > > !\($'"let result : sha2::Sha256 = sha2::Digest::new()"') 00:07:52 verbose #9142 > > !\($'"result"') 00:07:52 verbose #9143 > 00:07:52 debug #520 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97ec1eada5b2d682630c75ffb88a43cdcafe71ef06841dcd671316d6b4d75d73/main.spi 00:07:52 verbose #9144 > > 00:07:52 verbose #9145 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:52 verbose #9146 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:52 verbose #9147 > > │ ### hasher_update │ 00:07:52 verbose #9148 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:52 verbose #9149 > > 00:07:52 verbose #9150 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:52 verbose #9151 > > inl hasher_update forall el dim. (slice : rust.ref (am'.slice' el dim)) (hasher 00:07:52 verbose #9152 > > : sha256') : () = 00:07:52 verbose #9153 > > !\($'"sha2::Digest::update(&mut !hasher, !slice)"') 00:07:52 verbose #9154 > 00:07:52 debug #521 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/60f52fb52b296ebbad7ac2f55bfc5a68be9a1ae7bc62e4dd20c0175f4d839892/main.spi 00:07:53 verbose #9155 > > 00:07:53 verbose #9156 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:53 verbose #9157 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:53 verbose #9158 > > │ ### hasher_finalize │ 00:07:53 verbose #9159 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:53 verbose #9160 > > 00:07:53 verbose #9161 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:53 verbose #9162 > > inl hasher_finalize (hasher : sha256') : rust.ref (am'.slice u8) = 00:07:53 verbose #9163 > > !\($'"&sha2::Digest::finalize(!hasher)"') 00:07:53 verbose #9164 > 00:07:52 debug #522 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/94c6f6e639585c0480468535299224e57cbc9b0a097bd6ac70154a3ef947bca0/main.spi 00:07:53 verbose #9165 > > 00:07:53 verbose #9166 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:53 verbose #9167 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:53 verbose #9168 > > │ ### hash_read │ 00:07:53 verbose #9169 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:53 verbose #9170 > > 00:07:53 verbose #9171 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:53 verbose #9172 > > inl hash_read data : resultm.result' string stream.io_error = 00:07:53 verbose #9173 > > inl reader = data |> stream.new_buf_reader 00:07:53 verbose #9174 > > (!\($'"true; let mut !reader = !reader"') : bool) |> ignore 00:07:53 verbose #9175 > > inl hasher = new_sha256 () 00:07:53 verbose #9176 > > (!\($'"true; let mut !hasher = !hasher"') : bool) |> ignore 00:07:53 verbose #9177 > > 00:07:53 verbose #9178 > > real 00:07:53 verbose #9179 > > inl size = 1024 00:07:53 verbose #9180 > > inl zero = convert `i32 `unativeint 0 00:07:53 verbose #9181 > > inl buffer = am'.new_slice `u8 `@size 0u8 00:07:53 verbose #9182 > > 00:07:53 verbose #9183 > > rust.loop 2 fun () => 00:07:53 verbose #9184 > > inl count = stream.buf_reader_read `u8 `@size buffer reader 00:07:53 verbose #9185 > > inl count = resultm.unwrap' `unativeint `(stream.io_error) count 00:07:53 verbose #9186 > > 00:07:53 verbose #9187 > > if (=.) `unativeint count zero then rust.break () 00:07:53 verbose #9188 > > 00:07:53 verbose #9189 > > hasher_update `u8 `@size 00:07:53 verbose #9190 > > ( 00:07:53 verbose #9191 > > am'.slice_range `u8 `@size 00:07:53 verbose #9192 > > (am'.Start `unativeint zero) 00:07:53 verbose #9193 > > (am'.End `unativeint ((fun _ => count) : unativeint -> 00:07:53 verbose #9194 > > unativeint)) 00:07:53 verbose #9195 > > buffer 00:07:53 verbose #9196 > > ) 00:07:53 verbose #9197 > > hasher 00:07:53 verbose #9198 > > 00:07:53 verbose #9199 > > hasher 00:07:53 verbose #9200 > > |> hasher_finalize 00:07:53 verbose #9201 > > |> am'.slice_to_vec 00:07:53 verbose #9202 > > |> am'.vec_map (sm'.format_hex' >> sm'.from_std_string) 00:07:53 verbose #9203 > > |> am'.from_vec 00:07:53 verbose #9204 > > |> fun x => x : _ i32 _ 00:07:53 verbose #9205 > > |> seq.of_array' 00:07:53 verbose #9206 > > |> sm'.concat "" 00:07:53 verbose #9207 > > |> Ok 00:07:53 verbose #9208 > > |> resultm.box 00:07:53 verbose #9209 > 00:07:52 debug #523 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aea3f8892c709d262273472a0d32d22ccbacd857c457dbf62d7a4059f6b4e2d4/main.spi 00:07:53 verbose #9210 > > 00:07:53 verbose #9211 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:07:53 verbose #9212 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:07:53 verbose #9213 > > │ ### get_file_hash │ 00:07:53 verbose #9214 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:07:53 verbose #9215 > > 00:07:53 verbose #9216 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:53 verbose #9217 > > inl get_file_hash (path : string) = 00:07:53 verbose #9218 > > inl path = path |> file_system.normalize_path 00:07:53 verbose #9219 > > inl file = path |> file_system.file_open |> resultm.unwrap' 00:07:53 verbose #9220 > > inl reader = file |> stream.new_buf_reader 00:07:53 verbose #9221 > > reader 00:07:53 verbose #9222 > > |> hash_read 00:07:53 verbose #9223 > 00:07:52 debug #524 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bac53bf014f07d8e305fab72e2866b7aa13354818e0382f5db919c01c5a1abf7/main.spi 00:07:53 verbose #9224 > > 00:07:53 verbose #9225 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:07:53 verbose #9226 > > //// test 00:07:53 verbose #9227 > > ///! rust -d chrono regex sha2 00:07:53 verbose #9228 > > 00:07:53 verbose #9229 > > inl file_name = join "test.txt" 00:07:53 verbose #9230 > > inl text = "\n" 00:07:53 verbose #9231 > > 00:07:53 verbose #9232 > > inl temp_dir, disposable = 00:07:53 verbose #9233 > > (file_name, text) 00:07:53 verbose #9234 > > |> sm'.format_debug 00:07:53 verbose #9235 > > |> crypto.hash_text 00:07:53 verbose #9236 > > |> file_system.create_temp_dir' 00:07:53 verbose #9237 > > 00:07:53 verbose #9238 > > inl path = temp_dir </> file_name 00:07:53 verbose #9239 > > text |> file_system.write_all_text path 00:07:53 verbose #9240 > > 00:07:53 verbose #9241 > > path 00:07:53 verbose #9242 > > |> get_file_hash 00:07:53 verbose #9243 > > |> resultm.unwrap' 00:07:53 verbose #9244 > > |> _assert_eq "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" 00:07:53 verbose #9245 > > disposable |> use |> ignore 00:07:53 verbose #9246 > 00:07:52 debug #525 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/82c3fe7f376e4403ee370c2d40370d3d53ec9bb209c02299c1f78ff030c03d44/main.spi 00:08:02 verbose #9247 > > 00:08:02 verbose #9248 > > ╭─[ 9.30s - return value ]─────────────────────────────────────────────────────╮ 00:08:02 verbose #9249 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:08:02 verbose #9250 > > │ /tmp/!create_temp_path_/spiral_builder_28a2802608826c802171ee5db6b3157765918 │ 00:08:02 verbose #9251 > > │ ddf2dd9038a1064fcd45ac82741/ba0aa16a-6c5a-be3f-b526-70110c680e36 } │ 00:08:02 verbose #9252 > > │ assert_eq / actual: │ 00:08:02 verbose #9253 > > │ "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" / │ 00:08:02 verbose #9254 > > │ expected: "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" │ 00:08:02 verbose #9255 > > │ │ 00:08:02 verbose #9256 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:02 verbose #9257 > > 00:08:02 verbose #9258 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:02 verbose #9259 > > //// test 00:08:02 verbose #9260 > > ///! rust -d chrono regex sha2 00:08:02 verbose #9261 > > 00:08:02 verbose #9262 > > inl file_name = join "test.txt" 00:08:02 verbose #9263 > > inl text = "" 00:08:02 verbose #9264 > > 00:08:02 verbose #9265 > > inl temp_dir, disposable = 00:08:02 verbose #9266 > > (file_name, text) 00:08:02 verbose #9267 > > |> sm'.format_debug 00:08:02 verbose #9268 > > |> crypto.hash_text 00:08:02 verbose #9269 > > |> file_system.create_temp_dir' 00:08:02 verbose #9270 > > 00:08:02 verbose #9271 > > inl path = temp_dir </> file_name 00:08:02 verbose #9272 > > text |> file_system.write_all_text path 00:08:02 verbose #9273 > > path 00:08:02 verbose #9274 > > |> get_file_hash 00:08:02 verbose #9275 > > |> resultm.unwrap' 00:08:02 verbose #9276 > > |> _assert_eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" 00:08:02 verbose #9277 > > disposable |> use |> ignore 00:08:02 verbose #9278 > 00:08:02 debug #526 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ec1d16a5ccebda535499e432e29ca9a18805d1cec833efce0512d3fb5dd8bc0d/main.spi 00:08:11 verbose #9279 > > 00:08:11 verbose #9280 > > ╭─[ 9.35s - return value ]─────────────────────────────────────────────────────╮ 00:08:11 verbose #9281 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:08:11 verbose #9282 > > │ /tmp/!create_temp_path_/spiral_builder_11283f585babf8d99294a645f65cf8fc47386 │ 00:08:11 verbose #9283 > > │ 29fb5e53abf8ceb4f1a2ca3f2de/c0e26dac-4cb1-4b09-be07-ff616700f056 } │ 00:08:11 verbose #9284 > > │ assert_eq / actual: │ 00:08:11 verbose #9285 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │ 00:08:11 verbose #9286 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │ 00:08:11 verbose #9287 > > │ │ 00:08:11 verbose #9288 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:11 verbose #9289 > > 00:08:11 verbose #9290 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:11 verbose #9291 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:11 verbose #9292 > > │ ## typescript │ 00:08:11 verbose #9293 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:11 verbose #9294 > > 00:08:11 verbose #9295 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:11 verbose #9296 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:11 verbose #9297 > > │ ### create_hash │ 00:08:11 verbose #9298 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:11 verbose #9299 > > 00:08:11 verbose #9300 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:11 verbose #9301 > > inl create_hash (x : string) : any = 00:08:11 verbose #9302 > > open typescript_operators 00:08:11 verbose #9303 > > global "type ICryptoCreateHash = abstract createHash: x: string -> obj" 00:08:11 verbose #9304 > > inl crypto : $'ICryptoCreateHash' = typescript.import_all "crypto" 00:08:11 verbose #9305 > > !\\(x, $'"!crypto.createHash($0)"') 00:08:11 verbose #9306 > 00:08:11 debug #527 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/33ce40b3b70f7945525a6e8dfe40a5f65d67c2b2cf5a460bf00b83b9bf4fb67e/main.spi 00:08:12 verbose #9307 > > 00:08:12 verbose #9308 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9309 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9310 > > │ ### hash_update │ 00:08:12 verbose #9311 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9312 > > 00:08:12 verbose #9313 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9314 > > inl hash_update (s : string) (x : any) : any = 00:08:12 verbose #9315 > > open typescript_operators 00:08:12 verbose #9316 > > !\\((x, s), $'"$0.update($1, \'utf8\')"') 00:08:12 verbose #9317 > 00:08:11 debug #528 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c7ce25001d78e74a33031cf1c1a8f9583539adc2b46af7660becfe7be576e8cb/main.spi 00:08:12 verbose #9318 > > 00:08:12 verbose #9319 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9320 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9321 > > │ ### hash_digest │ 00:08:12 verbose #9322 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9323 > > 00:08:12 verbose #9324 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9325 > > inl hash_digest (s : string) (x : any) : string = 00:08:12 verbose #9326 > > open typescript_operators 00:08:12 verbose #9327 > > !\\((x, s), $'"$0.digest($1)"') 00:08:12 verbose #9328 > 00:08:11 debug #529 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/93834710fb5219bfcc0e7f8862b1afc75f3aae0f3321d123e9a0cb1174e22c3b/main.spi 00:08:12 verbose #9329 > > 00:08:12 verbose #9330 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9331 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9332 > > │ ## python │ 00:08:12 verbose #9333 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9334 > > 00:08:12 verbose #9335 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9336 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9337 > > │ ### py_sha256 │ 00:08:12 verbose #9338 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9339 > > 00:08:12 verbose #9340 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9341 > > nominal py_sha256 = any 00:08:12 verbose #9342 > 00:08:11 debug #530 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8065715e68b0a45908e0316229eccc94c8b54ae0609ce2b52379e6aeaf55722c/main.spi 00:08:12 verbose #9343 > > 00:08:12 verbose #9344 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9345 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9346 > > │ ### hashlib_sha256 │ 00:08:12 verbose #9347 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9348 > > 00:08:12 verbose #9349 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9350 > > inl hashlib_sha256 () : py_sha256 = 00:08:12 verbose #9351 > > backend_switch { 00:08:12 verbose #9352 > > Fsharp = fun () => 00:08:12 verbose #9353 > > open python_operators 00:08:12 verbose #9354 > > global "type IHashlibSha256 = abstract sha256: x: unit -> obj" 00:08:12 verbose #9355 > > inl hashlib : $'IHashlibSha256' = python.import_all "hashlib" 00:08:12 verbose #9356 > > !\($'"!hashlib.sha256()"') : py_sha256 00:08:12 verbose #9357 > > Python = fun () => 00:08:12 verbose #9358 > > global "import hashlib" 00:08:12 verbose #9359 > > $'hashlib.sha256()' : py_sha256 00:08:12 verbose #9360 > > } 00:08:12 verbose #9361 > 00:08:11 debug #531 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a65e523343f3718f8ef27345b5e95e3d3e0dd4ea6c09ecb12410c06f7f0fb380/main.spi 00:08:12 verbose #9362 > > 00:08:12 verbose #9363 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9364 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9365 > > │ ### sha256_update │ 00:08:12 verbose #9366 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9367 > > 00:08:12 verbose #9368 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9369 > > inl sha256_update (x : string) (sha256 : py_sha256) : py_sha256 = 00:08:12 verbose #9370 > > backend_switch { 00:08:12 verbose #9371 > > Fsharp = fun () => 00:08:12 verbose #9372 > > open python_operators 00:08:12 verbose #9373 > > !\\(x, $'"!sha256.update($0)"') : () 00:08:12 verbose #9374 > > Python = fun () => 00:08:12 verbose #9375 > > $'!sha256.update(!x)' : () 00:08:12 verbose #9376 > > } 00:08:12 verbose #9377 > > sha256 00:08:12 verbose #9378 > 00:08:11 debug #532 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f27903c6d4e1c2898e6655126750fab7501a71785618dbd0587bb8145324e635/main.spi 00:08:12 verbose #9379 > > 00:08:12 verbose #9380 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9381 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9382 > > │ ### sha256_hexdigest │ 00:08:12 verbose #9383 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9384 > > 00:08:12 verbose #9385 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9386 > > inl sha256_hexdigest (sha256 : py_sha256) : string = 00:08:12 verbose #9387 > > backend_switch { 00:08:12 verbose #9388 > > Fsharp = fun () => 00:08:12 verbose #9389 > > open python_operators 00:08:12 verbose #9390 > > !\($'"!sha256.hexdigest()"') : string 00:08:12 verbose #9391 > > Python = fun () => 00:08:12 verbose #9392 > > $'!sha256.hexdigest()' : string 00:08:12 verbose #9393 > > } 00:08:12 verbose #9394 > 00:08:12 debug #533 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/16114972bf34904253e795d783e72d63812ebc871e0a49efcbbea7cd210a4658/main.spi 00:08:12 verbose #9395 > > 00:08:12 verbose #9396 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9397 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9398 > > │ ## crypto │ 00:08:12 verbose #9399 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9400 > > 00:08:12 verbose #9401 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:12 verbose #9402 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:12 verbose #9403 > > │ ### hash_text │ 00:08:12 verbose #9404 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:12 verbose #9405 > > 00:08:12 verbose #9406 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9407 > > let hash_text (~input : string) = 00:08:12 verbose #9408 > > run_target function 00:08:12 verbose #9409 > > | Fsharp (Native) => fun () => 00:08:12 verbose #9410 > > inl sha256 = sha256 () |> use 00:08:12 verbose #9411 > > input 00:08:12 verbose #9412 > > |> sm'.utf8_get_bytes 00:08:12 verbose #9413 > > |> sha256_compute_hash sha256 00:08:12 verbose #9414 > > |> am.map (sm'.byte_to_string "x2") 00:08:12 verbose #9415 > > |> seq.of_array' 00:08:12 verbose #9416 > > |> sm'.concat (join "") 00:08:12 verbose #9417 > > | TypeScript (Native) => fun () => 00:08:12 verbose #9418 > > create_hash "sha256" 00:08:12 verbose #9419 > > |> hash_update input 00:08:12 verbose #9420 > > |> hash_digest "hex" 00:08:12 verbose #9421 > > | Rust (Native) => fun () => 00:08:12 verbose #9422 > > input 00:08:12 verbose #9423 > > |> sm'.utf8_get_bytes 00:08:12 verbose #9424 > > |> fun (a x) => x 00:08:12 verbose #9425 > > |> am'.to_vec 00:08:12 verbose #9426 > > |> stream.new_cursor 00:08:12 verbose #9427 > > |> hash_read 00:08:12 verbose #9428 > > |> resultm.unwrap' 00:08:12 verbose #9429 > > | Python (Native) | Cuda (Native) => fun () => 00:08:12 verbose #9430 > > hashlib_sha256 () 00:08:12 verbose #9431 > > |> sha256_update (input |> sm'.encode_utf8) 00:08:12 verbose #9432 > > |> sha256_hexdigest 00:08:12 verbose #9433 > > | _ => fun () => null () 00:08:12 verbose #9434 > 00:08:12 debug #534 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c980a51a9d85e24000c1373b5683c4625d8283fa4af810b18f16794e87a4a3fe/main.spi 00:08:12 verbose #9435 > > 00:08:12 verbose #9436 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:12 verbose #9437 > > //// test 00:08:12 verbose #9438 > > ///! fsharp 00:08:12 verbose #9439 > > ///! cuda 00:08:12 verbose #9440 > > ///! rust -d sha2 00:08:12 verbose #9441 > > ///! typescript 00:08:12 verbose #9442 > > ///! python 00:08:12 verbose #9443 > > 00:08:12 verbose #9444 > > "\n" 00:08:12 verbose #9445 > > |> hash_text 00:08:12 verbose #9446 > > |> _assert_eq "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" 00:08:12 verbose #9447 > > 00:08:12 verbose #9448 > > "" 00:08:12 verbose #9449 > > |> hash_text 00:08:12 verbose #9450 > > |> _assert_eq "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" 00:08:12 verbose #9451 > 00:08:12 debug #535 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d0aafaf070da3b1b8f3a86961e78750844c625769d5d846286409561d2b8407/main.spi 00:08:12 verbose #9452 > 00:08:12 debug #536 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/23ad6ceb47eb8637b0e1d4cc827d4e02dc25dcb2ddf21c03844f63e8672ca96d/main.spi 00:08:24 verbose #9453 > > 00:08:24 verbose #9454 > > ╭─[ 11.97s - return value ]────────────────────────────────────────────────────╮ 00:08:24 verbose #9455 > > │ │ 00:08:24 verbose #9456 > > │ .py output (Cuda): │ 00:08:24 verbose #9457 > > │ assert_eq / actual: │ 00:08:24 verbose #9458 > > │ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b / expected: │ 00:08:24 verbose #9459 > > │ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b │ 00:08:24 verbose #9460 > > │ assert_eq / actual: │ 00:08:24 verbose #9461 > > │ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 / expected: │ 00:08:24 verbose #9462 > > │ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 │ 00:08:24 verbose #9463 > > │ │ 00:08:24 verbose #9464 > > │ │ 00:08:24 verbose #9465 > > │ .rs output: │ 00:08:24 verbose #9466 > > │ assert_eq / actual: │ 00:08:24 verbose #9467 > > │ "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" / │ 00:08:24 verbose #9468 > > │ expected: "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" │ 00:08:24 verbose #9469 > > │ assert_eq / actual: │ 00:08:24 verbose #9470 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │ 00:08:24 verbose #9471 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │ 00:08:24 verbose #9472 > > │ │ 00:08:24 verbose #9473 > > │ │ 00:08:24 verbose #9474 > > │ .ts output: │ 00:08:24 verbose #9475 > > │ assert_eq / actual: │ 00:08:24 verbose #9476 > > │ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b / expected: │ 00:08:24 verbose #9477 > > │ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b │ 00:08:24 verbose #9478 > > │ assert_eq / actual: │ 00:08:24 verbose #9479 > > │ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 / expected: │ 00:08:24 verbose #9480 > > │ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 │ 00:08:24 verbose #9481 > > │ │ 00:08:24 verbose #9482 > > │ │ 00:08:24 verbose #9483 > > │ .py output: │ 00:08:24 verbose #9484 > > │ assert_eq / actual: │ 00:08:24 verbose #9485 > > │ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b / expected: │ 00:08:24 verbose #9486 > > │ 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b │ 00:08:24 verbose #9487 > > │ assert_eq / actual: │ 00:08:24 verbose #9488 > > │ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 / expected: │ 00:08:24 verbose #9489 > > │ e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 │ 00:08:24 verbose #9490 > > │ │ 00:08:24 verbose #9491 > > │ │ 00:08:24 verbose #9492 > > │ │ 00:08:24 verbose #9493 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:24 verbose #9494 > > 00:08:24 verbose #9495 > > ╭─[ 11.97s - stdout ]──────────────────────────────────────────────────────────╮ 00:08:24 verbose #9496 > > │ .fsx output: │ 00:08:24 verbose #9497 > > │ assert_eq / actual: │ 00:08:24 verbose #9498 > > │ "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" / │ 00:08:24 verbose #9499 > > │ expected: "01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b" │ 00:08:24 verbose #9500 > > │ assert_eq / actual: │ 00:08:24 verbose #9501 > > │ "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" / │ 00:08:24 verbose #9502 > > │ expected: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" │ 00:08:24 verbose #9503 > > │ │ 00:08:24 verbose #9504 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:24 verbose #9505 > > 00:08:24 verbose #9506 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:24 verbose #9507 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:24 verbose #9508 > > │ ### hash_to_port │ 00:08:24 verbose #9509 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:24 verbose #9510 > > 00:08:24 verbose #9511 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:24 verbose #9512 > > inl hash_to_port (text : string) : u16 = 00:08:24 verbose #9513 > > inl first_letter_code = text |> sm'.index 0i32 |> i32 00:08:24 verbose #9514 > > inl hash_part = text |> sm'.slice 0i32 7 00:08:24 verbose #9515 > > inl combined_value = convert_i32_base 16 hash_part + first_letter_code |> 00:08:24 verbose #9516 > > u16 00:08:24 verbose #9517 > > trace Verbose 00:08:24 verbose #9518 > > fun () => "crypto.hash_to_port" 00:08:24 verbose #9519 > > fun () => { first_letter_code hash_part combined_value } 00:08:24 verbose #9520 > > combined_value % 48128 + 1024 00:08:24 verbose #9521 > 00:08:24 debug #537 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7681be10f110f76cd3690f749a93c6e82c31707bb169b78b4a57beb8ed00fe91/main.spi 00:08:24 verbose #9522 > > 00:08:24 verbose #9523 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:24 verbose #9524 > > //// test 00:08:24 verbose #9525 > > ///! fsharp 00:08:24 verbose #9526 > > ////! cuda // Only stack allocated primitive types (i8,i16,i32,i64 and 00:08:24 verbose #9527 > > u8,u16,u32,u64 and f32,f64 and bool) are allowed in CuPy arrays. 00:08:24 verbose #9528 > > ///! rust -d sha2 00:08:24 verbose #9529 > > ///! typescript 00:08:24 verbose #9530 > > ///! python 00:08:24 verbose #9531 > > 00:08:24 verbose #9532 > > "\n" 00:08:24 verbose #9533 > > |> hash_text 00:08:24 verbose #9534 > > |> hash_to_port 00:08:24 verbose #9535 > > |> _assert_eq 19273 00:08:24 verbose #9536 > 00:08:24 debug #538 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a11bb4cb0a77fe4c93b03f9c3df1725bae9f03ad9a470fd66593301327cd65b/main.spi 00:08:37 verbose #9537 > > 00:08:37 verbose #9538 > > ╭─[ 13.02s - return value ]────────────────────────────────────────────────────╮ 00:08:37 verbose #9539 > > │ │ 00:08:37 verbose #9540 > > │ .rs output: │ 00:08:37 verbose #9541 > > │ 00:00:00 verbose #1 crypto.hash_to_port / { first_letter_code = 48; │ 00:08:37 verbose #9542 > > │ hash_part = 01ba4719; combined_value = 18249 } │ 00:08:37 verbose #9543 > > │ assert_eq / actual: 19273 / expected: 19273 │ 00:08:37 verbose #9544 > > │ │ 00:08:37 verbose #9545 > > │ │ 00:08:37 verbose #9546 > > │ .ts output: │ 00:08:37 verbose #9547 > > │ 00:00:00 verbose #1 crypto.hash_to_port / { first_letter_code = 48; │ 00:08:37 verbose #9548 > > │ hash_part = 01ba4719; combined_value = 18249 } │ 00:08:37 verbose #9549 > > │ assert_eq / actual: 19273 / expected: 19273 │ 00:08:37 verbose #9550 > > │ │ 00:08:37 verbose #9551 > > │ │ 00:08:37 verbose #9552 > > │ .py output: │ 00:08:37 verbose #9553 > > │ 00:00:00 verbose #1 crypto.hash_to_port / { first_letter_code = 48; │ 00:08:37 verbose #9554 > > │ hash_part = 01ba4719; combined_value = 18249 } │ 00:08:37 verbose #9555 > > │ assert_eq / actual: 19273 / expected: 19273 │ 00:08:37 verbose #9556 > > │ │ 00:08:37 verbose #9557 > > │ │ 00:08:37 verbose #9558 > > │ │ 00:08:37 verbose #9559 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:37 verbose #9560 > > 00:08:37 verbose #9561 > > ╭─[ 13.02s - stdout ]──────────────────────────────────────────────────────────╮ 00:08:37 verbose #9562 > > │ .fsx output: │ 00:08:37 verbose #9563 > > │ 00:00:00 verbose #1 crypto.hash_to_port / { first_letter_code = 48; │ 00:08:37 verbose #9564 > > │ hash_part = 01ba4719; combined_value = 18249 } │ 00:08:37 verbose #9565 > > │ assert_eq / actual: 19273us / expected: 19273us │ 00:08:37 verbose #9566 > > │ │ 00:08:37 verbose #9567 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:37 verbose #9568 > > 00:08:37 verbose #9569 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:37 verbose #9570 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:37 verbose #9571 > > │ ## main │ 00:08:37 verbose #9572 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:37 verbose #9573 > > 00:08:37 verbose #9574 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:37 verbose #9575 > > inl main () = 00:08:37 verbose #9576 > > $'let hash_text x = !hash_text x' : () 00:08:37 verbose #9577 > > $'let hash_to_port x = !hash_to_port x' : () 00:08:37 verbose #9578 > 00:08:37 debug #539 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/669d775fd4f127cdcab1a55fc7d99e58edc48e3ebb3ad82524318c05ecca9d3d/main.spi 00:08:38 verbose #9579 > 00:01:11 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 35111 } 00:08:38 verbose #9580 > 00:01:11 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:08:38 verbose #9581 > 00:01:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.ipynb to html 00:08:38 verbose #9582 > 00:01:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:08:38 verbose #9583 > 00:01:12 verbose #7 ! validate(nb) 00:08:39 verbose #9584 > 00:01:12 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:08:39 verbose #9585 > 00:01:12 verbose #9 ! return _pygments_highlight( 00:08:39 verbose #9586 > 00:01:12 verbose #10 ! [NbConvertApp] Writing 341862 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.html 00:08:39 verbose #9587 > 00:01:12 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 896 } 00:08:39 verbose #9588 > 00:01:12 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 896 } 00:08:39 verbose #9589 > 00:01:12 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/crypto.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:08:40 verbose #9590 > 00:01:13 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:08:40 verbose #9591 > 00:01:13 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:08:40 verbose #9592 > 00:01:13 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 36066 } 00:08:40 debug #9593 runtime.execute_with_options_async / { exit_code = 0; output_length = 40023 } 00:08:40 debug #12 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path crypto.dib --retries 3 00:08:40 debug #9594 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path common.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:08:40 verbose #9595 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "common.dib", "--retries", "3"])) } 00:08:40 verbose #9596 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:08:41 verbose #9597 > > 00:08:41 verbose #9598 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:41 verbose #9599 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:41 verbose #9600 > > │ # common │ 00:08:41 verbose #9601 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:43 verbose #9602 > > 00:08:43 verbose #9603 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:43 verbose #9604 > > //// test 00:08:43 verbose #9605 > > 00:08:43 verbose #9606 > > open testing 00:08:44 verbose #9607 > 00:08:43 debug #540 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:08:44 verbose #9608 > > 00:08:44 verbose #9609 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:44 verbose #9610 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:44 verbose #9611 > > │ ## common │ 00:08:44 verbose #9612 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:44 verbose #9613 > > 00:08:44 verbose #9614 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:44 verbose #9615 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:44 verbose #9616 > > │ ### (:>) │ 00:08:44 verbose #9617 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:44 verbose #9618 > > 00:08:44 verbose #9619 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:44 verbose #9620 > > prototype (~:>) r : forall t. t -> r 00:08:44 verbose #9621 > 00:08:44 debug #541 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/485c3b839be7453998be3029b640e2cbf18f572f374cd710b6eead3ef824b3c9/main.spi 00:08:44 verbose #9622 > > 00:08:44 verbose #9623 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:44 verbose #9624 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:44 verbose #9625 > > │ ### to_any │ 00:08:44 verbose #9626 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:44 verbose #9627 > > 00:08:44 verbose #9628 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:44 verbose #9629 > > inl to_any forall t. (obj : t) : any = 00:08:44 verbose #9630 > > $'!obj ' 00:08:44 verbose #9631 > > 00:08:44 verbose #9632 > > instance (~:>) any = to_any 00:08:44 verbose #9633 > 00:08:44 debug #542 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/999fdbe1e6fd8ac2fd4a1053262e2365481b38f24c2b94592e87a9d5c638b759/main.spi 00:08:44 verbose #9634 > > 00:08:44 verbose #9635 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:44 verbose #9636 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:44 verbose #9637 > > │ ### (||>) │ 00:08:44 verbose #9638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:44 verbose #9639 > > 00:08:44 verbose #9640 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:44 verbose #9641 > > //// test 00:08:44 verbose #9642 > > ///! fsharp 00:08:44 verbose #9643 > > ///! cuda 00:08:44 verbose #9644 > > ///! rust 00:08:44 verbose #9645 > > ///! typescript 00:08:44 verbose #9646 > > ///! python 00:08:44 verbose #9647 > > 00:08:44 verbose #9648 > > (3i32, 2i32) 00:08:44 verbose #9649 > > ||> fun a b => a - b 00:08:44 verbose #9650 > > |> _assert_eq 1 00:08:44 verbose #9651 > 00:08:44 debug #543 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dd15b576f5b655c9d65b55a74fee7c4d7f14d92fac83e4e835a81157fc278d70/main.spi 00:08:44 verbose #9652 > 00:08:44 debug #544 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6e5328645466046bb167e72c59272bb9418fcc62482deeaf9242fd50b88af353/main.spi 00:08:56 verbose #9653 > > 00:08:56 verbose #9654 > > ╭─[ 12.05s - return value ]────────────────────────────────────────────────────╮ 00:08:56 verbose #9655 > > │ .py output (Cuda): │ 00:08:56 verbose #9656 > > │ assert_eq / actual: 1 / expected: 1 │ 00:08:56 verbose #9657 > > │ │ 00:08:56 verbose #9658 > > │ .rs output: │ 00:08:56 verbose #9659 > > │ assert_eq / actual: 1 / expected: 1 │ 00:08:56 verbose #9660 > > │ │ 00:08:56 verbose #9661 > > │ .ts output: │ 00:08:56 verbose #9662 > > │ assert_eq / actual: 1 / expected: 1 │ 00:08:56 verbose #9663 > > │ │ 00:08:56 verbose #9664 > > │ .py output: │ 00:08:56 verbose #9665 > > │ assert_eq / actual: 1 / expected: 1 │ 00:08:56 verbose #9666 > > │ │ 00:08:56 verbose #9667 > > │ │ 00:08:56 verbose #9668 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:56 verbose #9669 > > 00:08:56 verbose #9670 > > ╭─[ 12.05s - stdout ]──────────────────────────────────────────────────────────╮ 00:08:56 verbose #9671 > > │ .fsx output: │ 00:08:56 verbose #9672 > > │ assert_eq / actual: 1 / expected: 1 │ 00:08:56 verbose #9673 > > │ │ 00:08:56 verbose #9674 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:56 verbose #9675 > > 00:08:56 verbose #9676 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:08:56 verbose #9677 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:08:56 verbose #9678 > > │ ### flip │ 00:08:56 verbose #9679 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:08:56 verbose #9680 > > 00:08:56 verbose #9681 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:56 verbose #9682 > > inl flip fn a b = 00:08:56 verbose #9683 > > fn b a 00:08:56 verbose #9684 > 00:08:56 debug #545 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f6606cc765abb9676ae88ffa81052c86d6e8478eefab56262b8820e2c6d633d0/main.spi 00:08:56 verbose #9685 > > 00:08:56 verbose #9686 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:08:56 verbose #9687 > > //// test 00:08:56 verbose #9688 > > ///! fsharp 00:08:56 verbose #9689 > > ///! cuda 00:08:56 verbose #9690 > > ///! rust 00:08:56 verbose #9691 > > ///! typescript 00:08:56 verbose #9692 > > ///! python 00:08:56 verbose #9693 > > 00:08:56 verbose #9694 > > (1i32, 2i32) 00:08:56 verbose #9695 > > ||> flip pair 00:08:56 verbose #9696 > > |> _assert_eq (2, 1) 00:08:56 verbose #9697 > 00:08:56 debug #546 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/90fc36f41e64468572a728d793796180ea6fe2e1688b7f6c7dee930bffceb10e/main.spi 00:08:56 verbose #9698 > 00:08:56 debug #547 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e0c23a859c70f290b4cb12206ccf0532abdf6c6cdc597c4206bb4a93afff90eb/main.spi 00:09:07 verbose #9699 > > 00:09:07 verbose #9700 > > ╭─[ 11.04s - return value ]────────────────────────────────────────────────────╮ 00:09:07 verbose #9701 > > │ .py output (Cuda): │ 00:09:07 verbose #9702 > > │ assert_eq / actual: (2, 1) / expected: (2, 1) │ 00:09:07 verbose #9703 > > │ │ 00:09:07 verbose #9704 > > │ .rs output: │ 00:09:07 verbose #9705 > > │ assert_eq / actual: (2, 1) / expected: (2, 1) │ 00:09:07 verbose #9706 > > │ │ 00:09:07 verbose #9707 > > │ .ts output: │ 00:09:07 verbose #9708 > > │ assert_eq / actual: 2,1 / expected: 2,1 │ 00:09:07 verbose #9709 > > │ │ 00:09:07 verbose #9710 > > │ .py output: │ 00:09:07 verbose #9711 > > │ assert_eq / actual: (2, 1) / expected: (2, 1) │ 00:09:07 verbose #9712 > > │ │ 00:09:07 verbose #9713 > > │ │ 00:09:07 verbose #9714 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:07 verbose #9715 > > 00:09:07 verbose #9716 > > ╭─[ 11.04s - stdout ]──────────────────────────────────────────────────────────╮ 00:09:07 verbose #9717 > > │ .fsx output: │ 00:09:07 verbose #9718 > > │ assert_eq / actual: struct (2, 1) / expected: struct (2, 1) │ 00:09:07 verbose #9719 > > │ │ 00:09:07 verbose #9720 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:07 verbose #9721 > > 00:09:07 verbose #9722 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:07 verbose #9723 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:07 verbose #9724 > > │ ### join_body │ 00:09:07 verbose #9725 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:07 verbose #9726 > > 00:09:07 verbose #9727 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:07 verbose #9728 > > inl join_body body acc x = 00:09:07 verbose #9729 > > if var_is x |> not 00:09:07 verbose #9730 > > then body acc x 00:09:07 verbose #9731 > > else 00:09:07 verbose #9732 > > inl acc = dyn acc 00:09:07 verbose #9733 > > join body acc x 00:09:07 verbose #9734 > 00:09:07 debug #548 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bd8a18e11de8f5a360338827472f5fba8bbcf1dfbd15f4fd4b369262477e18ea/main.spi 00:09:08 verbose #9735 > > 00:09:08 verbose #9736 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:08 verbose #9737 > > //// test 00:09:08 verbose #9738 > > 00:09:08 verbose #9739 > > inl rec fold_list f s = function 00:09:08 verbose #9740 > > | Cons (x, x') => fold_list f (f s x) x' 00:09:08 verbose #9741 > > | Nil => s 00:09:08 verbose #9742 > 00:09:07 debug #549 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cef1e8df0710981f51ac9c7d3fe4f814ff770789e9251b942881ff83670831e9/main.spi 00:09:08 verbose #9743 > > 00:09:08 verbose #9744 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:08 verbose #9745 > > //// test 00:09:08 verbose #9746 > > ///! fsharp 00:09:08 verbose #9747 > > ///! cuda 00:09:08 verbose #9748 > > ///! rust 00:09:08 verbose #9749 > > ///! typescript 00:09:08 verbose #9750 > > ///! python 00:09:08 verbose #9751 > > //// print_code=true 00:09:08 verbose #9752 > > 00:09:08 verbose #9753 > > [[ 5i32; 4; join 3; 2; 1 ]] 00:09:08 verbose #9754 > > |> fold_list (+) 0 00:09:08 verbose #9755 > > |> _assert_eq 15 00:09:08 verbose #9756 > 00:09:07 debug #550 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e587e50d304e9e5124f073902fd8e3513440eb0c6cc7c5b7fa479d8df447b260/main.spi 00:09:08 verbose #9757 > 00:09:07 debug #551 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7320be57e43129587415aec54a480c6af6cf50b163339fb451812bb42d8509ae/main.spi 00:09:19 verbose #9758 > > 00:09:19 verbose #9759 > > ╭─[ 11.78s - return value ]────────────────────────────────────────────────────╮ 00:09:19 verbose #9760 > > │ .py output (Cuda): │ 00:09:19 verbose #9761 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:19 verbose #9762 > > │ │ 00:09:19 verbose #9763 > > │ .rs output: │ 00:09:19 verbose #9764 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:19 verbose #9765 > > │ │ 00:09:19 verbose #9766 > > │ .ts output: │ 00:09:19 verbose #9767 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:19 verbose #9768 > > │ │ 00:09:19 verbose #9769 > > │ .py output: │ 00:09:19 verbose #9770 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:19 verbose #9771 > > │ │ 00:09:19 verbose #9772 > > │ │ 00:09:19 verbose #9773 > > │ │ 00:09:19 verbose #9774 > > │ │ 00:09:19 verbose #9775 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:19 verbose #9776 > > 00:09:19 verbose #9777 > > ╭─[ 11.78s - stdout ]──────────────────────────────────────────────────────────╮ 00:09:19 verbose #9778 > > │ .fsx: │ 00:09:19 verbose #9779 > > │ let rec method1 () : int32 = │ 00:09:19 verbose #9780 > > │ 3 │ 00:09:19 verbose #9781 > > │ and method2 (v0 : bool) : bool = │ 00:09:19 verbose #9782 > > │ v0 │ 00:09:19 verbose #9783 > > │ and method0 () : unit = │ 00:09:19 verbose #9784 > > │ let v0 : int32 = method1() │ 00:09:19 verbose #9785 > > │ let v1 : int32 = 9 + v0 │ 00:09:19 verbose #9786 > > │ let v2 : int32 = v1 + 2 │ 00:09:19 verbose #9787 > > │ let v3 : int32 = v2 + 1 │ 00:09:19 verbose #9788 > > │ let v4 : bool = v3 = 15 │ 00:09:19 verbose #9789 > > │ let v6 : bool = │ 00:09:19 verbose #9790 > > │ if v4 then │ 00:09:19 verbose #9791 > > │ true │ 00:09:19 verbose #9792 > > │ else │ 00:09:19 verbose #9793 > > │ method2(v4) │ 00:09:19 verbose #9794 > > │ let v9 : string = "assert_eq" │ 00:09:19 verbose #9795 > > │ let v10 : string = $"{v9} / actual: %A{v3} / expected: %A{15}" │ 00:09:19 verbose #9796 > > │ let v19 : (string -> unit) = System.Console.WriteLine │ 00:09:19 verbose #9797 > > │ v19 v10 │ 00:09:19 verbose #9798 > > │ let v24 : bool = v6 = false │ 00:09:19 verbose #9799 > > │ if v24 then │ 00:09:19 verbose #9800 > > │ failwith<unit> v10 │ 00:09:19 verbose #9801 > > │ method0() │ 00:09:19 verbose #9802 > > │ │ 00:09:19 verbose #9803 > > │ │ 00:09:19 verbose #9804 > > │ .rs: │ 00:09:19 verbose #9805 > > │ #![allow(dead_code)] │ 00:09:19 verbose #9806 > > │ #![allow(non_camel_case_types)] │ 00:09:19 verbose #9807 > > │ #![allow(non_snake_case)] │ 00:09:19 verbose #9808 > > │ #![allow(non_upper_case_globals)] │ 00:09:19 verbose #9809 > > │ #![allow(unreachable_code)] │ 00:09:19 verbose #9810 > > │ #![allow(unused_attributes)] │ 00:09:19 verbose #9811 > > │ #![allow(unused_imports)] │ 00:09:19 verbose #9812 > > │ #![allow(unused_macros)] │ 00:09:19 verbose #9813 > > │ #![allow(unused_parens)] │ 00:09:19 verbose #9814 > > │ #![allow(unused_variables)] │ 00:09:19 verbose #9815 > > │ mod module_7e2cd9e0 { │ 00:09:19 verbose #9816 > > │ pub mod Spiral_builder { │ 00:09:19 verbose #9817 > > │ use super::*; │ 00:09:19 verbose #9818 > > │ use fable_library_rust::Native_::on_startup; │ 00:09:19 verbose #9819 > > │ use fable_library_rust::String_::printfn; │ 00:09:19 verbose #9820 > > │ use fable_library_rust::String_::sprintf; │ 00:09:19 verbose #9821 > > │ use fable_library_rust::String_::string; │ 00:09:19 verbose #9822 > > │ pub fn method1() -> i32 { │ 00:09:19 verbose #9823 > > │ 3_i32 │ 00:09:19 verbose #9824 > > │ } │ 00:09:19 verbose #9825 > > │ pub fn method2(v0: bool) -> bool { │ 00:09:19 verbose #9826 > > │ v0 │ 00:09:19 verbose #9827 > > │ } │ 00:09:19 verbose #9828 > > │ pub fn method0() { │ 00:09:19 verbose #9829 > > │ let v3: i32 = 9_i32 + Spiral_builder::method1() + 2_i32 + 1_i32; │ 00:09:19 verbose #9830 > > │ let v4: bool = v3 == 15_i32; │ 00:09:19 verbose #9831 > > │ let v6: bool = if v4 { │ 00:09:19 verbose #9832 > > │ true │ 00:09:19 verbose #9833 > > │ } else { │ 00:09:19 verbose #9834 > > │ Spiral_builder::method2(v4) │ 00:09:19 verbose #9835 > > │ }; │ 00:09:19 verbose #9836 > > │ let v10: string = sprintf!( │ 00:09:19 verbose #9837 > > │ "{} / actual: {:?} / expected: {:?}", │ 00:09:19 verbose #9838 > > │ string("assert_eq"), │ 00:09:19 verbose #9839 > > │ v3, │ 00:09:19 verbose #9840 > > │ 15_i32 │ 00:09:19 verbose #9841 > > │ ); │ 00:09:19 verbose #9842 > > │ printfn!("{0}", v10.clone()); │ 00:09:19 verbose #9843 > > │ if v6 == false { │ 00:09:19 verbose #9844 > > │ panic!("{}", v10,); │ 00:09:19 verbose #9845 > > │ } │ 00:09:19 verbose #9846 > > │ } │ 00:09:19 verbose #9847 > > │ on_startup!(Spiral_builder::method0()); │ 00:09:19 verbose #9848 > > │ } │ 00:09:19 verbose #9849 > > │ } │ 00:09:19 verbose #9850 > > │ pub use module_7e2cd9e0::*; │ 00:09:19 verbose #9851 > > │ │ 00:09:19 verbose #9852 > > │ .ts: │ 00:09:19 verbose #9853 > > │ import { int32 } from "./fable_modules/fable-library-ts.4.19.3/Int32.js"; │ 00:09:19 verbose #9854 > > │ import { interpolate, toText } from │ 00:09:19 verbose #9855 > > │ "./fable_modules/fable-library-ts.4.19.3/String.js"; │ 00:09:19 verbose #9856 > > │ │ 00:09:19 verbose #9857 > > │ export function method1(): int32 { │ 00:09:19 verbose #9858 > > │ return 3; │ 00:09:19 verbose #9859 > > │ } │ 00:09:19 verbose #9860 > > │ │ 00:09:19 verbose #9861 > > │ export function method2(v0: boolean): boolean { │ 00:09:19 verbose #9862 > > │ return v0; │ 00:09:19 verbose #9863 > > │ } │ 00:09:19 verbose #9864 > > │ │ 00:09:19 verbose #9865 > > │ export function method0(): void { │ 00:09:19 verbose #9866 > > │ const v3: int32 = (((9 + method1()) + 2) + 1) | 0; │ 00:09:19 verbose #9867 > > │ const v4: boolean = v3 === 15; │ 00:09:19 verbose #9868 > > │ const v6: boolean = v4 ? true : method2(v4); │ 00:09:19 verbose #9869 > > │ const v10: string = toText(interpolate("%P() / actual: %A%P() / │ 00:09:19 verbose #9870 > > │ expected: %A%P()", ["assert_eq", v3, 15])); │ 00:09:19 verbose #9871 > > │ console.log(v10); │ 00:09:19 verbose #9872 > > │ if (v6 === false) { │ 00:09:19 verbose #9873 > > │ throw new Error(v10); │ 00:09:19 verbose #9874 > > │ } │ 00:09:19 verbose #9875 > > │ } │ 00:09:19 verbose #9876 > > │ │ 00:09:19 verbose #9877 > > │ method0(); │ 00:09:19 verbose #9878 > > │ │ 00:09:19 verbose #9879 > > │ │ 00:09:19 verbose #9880 > > │ .py: │ 00:09:19 verbose #9881 > > │ from fable_modules.fable_library.string_ import (to_text, interpolate) │ 00:09:19 verbose #9882 > > │ │ 00:09:19 verbose #9883 > > │ def method1(__unit: None=None) -> int: │ 00:09:19 verbose #9884 > > │ return 3 │ 00:09:19 verbose #9885 > > │ │ 00:09:19 verbose #9886 > > │ │ 00:09:19 verbose #9887 > > │ def method2(v0: bool) -> bool: │ 00:09:19 verbose #9888 > > │ return v0 │ 00:09:19 verbose #9889 > > │ │ 00:09:19 verbose #9890 > > │ │ 00:09:19 verbose #9891 > > │ def method0(__unit: None=None) -> None: │ 00:09:19 verbose #9892 > > │ v3: int = (((9 + method1()) + 2) + 1) or 0 │ 00:09:19 verbose #9893 > > │ v4: bool = v3 == 15 │ 00:09:19 verbose #9894 > > │ v6: bool = True if v4 else method2(v4) │ 00:09:19 verbose #9895 > > │ v10: str = to_text(interpolate("%P() / actual: %A%P() / expected: │ 00:09:19 verbose #9896 > > │ %A%P()", ["assert_eq", v3, 15])) │ 00:09:19 verbose #9897 > > │ print(v10) │ 00:09:19 verbose #9898 > > │ if v6 == False: │ 00:09:19 verbose #9899 > > │ raise Exception(v10) │ 00:09:19 verbose #9900 > > │ │ 00:09:19 verbose #9901 > > │ │ 00:09:19 verbose #9902 > > │ │ 00:09:19 verbose #9903 > > │ method0() │ 00:09:19 verbose #9904 > > │ │ 00:09:19 verbose #9905 > > │ │ 00:09:19 verbose #9906 > > │ .py: │ 00:09:19 verbose #9907 > > │ kernel = r""" │ 00:09:19 verbose #9908 > > │ """ │ 00:09:19 verbose #9909 > > │ class static_array(): │ 00:09:19 verbose #9910 > > │ def __init__(self, length): │ 00:09:19 verbose #9911 > > │ self.ptr = [] │ 00:09:19 verbose #9912 > > │ for _ in range(length): │ 00:09:19 verbose #9913 > > │ self.ptr.append(None) │ 00:09:19 verbose #9914 > > │ │ 00:09:19 verbose #9915 > > │ def __getitem__(self, index): │ 00:09:19 verbose #9916 > > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ 00:09:19 verbose #9917 > > │ range." │ 00:09:19 verbose #9918 > > │ return self.ptr[index] │ 00:09:19 verbose #9919 > > │ │ 00:09:19 verbose #9920 > > │ def __setitem__(self, index, value): │ 00:09:19 verbose #9921 > > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ 00:09:19 verbose #9922 > > │ range." │ 00:09:19 verbose #9923 > > │ self.ptr[index] = value │ 00:09:19 verbose #9924 > > │ │ 00:09:19 verbose #9925 > > │ class static_array_list(static_array): │ 00:09:19 verbose #9926 > > │ def __init__(self, length): │ 00:09:19 verbose #9927 > > │ super().__init__(length) │ 00:09:19 verbose #9928 > > │ self.length = 0 │ 00:09:19 verbose #9929 > > │ │ 00:09:19 verbose #9930 > > │ def __getitem__(self, index): │ 00:09:19 verbose #9931 > > │ assert 0 <= index < self.length, "The get index needs to be in │ 00:09:19 verbose #9932 > > │ range." │ 00:09:19 verbose #9933 > > │ return self.ptr[index] │ 00:09:19 verbose #9934 > > │ │ 00:09:19 verbose #9935 > > │ def __setitem__(self, index, value): │ 00:09:19 verbose #9936 > > │ assert 0 <= index < self.length, "The set index needs to be in │ 00:09:19 verbose #9937 > > │ range." │ 00:09:19 verbose #9938 > > │ self.ptr[index] = value │ 00:09:19 verbose #9939 > > │ │ 00:09:19 verbose #9940 > > │ def push(self,value): │ 00:09:19 verbose #9941 > > │ assert (self.length < len(self.ptr)), "The length before pushing has │ 00:09:19 verbose #9942 > > │ to be less than the maximum length of the array." │ 00:09:19 verbose #9943 > > │ self.ptr[self.length] = value │ 00:09:19 verbose #9944 > > │ self.length += 1 │ 00:09:19 verbose #9945 > > │ │ 00:09:19 verbose #9946 > > │ def pop(self): │ 00:09:19 verbose #9947 > > │ assert (0 < self.length), "The length before popping has to be │ 00:09:19 verbose #9948 > > │ greater than 0." │ 00:09:19 verbose #9949 > > │ self.length -= 1 │ 00:09:19 verbose #9950 > > │ return self.ptr[self.length] │ 00:09:19 verbose #9951 > > │ │ 00:09:19 verbose #9952 > > │ def unsafe_set_length(self,i): │ 00:09:19 verbose #9953 > > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ 00:09:19 verbose #9954 > > │ self.length = i │ 00:09:19 verbose #9955 > > │ │ 00:09:19 verbose #9956 > > │ class dynamic_array(static_array): │ 00:09:19 verbose #9957 > > │ pass │ 00:09:19 verbose #9958 > > │ │ 00:09:19 verbose #9959 > > │ class dynamic_array_list(static_array_list): │ 00:09:19 verbose #9960 > > │ def length_(self): return self.length │ 00:09:19 verbose #9961 > > │ │ 00:09:19 verbose #9962 > > │ import cupy as cp │ 00:09:19 verbose #9963 > > │ from dataclasses import dataclass │ 00:09:19 verbose #9964 > > │ from typing import NamedTuple, Union, Callable, Tuple │ 00:09:19 verbose #9965 > > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ 00:09:19 verbose #9966 > > │ string = str │ 00:09:19 verbose #9967 > > │ │ 00:09:19 verbose #9968 > > │ def method1() -> i32: │ 00:09:19 verbose #9969 > > │ return 3 │ 00:09:19 verbose #9970 > > │ def method2(v0 : bool) -> bool: │ 00:09:19 verbose #9971 > > │ return v0 │ 00:09:19 verbose #9972 > > │ def method0() -> None: │ 00:09:19 verbose #9973 > > │ v0 = method1() │ 00:09:19 verbose #9974 > > │ v1 = 9 + v0 │ 00:09:19 verbose #9975 > > │ del v0 │ 00:09:19 verbose #9976 > > │ v2 = v1 + 2 │ 00:09:19 verbose #9977 > > │ del v1 │ 00:09:19 verbose #9978 > > │ v3 = v2 + 1 │ 00:09:19 verbose #9979 > > │ del v2 │ 00:09:19 verbose #9980 > > │ v4 = v3 == 15 │ 00:09:19 verbose #9981 > > │ if v4: │ 00:09:19 verbose #9982 > > │ v6 = True │ 00:09:19 verbose #9983 > > │ else: │ 00:09:19 verbose #9984 > > │ v6 = method2(v4) │ 00:09:19 verbose #9985 > > │ del v4 │ 00:09:19 verbose #9986 > > │ v13 = "assert_eq" │ 00:09:19 verbose #9987 > > │ v14 = f"{v13} / actual: {v3} / expected: {15}" │ 00:09:19 verbose #9988 > > │ del v3, v13 │ 00:09:19 verbose #9989 > > │ print(v14) │ 00:09:19 verbose #9990 > > │ v25 = v6 == False │ 00:09:19 verbose #9991 > > │ del v6 │ 00:09:19 verbose #9992 > > │ if v25: │ 00:09:19 verbose #9993 > > │ del v25 │ 00:09:19 verbose #9994 > > │ raise Exception(v14) │ 00:09:19 verbose #9995 > > │ else: │ 00:09:19 verbose #9996 > > │ del v14, v25 │ 00:09:19 verbose #9997 > > │ return │ 00:09:19 verbose #9998 > > │ def main(): │ 00:09:19 verbose #9999 > > │ return method0() │ 00:09:19 verbose #10000 > > │ │ 00:09:19 verbose #10001 > > │ if __name__ == '__main__': result = main(); None if result is None else │ 00:09:19 verbose #10002 > > │ print(result) │ 00:09:19 verbose #10003 > > │ │ 00:09:19 verbose #10004 > > │ │ 00:09:19 verbose #10005 > > │ .py: │ 00:09:19 verbose #10006 > > │ kernel = r""" │ 00:09:19 verbose #10007 > > │ """ │ 00:09:19 verbose #10008 > > │ class static_array(): │ 00:09:19 verbose #10009 > > │ def __init__(self, length): │ 00:09:19 verbose #10010 > > │ self.ptr = [] │ 00:09:19 verbose #10011 > > │ for _ in range(length): │ 00:09:19 verbose #10012 > > │ self.ptr.append(None) │ 00:09:19 verbose #10013 > > │ │ 00:09:19 verbose #10014 > > │ def __getitem__(self, index): │ 00:09:19 verbose #10015 > > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ 00:09:19 verbose #10016 > > │ range." │ 00:09:19 verbose #10017 > > │ return self.ptr[index] │ 00:09:19 verbose #10018 > > │ │ 00:09:19 verbose #10019 > > │ def __setitem__(self, index, value): │ 00:09:19 verbose #10020 > > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ 00:09:19 verbose #10021 > > │ range." │ 00:09:19 verbose #10022 > > │ self.ptr[index] = value │ 00:09:19 verbose #10023 > > │ │ 00:09:19 verbose #10024 > > │ class static_array_list(static_array): │ 00:09:19 verbose #10025 > > │ def __init__(self, length): │ 00:09:19 verbose #10026 > > │ super().__init__(length) │ 00:09:19 verbose #10027 > > │ self.length = 0 │ 00:09:19 verbose #10028 > > │ │ 00:09:19 verbose #10029 > > │ def __getitem__(self, index): │ 00:09:19 verbose #10030 > > │ assert 0 <= index < self.length, "The get index needs to be in │ 00:09:19 verbose #10031 > > │ range." │ 00:09:19 verbose #10032 > > │ return self.ptr[index] │ 00:09:19 verbose #10033 > > │ │ 00:09:19 verbose #10034 > > │ def __setitem__(self, index, value): │ 00:09:19 verbose #10035 > > │ assert 0 <= index < self.length, "The set index needs to be in │ 00:09:19 verbose #10036 > > │ range." │ 00:09:19 verbose #10037 > > │ self.ptr[index] = value │ 00:09:19 verbose #10038 > > │ │ 00:09:19 verbose #10039 > > │ def push(self,value): │ 00:09:19 verbose #10040 > > │ assert (self.length < len(self.ptr)), "The length before pushing has │ 00:09:19 verbose #10041 > > │ to be less than the maximum length of the array." │ 00:09:19 verbose #10042 > > │ self.ptr[self.length] = value │ 00:09:19 verbose #10043 > > │ self.length += 1 │ 00:09:19 verbose #10044 > > │ │ 00:09:19 verbose #10045 > > │ def pop(self): │ 00:09:19 verbose #10046 > > │ assert (0 < self.length), "The length before popping has to be │ 00:09:19 verbose #10047 > > │ greater than 0." │ 00:09:19 verbose #10048 > > │ self.length -= 1 │ 00:09:19 verbose #10049 > > │ return self.ptr[self.length] │ 00:09:19 verbose #10050 > > │ │ 00:09:19 verbose #10051 > > │ def unsafe_set_length(self,i): │ 00:09:19 verbose #10052 > > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ 00:09:19 verbose #10053 > > │ self.length = i │ 00:09:19 verbose #10054 > > │ │ 00:09:19 verbose #10055 > > │ class dynamic_array(static_array): │ 00:09:19 verbose #10056 > > │ pass │ 00:09:19 verbose #10057 > > │ │ 00:09:19 verbose #10058 > > │ class dynamic_array_list(static_array_list): │ 00:09:19 verbose #10059 > > │ def length_(self): return self.length │ 00:09:19 verbose #10060 > > │ │ 00:09:19 verbose #10061 > > │ import cupy as cp │ 00:09:19 verbose #10062 > > │ from dataclasses import dataclass │ 00:09:19 verbose #10063 > > │ from typing import NamedTuple, Union, Callable, Tuple │ 00:09:19 verbose #10064 > > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ 00:09:19 verbose #10065 > > │ string = str │ 00:09:19 verbose #10066 > > │ │ 00:09:19 verbose #10067 > > │ def method1() -> i32: │ 00:09:19 verbose #10068 > > │ return 3 │ 00:09:19 verbose #10069 > > │ def method2(v0 : bool) -> bool: │ 00:09:19 verbose #10070 > > │ return v0 │ 00:09:19 verbose #10071 > > │ def method0() -> None: │ 00:09:19 verbose #10072 > > │ v0 = method1() │ 00:09:19 verbose #10073 > > │ v1 = 9 + v0 │ 00:09:19 verbose #10074 > > │ del v0 │ 00:09:19 verbose #10075 > > │ v2 = v1 + 2 │ 00:09:19 verbose #10076 > > │ del v1 │ 00:09:19 verbose #10077 > > │ v3 = v2 + 1 │ 00:09:19 verbose #10078 > > │ del v2 │ 00:09:19 verbose #10079 > > │ v4 = v3 == 15 │ 00:09:19 verbose #10080 > > │ if v4: │ 00:09:19 verbose #10081 > > │ v6 = True │ 00:09:19 verbose #10082 > > │ else: │ 00:09:19 verbose #10083 > > │ v6 = method2(v4) │ 00:09:19 verbose #10084 > > │ del v4 │ 00:09:19 verbose #10085 > > │ v13 = "assert_eq" │ 00:09:19 verbose #10086 > > │ v14 = f"{v13} / actual: {v3} / expected: {15}" │ 00:09:19 verbose #10087 > > │ del v3, v13 │ 00:09:19 verbose #10088 > > │ print(v14) │ 00:09:19 verbose #10089 > > │ v25 = v6 == False │ 00:09:19 verbose #10090 > > │ del v6 │ 00:09:19 verbose #10091 > > │ if v25: │ 00:09:19 verbose #10092 > > │ del v25 │ 00:09:19 verbose #10093 > > │ raise Exception(v14) │ 00:09:19 verbose #10094 > > │ else: │ 00:09:19 verbose #10095 > > │ del v14, v25 │ 00:09:19 verbose #10096 > > │ return │ 00:09:19 verbose #10097 > > │ def main(): │ 00:09:19 verbose #10098 > > │ return method0() │ 00:09:19 verbose #10099 > > │ │ 00:09:19 verbose #10100 > > │ if __name__ == '__main__': result = main(); None if result is None else │ 00:09:19 verbose #10101 > > │ print(result) │ 00:09:19 verbose #10102 > > │ │ 00:09:19 verbose #10103 > > │ .fsx output: │ 00:09:19 verbose #10104 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:19 verbose #10105 > > │ │ 00:09:19 verbose #10106 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:19 verbose #10107 > > 00:09:19 verbose #10108 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:19 verbose #10109 > > //// test 00:09:19 verbose #10110 > > ///! fsharp 00:09:19 verbose #10111 > > ///! cuda 00:09:19 verbose #10112 > > ///! rust 00:09:19 verbose #10113 > > ///! typescript 00:09:19 verbose #10114 > > ///! python 00:09:19 verbose #10115 > > //// print_code=true 00:09:19 verbose #10116 > > 00:09:19 verbose #10117 > > [[ 5i32; 4; join 3; 2; 1 ]] 00:09:19 verbose #10118 > > |> fold_list (join_body (+)) 0 00:09:19 verbose #10119 > > |> _assert_eq 15 00:09:19 verbose #10120 > 00:09:19 debug #552 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/51aa154a9430d1863d66b93f9534554ea44a220c6657cdee343116430546cf11/main.spi 00:09:19 verbose #10121 > 00:09:19 debug #553 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/64d416b32f474bc59c370e32c50284af0bcd64f9b4b3078c5639ca77d16cce0e/main.spi 00:09:31 verbose #10122 > > 00:09:31 verbose #10123 > > ╭─[ 11.68s - return value ]────────────────────────────────────────────────────╮ 00:09:31 verbose #10124 > > │ .py output (Cuda): │ 00:09:31 verbose #10125 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:31 verbose #10126 > > │ │ 00:09:31 verbose #10127 > > │ .rs output: │ 00:09:31 verbose #10128 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:31 verbose #10129 > > │ │ 00:09:31 verbose #10130 > > │ .ts output: │ 00:09:31 verbose #10131 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:31 verbose #10132 > > │ │ 00:09:31 verbose #10133 > > │ .py output: │ 00:09:31 verbose #10134 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:31 verbose #10135 > > │ │ 00:09:31 verbose #10136 > > │ │ 00:09:31 verbose #10137 > > │ │ 00:09:31 verbose #10138 > > │ │ 00:09:31 verbose #10139 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:31 verbose #10140 > > 00:09:31 verbose #10141 > > ╭─[ 11.68s - stdout ]──────────────────────────────────────────────────────────╮ 00:09:31 verbose #10142 > > │ .fsx: │ 00:09:31 verbose #10143 > > │ let rec method1 () : int32 = │ 00:09:31 verbose #10144 > > │ 3 │ 00:09:31 verbose #10145 > > │ and method2 (v0 : int32, v1 : int32) : int32 = │ 00:09:31 verbose #10146 > > │ let v2 : int32 = v1 + v0 │ 00:09:31 verbose #10147 > > │ v2 │ 00:09:31 verbose #10148 > > │ and method3 (v0 : bool) : bool = │ 00:09:31 verbose #10149 > > │ v0 │ 00:09:31 verbose #10150 > > │ and method0 () : unit = │ 00:09:31 verbose #10151 > > │ let v0 : int32 = method1() │ 00:09:31 verbose #10152 > > │ let v1 : int32 = 9 │ 00:09:31 verbose #10153 > > │ let v2 : int32 = method2(v0, v1) │ 00:09:31 verbose #10154 > > │ let v3 : int32 = v2 + 2 │ 00:09:31 verbose #10155 > > │ let v4 : int32 = v3 + 1 │ 00:09:31 verbose #10156 > > │ let v5 : bool = v4 = 15 │ 00:09:31 verbose #10157 > > │ let v7 : bool = │ 00:09:31 verbose #10158 > > │ if v5 then │ 00:09:31 verbose #10159 > > │ true │ 00:09:31 verbose #10160 > > │ else │ 00:09:31 verbose #10161 > > │ method3(v5) │ 00:09:31 verbose #10162 > > │ let v10 : string = "assert_eq" │ 00:09:31 verbose #10163 > > │ let v11 : string = $"{v10} / actual: %A{v4} / expected: %A{15}" │ 00:09:31 verbose #10164 > > │ let v20 : (string -> unit) = System.Console.WriteLine │ 00:09:31 verbose #10165 > > │ v20 v11 │ 00:09:31 verbose #10166 > > │ let v25 : bool = v7 = false │ 00:09:31 verbose #10167 > > │ if v25 then │ 00:09:31 verbose #10168 > > │ failwith<unit> v11 │ 00:09:31 verbose #10169 > > │ method0() │ 00:09:31 verbose #10170 > > │ │ 00:09:31 verbose #10171 > > │ │ 00:09:31 verbose #10172 > > │ .rs: │ 00:09:31 verbose #10173 > > │ #![allow(dead_code)] │ 00:09:31 verbose #10174 > > │ #![allow(non_camel_case_types)] │ 00:09:31 verbose #10175 > > │ #![allow(non_snake_case)] │ 00:09:31 verbose #10176 > > │ #![allow(non_upper_case_globals)] │ 00:09:31 verbose #10177 > > │ #![allow(unreachable_code)] │ 00:09:31 verbose #10178 > > │ #![allow(unused_attributes)] │ 00:09:31 verbose #10179 > > │ #![allow(unused_imports)] │ 00:09:31 verbose #10180 > > │ #![allow(unused_macros)] │ 00:09:31 verbose #10181 > > │ #![allow(unused_parens)] │ 00:09:31 verbose #10182 > > │ #![allow(unused_variables)] │ 00:09:31 verbose #10183 > > │ mod module_7e2cd9e0 { │ 00:09:31 verbose #10184 > > │ pub mod Spiral_builder { │ 00:09:31 verbose #10185 > > │ use super::*; │ 00:09:31 verbose #10186 > > │ use fable_library_rust::Native_::on_startup; │ 00:09:31 verbose #10187 > > │ use fable_library_rust::String_::printfn; │ 00:09:31 verbose #10188 > > │ use fable_library_rust::String_::sprintf; │ 00:09:31 verbose #10189 > > │ use fable_library_rust::String_::string; │ 00:09:31 verbose #10190 > > │ pub fn method1() -> i32 { │ 00:09:31 verbose #10191 > > │ 3_i32 │ 00:09:31 verbose #10192 > > │ } │ 00:09:31 verbose #10193 > > │ pub fn method2(v0: i32, v1: i32) -> i32 { │ 00:09:31 verbose #10194 > > │ v1 + v0 │ 00:09:31 verbose #10195 > > │ } │ 00:09:31 verbose #10196 > > │ pub fn method3(v0: bool) -> bool { │ 00:09:31 verbose #10197 > > │ v0 │ 00:09:31 verbose #10198 > > │ } │ 00:09:31 verbose #10199 > > │ pub fn method0() { │ 00:09:31 verbose #10200 > > │ let v4: i32 = Spiral_builder::method2(Spiral_builder::method1(), │ 00:09:31 verbose #10201 > > │ 9_i32) + 2_i32 + 1_i32; │ 00:09:31 verbose #10202 > > │ let v5: bool = v4 == 15_i32; │ 00:09:31 verbose #10203 > > │ let v7: bool = if v5 { │ 00:09:31 verbose #10204 > > │ true │ 00:09:31 verbose #10205 > > │ } else { │ 00:09:31 verbose #10206 > > │ Spiral_builder::method3(v5) │ 00:09:31 verbose #10207 > > │ }; │ 00:09:31 verbose #10208 > > │ let v11: string = sprintf!( │ 00:09:31 verbose #10209 > > │ "{} / actual: {:?} / expected: {:?}", │ 00:09:31 verbose #10210 > > │ string("assert_eq"), │ 00:09:31 verbose #10211 > > │ v4, │ 00:09:31 verbose #10212 > > │ 15_i32 │ 00:09:31 verbose #10213 > > │ ); │ 00:09:31 verbose #10214 > > │ printfn!("{0}", v11.clone()); │ 00:09:31 verbose #10215 > > │ if v7 == false { │ 00:09:31 verbose #10216 > > │ panic!("{}", v11,); │ 00:09:31 verbose #10217 > > │ } │ 00:09:31 verbose #10218 > > │ } │ 00:09:31 verbose #10219 > > │ on_startup!(Spiral_builder::method0()); │ 00:09:31 verbose #10220 > > │ } │ 00:09:31 verbose #10221 > > │ } │ 00:09:31 verbose #10222 > > │ pub use module_7e2cd9e0::*; │ 00:09:31 verbose #10223 > > │ │ 00:09:31 verbose #10224 > > │ .ts: │ 00:09:31 verbose #10225 > > │ import { int32 } from "./fable_modules/fable-library-ts.4.19.3/Int32.js"; │ 00:09:31 verbose #10226 > > │ import { interpolate, toText } from │ 00:09:31 verbose #10227 > > │ "./fable_modules/fable-library-ts.4.19.3/String.js"; │ 00:09:31 verbose #10228 > > │ │ 00:09:31 verbose #10229 > > │ export function method1(): int32 { │ 00:09:31 verbose #10230 > > │ return 3; │ 00:09:31 verbose #10231 > > │ } │ 00:09:31 verbose #10232 > > │ │ 00:09:31 verbose #10233 > > │ export function method2(v0: int32, v1: int32): int32 { │ 00:09:31 verbose #10234 > > │ return v1 + v0; │ 00:09:31 verbose #10235 > > │ } │ 00:09:31 verbose #10236 > > │ │ 00:09:31 verbose #10237 > > │ export function method3(v0: boolean): boolean { │ 00:09:31 verbose #10238 > > │ return v0; │ 00:09:31 verbose #10239 > > │ } │ 00:09:31 verbose #10240 > > │ │ 00:09:31 verbose #10241 > > │ export function method0(): void { │ 00:09:31 verbose #10242 > > │ const v4: int32 = ((method2(method1(), 9) + 2) + 1) | 0; │ 00:09:31 verbose #10243 > > │ const v5: boolean = v4 === 15; │ 00:09:31 verbose #10244 > > │ const v7: boolean = v5 ? true : method3(v5); │ 00:09:31 verbose #10245 > > │ const v11: string = toText(interpolate("%P() / actual: %A%P() / │ 00:09:31 verbose #10246 > > │ expected: %A%P()", ["assert_eq", v4, 15])); │ 00:09:31 verbose #10247 > > │ console.log(v11); │ 00:09:31 verbose #10248 > > │ if (v7 === false) { │ 00:09:31 verbose #10249 > > │ throw new Error(v11); │ 00:09:31 verbose #10250 > > │ } │ 00:09:31 verbose #10251 > > │ } │ 00:09:31 verbose #10252 > > │ │ 00:09:31 verbose #10253 > > │ method0(); │ 00:09:31 verbose #10254 > > │ │ 00:09:31 verbose #10255 > > │ │ 00:09:31 verbose #10256 > > │ .py: │ 00:09:31 verbose #10257 > > │ from fable_modules.fable_library.string_ import (to_text, interpolate) │ 00:09:31 verbose #10258 > > │ │ 00:09:31 verbose #10259 > > │ def method1(__unit: None=None) -> int: │ 00:09:31 verbose #10260 > > │ return 3 │ 00:09:31 verbose #10261 > > │ │ 00:09:31 verbose #10262 > > │ │ 00:09:31 verbose #10263 > > │ def method2(v0: int, v1: int) -> int: │ 00:09:31 verbose #10264 > > │ return v1 + v0 │ 00:09:31 verbose #10265 > > │ │ 00:09:31 verbose #10266 > > │ │ 00:09:31 verbose #10267 > > │ def method3(v0: bool) -> bool: │ 00:09:31 verbose #10268 > > │ return v0 │ 00:09:31 verbose #10269 > > │ │ 00:09:31 verbose #10270 > > │ │ 00:09:31 verbose #10271 > > │ def method0(__unit: None=None) -> None: │ 00:09:31 verbose #10272 > > │ v4: int = ((method2(method1(), 9) + 2) + 1) or 0 │ 00:09:31 verbose #10273 > > │ v5: bool = v4 == 15 │ 00:09:31 verbose #10274 > > │ v7: bool = True if v5 else method3(v5) │ 00:09:31 verbose #10275 > > │ v11: str = to_text(interpolate("%P() / actual: %A%P() / expected: │ 00:09:31 verbose #10276 > > │ %A%P()", ["assert_eq", v4, 15])) │ 00:09:31 verbose #10277 > > │ print(v11) │ 00:09:31 verbose #10278 > > │ if v7 == False: │ 00:09:31 verbose #10279 > > │ raise Exception(v11) │ 00:09:31 verbose #10280 > > │ │ 00:09:31 verbose #10281 > > │ │ 00:09:31 verbose #10282 > > │ │ 00:09:31 verbose #10283 > > │ method0() │ 00:09:31 verbose #10284 > > │ │ 00:09:31 verbose #10285 > > │ │ 00:09:31 verbose #10286 > > │ .py: │ 00:09:31 verbose #10287 > > │ kernel = r""" │ 00:09:31 verbose #10288 > > │ """ │ 00:09:31 verbose #10289 > > │ class static_array(): │ 00:09:31 verbose #10290 > > │ def __init__(self, length): │ 00:09:31 verbose #10291 > > │ self.ptr = [] │ 00:09:31 verbose #10292 > > │ for _ in range(length): │ 00:09:31 verbose #10293 > > │ self.ptr.append(None) │ 00:09:31 verbose #10294 > > │ │ 00:09:31 verbose #10295 > > │ def __getitem__(self, index): │ 00:09:31 verbose #10296 > > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ 00:09:31 verbose #10297 > > │ range." │ 00:09:31 verbose #10298 > > │ return self.ptr[index] │ 00:09:31 verbose #10299 > > │ │ 00:09:31 verbose #10300 > > │ def __setitem__(self, index, value): │ 00:09:31 verbose #10301 > > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ 00:09:31 verbose #10302 > > │ range." │ 00:09:31 verbose #10303 > > │ self.ptr[index] = value │ 00:09:31 verbose #10304 > > │ │ 00:09:31 verbose #10305 > > │ class static_array_list(static_array): │ 00:09:31 verbose #10306 > > │ def __init__(self, length): │ 00:09:31 verbose #10307 > > │ super().__init__(length) │ 00:09:31 verbose #10308 > > │ self.length = 0 │ 00:09:31 verbose #10309 > > │ │ 00:09:31 verbose #10310 > > │ def __getitem__(self, index): │ 00:09:31 verbose #10311 > > │ assert 0 <= index < self.length, "The get index needs to be in │ 00:09:31 verbose #10312 > > │ range." │ 00:09:31 verbose #10313 > > │ return self.ptr[index] │ 00:09:31 verbose #10314 > > │ │ 00:09:31 verbose #10315 > > │ def __setitem__(self, index, value): │ 00:09:31 verbose #10316 > > │ assert 0 <= index < self.length, "The set index needs to be in │ 00:09:31 verbose #10317 > > │ range." │ 00:09:31 verbose #10318 > > │ self.ptr[index] = value │ 00:09:31 verbose #10319 > > │ │ 00:09:31 verbose #10320 > > │ def push(self,value): │ 00:09:31 verbose #10321 > > │ assert (self.length < len(self.ptr)), "The length before pushing has │ 00:09:31 verbose #10322 > > │ to be less than the maximum length of the array." │ 00:09:31 verbose #10323 > > │ self.ptr[self.length] = value │ 00:09:31 verbose #10324 > > │ self.length += 1 │ 00:09:31 verbose #10325 > > │ │ 00:09:31 verbose #10326 > > │ def pop(self): │ 00:09:31 verbose #10327 > > │ assert (0 < self.length), "The length before popping has to be │ 00:09:31 verbose #10328 > > │ greater than 0." │ 00:09:31 verbose #10329 > > │ self.length -= 1 │ 00:09:31 verbose #10330 > > │ return self.ptr[self.length] │ 00:09:31 verbose #10331 > > │ │ 00:09:31 verbose #10332 > > │ def unsafe_set_length(self,i): │ 00:09:31 verbose #10333 > > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ 00:09:31 verbose #10334 > > │ self.length = i │ 00:09:31 verbose #10335 > > │ │ 00:09:31 verbose #10336 > > │ class dynamic_array(static_array): │ 00:09:31 verbose #10337 > > │ pass │ 00:09:31 verbose #10338 > > │ │ 00:09:31 verbose #10339 > > │ class dynamic_array_list(static_array_list): │ 00:09:31 verbose #10340 > > │ def length_(self): return self.length │ 00:09:31 verbose #10341 > > │ │ 00:09:31 verbose #10342 > > │ import cupy as cp │ 00:09:31 verbose #10343 > > │ from dataclasses import dataclass │ 00:09:31 verbose #10344 > > │ from typing import NamedTuple, Union, Callable, Tuple │ 00:09:31 verbose #10345 > > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ 00:09:31 verbose #10346 > > │ string = str │ 00:09:31 verbose #10347 > > │ │ 00:09:31 verbose #10348 > > │ def method1() -> i32: │ 00:09:31 verbose #10349 > > │ return 3 │ 00:09:31 verbose #10350 > > │ def method2(v0 : i32, v1 : i32) -> i32: │ 00:09:31 verbose #10351 > > │ v2 = v1 + v0 │ 00:09:31 verbose #10352 > > │ del v0, v1 │ 00:09:31 verbose #10353 > > │ return v2 │ 00:09:31 verbose #10354 > > │ def method3(v0 : bool) -> bool: │ 00:09:31 verbose #10355 > > │ return v0 │ 00:09:31 verbose #10356 > > │ def method0() -> None: │ 00:09:31 verbose #10357 > > │ v0 = method1() │ 00:09:31 verbose #10358 > > │ v1 = 9 │ 00:09:31 verbose #10359 > > │ v2 = method2(v0, v1) │ 00:09:31 verbose #10360 > > │ del v0, v1 │ 00:09:31 verbose #10361 > > │ v3 = v2 + 2 │ 00:09:31 verbose #10362 > > │ del v2 │ 00:09:31 verbose #10363 > > │ v4 = v3 + 1 │ 00:09:31 verbose #10364 > > │ del v3 │ 00:09:31 verbose #10365 > > │ v5 = v4 == 15 │ 00:09:31 verbose #10366 > > │ if v5: │ 00:09:31 verbose #10367 > > │ v7 = True │ 00:09:31 verbose #10368 > > │ else: │ 00:09:31 verbose #10369 > > │ v7 = method3(v5) │ 00:09:31 verbose #10370 > > │ del v5 │ 00:09:31 verbose #10371 > > │ v14 = "assert_eq" │ 00:09:31 verbose #10372 > > │ v15 = f"{v14} / actual: {v4} / expected: {15}" │ 00:09:31 verbose #10373 > > │ del v4, v14 │ 00:09:31 verbose #10374 > > │ print(v15) │ 00:09:31 verbose #10375 > > │ v26 = v7 == False │ 00:09:31 verbose #10376 > > │ del v7 │ 00:09:31 verbose #10377 > > │ if v26: │ 00:09:31 verbose #10378 > > │ del v26 │ 00:09:31 verbose #10379 > > │ raise Exception(v15) │ 00:09:31 verbose #10380 > > │ else: │ 00:09:31 verbose #10381 > > │ del v15, v26 │ 00:09:31 verbose #10382 > > │ return │ 00:09:31 verbose #10383 > > │ def main(): │ 00:09:31 verbose #10384 > > │ return method0() │ 00:09:31 verbose #10385 > > │ │ 00:09:31 verbose #10386 > > │ if __name__ == '__main__': result = main(); None if result is None else │ 00:09:31 verbose #10387 > > │ print(result) │ 00:09:31 verbose #10388 > > │ │ 00:09:31 verbose #10389 > > │ │ 00:09:31 verbose #10390 > > │ .py: │ 00:09:31 verbose #10391 > > │ kernel = r""" │ 00:09:31 verbose #10392 > > │ """ │ 00:09:31 verbose #10393 > > │ class static_array(): │ 00:09:31 verbose #10394 > > │ def __init__(self, length): │ 00:09:31 verbose #10395 > > │ self.ptr = [] │ 00:09:31 verbose #10396 > > │ for _ in range(length): │ 00:09:31 verbose #10397 > > │ self.ptr.append(None) │ 00:09:31 verbose #10398 > > │ │ 00:09:31 verbose #10399 > > │ def __getitem__(self, index): │ 00:09:31 verbose #10400 > > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ 00:09:31 verbose #10401 > > │ range." │ 00:09:31 verbose #10402 > > │ return self.ptr[index] │ 00:09:31 verbose #10403 > > │ │ 00:09:31 verbose #10404 > > │ def __setitem__(self, index, value): │ 00:09:31 verbose #10405 > > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ 00:09:31 verbose #10406 > > │ range." │ 00:09:31 verbose #10407 > > │ self.ptr[index] = value │ 00:09:31 verbose #10408 > > │ │ 00:09:31 verbose #10409 > > │ class static_array_list(static_array): │ 00:09:31 verbose #10410 > > │ def __init__(self, length): │ 00:09:31 verbose #10411 > > │ super().__init__(length) │ 00:09:31 verbose #10412 > > │ self.length = 0 │ 00:09:31 verbose #10413 > > │ │ 00:09:31 verbose #10414 > > │ def __getitem__(self, index): │ 00:09:31 verbose #10415 > > │ assert 0 <= index < self.length, "The get index needs to be in │ 00:09:31 verbose #10416 > > │ range." │ 00:09:31 verbose #10417 > > │ return self.ptr[index] │ 00:09:31 verbose #10418 > > │ │ 00:09:31 verbose #10419 > > │ def __setitem__(self, index, value): │ 00:09:31 verbose #10420 > > │ assert 0 <= index < self.length, "The set index needs to be in │ 00:09:31 verbose #10421 > > │ range." │ 00:09:31 verbose #10422 > > │ self.ptr[index] = value │ 00:09:31 verbose #10423 > > │ │ 00:09:31 verbose #10424 > > │ def push(self,value): │ 00:09:31 verbose #10425 > > │ assert (self.length < len(self.ptr)), "The length before pushing has │ 00:09:31 verbose #10426 > > │ to be less than the maximum length of the array." │ 00:09:31 verbose #10427 > > │ self.ptr[self.length] = value │ 00:09:31 verbose #10428 > > │ self.length += 1 │ 00:09:31 verbose #10429 > > │ │ 00:09:31 verbose #10430 > > │ def pop(self): │ 00:09:31 verbose #10431 > > │ assert (0 < self.length), "The length before popping has to be │ 00:09:31 verbose #10432 > > │ greater than 0." │ 00:09:31 verbose #10433 > > │ self.length -= 1 │ 00:09:31 verbose #10434 > > │ return self.ptr[self.length] │ 00:09:31 verbose #10435 > > │ │ 00:09:31 verbose #10436 > > │ def unsafe_set_length(self,i): │ 00:09:31 verbose #10437 > > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ 00:09:31 verbose #10438 > > │ self.length = i │ 00:09:31 verbose #10439 > > │ │ 00:09:31 verbose #10440 > > │ class dynamic_array(static_array): │ 00:09:31 verbose #10441 > > │ pass │ 00:09:31 verbose #10442 > > │ │ 00:09:31 verbose #10443 > > │ class dynamic_array_list(static_array_list): │ 00:09:31 verbose #10444 > > │ def length_(self): return self.length │ 00:09:31 verbose #10445 > > │ │ 00:09:31 verbose #10446 > > │ import cupy as cp │ 00:09:31 verbose #10447 > > │ from dataclasses import dataclass │ 00:09:31 verbose #10448 > > │ from typing import NamedTuple, Union, Callable, Tuple │ 00:09:31 verbose #10449 > > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ 00:09:31 verbose #10450 > > │ string = str │ 00:09:31 verbose #10451 > > │ │ 00:09:31 verbose #10452 > > │ def method1() -> i32: │ 00:09:31 verbose #10453 > > │ return 3 │ 00:09:31 verbose #10454 > > │ def method2(v0 : i32, v1 : i32) -> i32: │ 00:09:31 verbose #10455 > > │ v2 = v1 + v0 │ 00:09:31 verbose #10456 > > │ del v0, v1 │ 00:09:31 verbose #10457 > > │ return v2 │ 00:09:31 verbose #10458 > > │ def method3(v0 : bool) -> bool: │ 00:09:31 verbose #10459 > > │ return v0 │ 00:09:31 verbose #10460 > > │ def method0() -> None: │ 00:09:31 verbose #10461 > > │ v0 = method1() │ 00:09:31 verbose #10462 > > │ v1 = 9 │ 00:09:31 verbose #10463 > > │ v2 = method2(v0, v1) │ 00:09:31 verbose #10464 > > │ del v0, v1 │ 00:09:31 verbose #10465 > > │ v3 = v2 + 2 │ 00:09:31 verbose #10466 > > │ del v2 │ 00:09:31 verbose #10467 > > │ v4 = v3 + 1 │ 00:09:31 verbose #10468 > > │ del v3 │ 00:09:31 verbose #10469 > > │ v5 = v4 == 15 │ 00:09:31 verbose #10470 > > │ if v5: │ 00:09:31 verbose #10471 > > │ v7 = True │ 00:09:31 verbose #10472 > > │ else: │ 00:09:31 verbose #10473 > > │ v7 = method3(v5) │ 00:09:31 verbose #10474 > > │ del v5 │ 00:09:31 verbose #10475 > > │ v14 = "assert_eq" │ 00:09:31 verbose #10476 > > │ v15 = f"{v14} / actual: {v4} / expected: {15}" │ 00:09:31 verbose #10477 > > │ del v4, v14 │ 00:09:31 verbose #10478 > > │ print(v15) │ 00:09:31 verbose #10479 > > │ v26 = v7 == False │ 00:09:31 verbose #10480 > > │ del v7 │ 00:09:31 verbose #10481 > > │ if v26: │ 00:09:31 verbose #10482 > > │ del v26 │ 00:09:31 verbose #10483 > > │ raise Exception(v15) │ 00:09:31 verbose #10484 > > │ else: │ 00:09:31 verbose #10485 > > │ del v15, v26 │ 00:09:31 verbose #10486 > > │ return │ 00:09:31 verbose #10487 > > │ def main(): │ 00:09:31 verbose #10488 > > │ return method0() │ 00:09:31 verbose #10489 > > │ │ 00:09:31 verbose #10490 > > │ if __name__ == '__main__': result = main(); None if result is None else │ 00:09:31 verbose #10491 > > │ print(result) │ 00:09:31 verbose #10492 > > │ │ 00:09:31 verbose #10493 > > │ .fsx output: │ 00:09:31 verbose #10494 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:31 verbose #10495 > > │ │ 00:09:31 verbose #10496 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:31 verbose #10497 > > 00:09:31 verbose #10498 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:31 verbose #10499 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:31 verbose #10500 > > │ ### join_body_unit │ 00:09:31 verbose #10501 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:31 verbose #10502 > > 00:09:31 verbose #10503 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:31 verbose #10504 > > inl join_body_unit body d x = 00:09:31 verbose #10505 > > if var_is d |> not 00:09:31 verbose #10506 > > then body x 00:09:31 verbose #10507 > > else 00:09:31 verbose #10508 > > inl x = dyn x 00:09:31 verbose #10509 > > join body x 00:09:31 verbose #10510 > 00:09:31 debug #554 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/342a8c67d734af4ae9c681123bb2e4e84b5341ca9b9de8884387ddb0a1328776/main.spi 00:09:31 verbose #10511 > > 00:09:31 verbose #10512 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:31 verbose #10513 > > //// test 00:09:31 verbose #10514 > > ///! fsharp 00:09:31 verbose #10515 > > ///! cuda 00:09:31 verbose #10516 > > ///! rust 00:09:31 verbose #10517 > > ///! typescript 00:09:31 verbose #10518 > > ///! python 00:09:31 verbose #10519 > > //// print_code=true 00:09:31 verbose #10520 > > 00:09:31 verbose #10521 > > [[ 5i32; 4; join 3; 2; 1 ]] 00:09:31 verbose #10522 > > |> fold_list (fun acc n => join_body_unit ((+) acc) n n) 0 00:09:31 verbose #10523 > > |> _assert_eq 15 00:09:31 verbose #10524 > 00:09:31 debug #555 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/93650681598085c942fdeadd20c789f8c13cfebe01f1a42420b7924d62a463e0/main.spi 00:09:31 verbose #10525 > 00:09:31 debug #556 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/35e0592a79aebcdb9fe9d6c1a39649e9824c9eeac908e8c53758d1cbbf15f5a8/main.spi 00:09:42 verbose #10526 > > 00:09:42 verbose #10527 > > ╭─[ 10.68s - return value ]────────────────────────────────────────────────────╮ 00:09:42 verbose #10528 > > │ .py output (Cuda): │ 00:09:42 verbose #10529 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:42 verbose #10530 > > │ │ 00:09:42 verbose #10531 > > │ .rs output: │ 00:09:42 verbose #10532 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:42 verbose #10533 > > │ │ 00:09:42 verbose #10534 > > │ .ts output: │ 00:09:42 verbose #10535 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:42 verbose #10536 > > │ │ 00:09:42 verbose #10537 > > │ .py output: │ 00:09:42 verbose #10538 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:42 verbose #10539 > > │ │ 00:09:42 verbose #10540 > > │ │ 00:09:42 verbose #10541 > > │ │ 00:09:42 verbose #10542 > > │ │ 00:09:42 verbose #10543 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10544 > > 00:09:42 verbose #10545 > > ╭─[ 10.68s - stdout ]──────────────────────────────────────────────────────────╮ 00:09:42 verbose #10546 > > │ .fsx: │ 00:09:42 verbose #10547 > > │ let rec method1 () : int32 = │ 00:09:42 verbose #10548 > > │ 3 │ 00:09:42 verbose #10549 > > │ and method2 (v0 : int32) : int32 = │ 00:09:42 verbose #10550 > > │ let v1 : int32 = 9 + v0 │ 00:09:42 verbose #10551 > > │ v1 │ 00:09:42 verbose #10552 > > │ and method3 (v0 : bool) : bool = │ 00:09:42 verbose #10553 > > │ v0 │ 00:09:42 verbose #10554 > > │ and method0 () : unit = │ 00:09:42 verbose #10555 > > │ let v0 : int32 = method1() │ 00:09:42 verbose #10556 > > │ let v1 : int32 = method2(v0) │ 00:09:42 verbose #10557 > > │ let v2 : int32 = v1 + 2 │ 00:09:42 verbose #10558 > > │ let v3 : int32 = v2 + 1 │ 00:09:42 verbose #10559 > > │ let v4 : bool = v3 = 15 │ 00:09:42 verbose #10560 > > │ let v6 : bool = │ 00:09:42 verbose #10561 > > │ if v4 then │ 00:09:42 verbose #10562 > > │ true │ 00:09:42 verbose #10563 > > │ else │ 00:09:42 verbose #10564 > > │ method3(v4) │ 00:09:42 verbose #10565 > > │ let v9 : string = "assert_eq" │ 00:09:42 verbose #10566 > > │ let v10 : string = $"{v9} / actual: %A{v3} / expected: %A{15}" │ 00:09:42 verbose #10567 > > │ let v19 : (string -> unit) = System.Console.WriteLine │ 00:09:42 verbose #10568 > > │ v19 v10 │ 00:09:42 verbose #10569 > > │ let v24 : bool = v6 = false │ 00:09:42 verbose #10570 > > │ if v24 then │ 00:09:42 verbose #10571 > > │ failwith<unit> v10 │ 00:09:42 verbose #10572 > > │ method0() │ 00:09:42 verbose #10573 > > │ │ 00:09:42 verbose #10574 > > │ │ 00:09:42 verbose #10575 > > │ .rs: │ 00:09:42 verbose #10576 > > │ #![allow(dead_code)] │ 00:09:42 verbose #10577 > > │ #![allow(non_camel_case_types)] │ 00:09:42 verbose #10578 > > │ #![allow(non_snake_case)] │ 00:09:42 verbose #10579 > > │ #![allow(non_upper_case_globals)] │ 00:09:42 verbose #10580 > > │ #![allow(unreachable_code)] │ 00:09:42 verbose #10581 > > │ #![allow(unused_attributes)] │ 00:09:42 verbose #10582 > > │ #![allow(unused_imports)] │ 00:09:42 verbose #10583 > > │ #![allow(unused_macros)] │ 00:09:42 verbose #10584 > > │ #![allow(unused_parens)] │ 00:09:42 verbose #10585 > > │ #![allow(unused_variables)] │ 00:09:42 verbose #10586 > > │ mod module_7e2cd9e0 { │ 00:09:42 verbose #10587 > > │ pub mod Spiral_builder { │ 00:09:42 verbose #10588 > > │ use super::*; │ 00:09:42 verbose #10589 > > │ use fable_library_rust::Native_::on_startup; │ 00:09:42 verbose #10590 > > │ use fable_library_rust::String_::printfn; │ 00:09:42 verbose #10591 > > │ use fable_library_rust::String_::sprintf; │ 00:09:42 verbose #10592 > > │ use fable_library_rust::String_::string; │ 00:09:42 verbose #10593 > > │ pub fn method1() -> i32 { │ 00:09:42 verbose #10594 > > │ 3_i32 │ 00:09:42 verbose #10595 > > │ } │ 00:09:42 verbose #10596 > > │ pub fn method2(v0: i32) -> i32 { │ 00:09:42 verbose #10597 > > │ 9_i32 + v0 │ 00:09:42 verbose #10598 > > │ } │ 00:09:42 verbose #10599 > > │ pub fn method3(v0: bool) -> bool { │ 00:09:42 verbose #10600 > > │ v0 │ 00:09:42 verbose #10601 > > │ } │ 00:09:42 verbose #10602 > > │ pub fn method0() { │ 00:09:42 verbose #10603 > > │ let v3: i32 = Spiral_builder::method2(Spiral_builder::method1()) │ 00:09:42 verbose #10604 > > │ + 2_i32 + 1_i32; │ 00:09:42 verbose #10605 > > │ let v4: bool = v3 == 15_i32; │ 00:09:42 verbose #10606 > > │ let v6: bool = if v4 { │ 00:09:42 verbose #10607 > > │ true │ 00:09:42 verbose #10608 > > │ } else { │ 00:09:42 verbose #10609 > > │ Spiral_builder::method3(v4) │ 00:09:42 verbose #10610 > > │ }; │ 00:09:42 verbose #10611 > > │ let v10: string = sprintf!( │ 00:09:42 verbose #10612 > > │ "{} / actual: {:?} / expected: {:?}", │ 00:09:42 verbose #10613 > > │ string("assert_eq"), │ 00:09:42 verbose #10614 > > │ v3, │ 00:09:42 verbose #10615 > > │ 15_i32 │ 00:09:42 verbose #10616 > > │ ); │ 00:09:42 verbose #10617 > > │ printfn!("{0}", v10.clone()); │ 00:09:42 verbose #10618 > > │ if v6 == false { │ 00:09:42 verbose #10619 > > │ panic!("{}", v10,); │ 00:09:42 verbose #10620 > > │ } │ 00:09:42 verbose #10621 > > │ } │ 00:09:42 verbose #10622 > > │ on_startup!(Spiral_builder::method0()); │ 00:09:42 verbose #10623 > > │ } │ 00:09:42 verbose #10624 > > │ } │ 00:09:42 verbose #10625 > > │ pub use module_7e2cd9e0::*; │ 00:09:42 verbose #10626 > > │ │ 00:09:42 verbose #10627 > > │ .ts: │ 00:09:42 verbose #10628 > > │ import { int32 } from "./fable_modules/fable-library-ts.4.19.3/Int32.js"; │ 00:09:42 verbose #10629 > > │ import { interpolate, toText } from │ 00:09:42 verbose #10630 > > │ "./fable_modules/fable-library-ts.4.19.3/String.js"; │ 00:09:42 verbose #10631 > > │ │ 00:09:42 verbose #10632 > > │ export function method1(): int32 { │ 00:09:42 verbose #10633 > > │ return 3; │ 00:09:42 verbose #10634 > > │ } │ 00:09:42 verbose #10635 > > │ │ 00:09:42 verbose #10636 > > │ export function method2(v0: int32): int32 { │ 00:09:42 verbose #10637 > > │ return 9 + v0; │ 00:09:42 verbose #10638 > > │ } │ 00:09:42 verbose #10639 > > │ │ 00:09:42 verbose #10640 > > │ export function method3(v0: boolean): boolean { │ 00:09:42 verbose #10641 > > │ return v0; │ 00:09:42 verbose #10642 > > │ } │ 00:09:42 verbose #10643 > > │ │ 00:09:42 verbose #10644 > > │ export function method0(): void { │ 00:09:42 verbose #10645 > > │ const v3: int32 = ((method2(method1()) + 2) + 1) | 0; │ 00:09:42 verbose #10646 > > │ const v4: boolean = v3 === 15; │ 00:09:42 verbose #10647 > > │ const v6: boolean = v4 ? true : method3(v4); │ 00:09:42 verbose #10648 > > │ const v10: string = toText(interpolate("%P() / actual: %A%P() / │ 00:09:42 verbose #10649 > > │ expected: %A%P()", ["assert_eq", v3, 15])); │ 00:09:42 verbose #10650 > > │ console.log(v10); │ 00:09:42 verbose #10651 > > │ if (v6 === false) { │ 00:09:42 verbose #10652 > > │ throw new Error(v10); │ 00:09:42 verbose #10653 > > │ } │ 00:09:42 verbose #10654 > > │ } │ 00:09:42 verbose #10655 > > │ │ 00:09:42 verbose #10656 > > │ method0(); │ 00:09:42 verbose #10657 > > │ │ 00:09:42 verbose #10658 > > │ │ 00:09:42 verbose #10659 > > │ .py: │ 00:09:42 verbose #10660 > > │ from fable_modules.fable_library.string_ import (to_text, interpolate) │ 00:09:42 verbose #10661 > > │ │ 00:09:42 verbose #10662 > > │ def method1(__unit: None=None) -> int: │ 00:09:42 verbose #10663 > > │ return 3 │ 00:09:42 verbose #10664 > > │ │ 00:09:42 verbose #10665 > > │ │ 00:09:42 verbose #10666 > > │ def method2(v0: int) -> int: │ 00:09:42 verbose #10667 > > │ return 9 + v0 │ 00:09:42 verbose #10668 > > │ │ 00:09:42 verbose #10669 > > │ │ 00:09:42 verbose #10670 > > │ def method3(v0: bool) -> bool: │ 00:09:42 verbose #10671 > > │ return v0 │ 00:09:42 verbose #10672 > > │ │ 00:09:42 verbose #10673 > > │ │ 00:09:42 verbose #10674 > > │ def method0(__unit: None=None) -> None: │ 00:09:42 verbose #10675 > > │ v3: int = ((method2(method1()) + 2) + 1) or 0 │ 00:09:42 verbose #10676 > > │ v4: bool = v3 == 15 │ 00:09:42 verbose #10677 > > │ v6: bool = True if v4 else method3(v4) │ 00:09:42 verbose #10678 > > │ v10: str = to_text(interpolate("%P() / actual: %A%P() / expected: │ 00:09:42 verbose #10679 > > │ %A%P()", ["assert_eq", v3, 15])) │ 00:09:42 verbose #10680 > > │ print(v10) │ 00:09:42 verbose #10681 > > │ if v6 == False: │ 00:09:42 verbose #10682 > > │ raise Exception(v10) │ 00:09:42 verbose #10683 > > │ │ 00:09:42 verbose #10684 > > │ │ 00:09:42 verbose #10685 > > │ │ 00:09:42 verbose #10686 > > │ method0() │ 00:09:42 verbose #10687 > > │ │ 00:09:42 verbose #10688 > > │ │ 00:09:42 verbose #10689 > > │ .py: │ 00:09:42 verbose #10690 > > │ kernel = r""" │ 00:09:42 verbose #10691 > > │ """ │ 00:09:42 verbose #10692 > > │ class static_array(): │ 00:09:42 verbose #10693 > > │ def __init__(self, length): │ 00:09:42 verbose #10694 > > │ self.ptr = [] │ 00:09:42 verbose #10695 > > │ for _ in range(length): │ 00:09:42 verbose #10696 > > │ self.ptr.append(None) │ 00:09:42 verbose #10697 > > │ │ 00:09:42 verbose #10698 > > │ def __getitem__(self, index): │ 00:09:42 verbose #10699 > > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ 00:09:42 verbose #10700 > > │ range." │ 00:09:42 verbose #10701 > > │ return self.ptr[index] │ 00:09:42 verbose #10702 > > │ │ 00:09:42 verbose #10703 > > │ def __setitem__(self, index, value): │ 00:09:42 verbose #10704 > > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ 00:09:42 verbose #10705 > > │ range." │ 00:09:42 verbose #10706 > > │ self.ptr[index] = value │ 00:09:42 verbose #10707 > > │ │ 00:09:42 verbose #10708 > > │ class static_array_list(static_array): │ 00:09:42 verbose #10709 > > │ def __init__(self, length): │ 00:09:42 verbose #10710 > > │ super().__init__(length) │ 00:09:42 verbose #10711 > > │ self.length = 0 │ 00:09:42 verbose #10712 > > │ │ 00:09:42 verbose #10713 > > │ def __getitem__(self, index): │ 00:09:42 verbose #10714 > > │ assert 0 <= index < self.length, "The get index needs to be in │ 00:09:42 verbose #10715 > > │ range." │ 00:09:42 verbose #10716 > > │ return self.ptr[index] │ 00:09:42 verbose #10717 > > │ │ 00:09:42 verbose #10718 > > │ def __setitem__(self, index, value): │ 00:09:42 verbose #10719 > > │ assert 0 <= index < self.length, "The set index needs to be in │ 00:09:42 verbose #10720 > > │ range." │ 00:09:42 verbose #10721 > > │ self.ptr[index] = value │ 00:09:42 verbose #10722 > > │ │ 00:09:42 verbose #10723 > > │ def push(self,value): │ 00:09:42 verbose #10724 > > │ assert (self.length < len(self.ptr)), "The length before pushing has │ 00:09:42 verbose #10725 > > │ to be less than the maximum length of the array." │ 00:09:42 verbose #10726 > > │ self.ptr[self.length] = value │ 00:09:42 verbose #10727 > > │ self.length += 1 │ 00:09:42 verbose #10728 > > │ │ 00:09:42 verbose #10729 > > │ def pop(self): │ 00:09:42 verbose #10730 > > │ assert (0 < self.length), "The length before popping has to be │ 00:09:42 verbose #10731 > > │ greater than 0." │ 00:09:42 verbose #10732 > > │ self.length -= 1 │ 00:09:42 verbose #10733 > > │ return self.ptr[self.length] │ 00:09:42 verbose #10734 > > │ │ 00:09:42 verbose #10735 > > │ def unsafe_set_length(self,i): │ 00:09:42 verbose #10736 > > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ 00:09:42 verbose #10737 > > │ self.length = i │ 00:09:42 verbose #10738 > > │ │ 00:09:42 verbose #10739 > > │ class dynamic_array(static_array): │ 00:09:42 verbose #10740 > > │ pass │ 00:09:42 verbose #10741 > > │ │ 00:09:42 verbose #10742 > > │ class dynamic_array_list(static_array_list): │ 00:09:42 verbose #10743 > > │ def length_(self): return self.length │ 00:09:42 verbose #10744 > > │ │ 00:09:42 verbose #10745 > > │ import cupy as cp │ 00:09:42 verbose #10746 > > │ from dataclasses import dataclass │ 00:09:42 verbose #10747 > > │ from typing import NamedTuple, Union, Callable, Tuple │ 00:09:42 verbose #10748 > > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ 00:09:42 verbose #10749 > > │ string = str │ 00:09:42 verbose #10750 > > │ │ 00:09:42 verbose #10751 > > │ def method1() -> i32: │ 00:09:42 verbose #10752 > > │ return 3 │ 00:09:42 verbose #10753 > > │ def method2(v0 : i32) -> i32: │ 00:09:42 verbose #10754 > > │ v1 = 9 + v0 │ 00:09:42 verbose #10755 > > │ del v0 │ 00:09:42 verbose #10756 > > │ return v1 │ 00:09:42 verbose #10757 > > │ def method3(v0 : bool) -> bool: │ 00:09:42 verbose #10758 > > │ return v0 │ 00:09:42 verbose #10759 > > │ def method0() -> None: │ 00:09:42 verbose #10760 > > │ v0 = method1() │ 00:09:42 verbose #10761 > > │ v1 = method2(v0) │ 00:09:42 verbose #10762 > > │ del v0 │ 00:09:42 verbose #10763 > > │ v2 = v1 + 2 │ 00:09:42 verbose #10764 > > │ del v1 │ 00:09:42 verbose #10765 > > │ v3 = v2 + 1 │ 00:09:42 verbose #10766 > > │ del v2 │ 00:09:42 verbose #10767 > > │ v4 = v3 == 15 │ 00:09:42 verbose #10768 > > │ if v4: │ 00:09:42 verbose #10769 > > │ v6 = True │ 00:09:42 verbose #10770 > > │ else: │ 00:09:42 verbose #10771 > > │ v6 = method3(v4) │ 00:09:42 verbose #10772 > > │ del v4 │ 00:09:42 verbose #10773 > > │ v13 = "assert_eq" │ 00:09:42 verbose #10774 > > │ v14 = f"{v13} / actual: {v3} / expected: {15}" │ 00:09:42 verbose #10775 > > │ del v3, v13 │ 00:09:42 verbose #10776 > > │ print(v14) │ 00:09:42 verbose #10777 > > │ v25 = v6 == False │ 00:09:42 verbose #10778 > > │ del v6 │ 00:09:42 verbose #10779 > > │ if v25: │ 00:09:42 verbose #10780 > > │ del v25 │ 00:09:42 verbose #10781 > > │ raise Exception(v14) │ 00:09:42 verbose #10782 > > │ else: │ 00:09:42 verbose #10783 > > │ del v14, v25 │ 00:09:42 verbose #10784 > > │ return │ 00:09:42 verbose #10785 > > │ def main(): │ 00:09:42 verbose #10786 > > │ return method0() │ 00:09:42 verbose #10787 > > │ │ 00:09:42 verbose #10788 > > │ if __name__ == '__main__': result = main(); None if result is None else │ 00:09:42 verbose #10789 > > │ print(result) │ 00:09:42 verbose #10790 > > │ │ 00:09:42 verbose #10791 > > │ │ 00:09:42 verbose #10792 > > │ .py: │ 00:09:42 verbose #10793 > > │ kernel = r""" │ 00:09:42 verbose #10794 > > │ """ │ 00:09:42 verbose #10795 > > │ class static_array(): │ 00:09:42 verbose #10796 > > │ def __init__(self, length): │ 00:09:42 verbose #10797 > > │ self.ptr = [] │ 00:09:42 verbose #10798 > > │ for _ in range(length): │ 00:09:42 verbose #10799 > > │ self.ptr.append(None) │ 00:09:42 verbose #10800 > > │ │ 00:09:42 verbose #10801 > > │ def __getitem__(self, index): │ 00:09:42 verbose #10802 > > │ assert 0 <= index < len(self.ptr), "The get index needs to be in │ 00:09:42 verbose #10803 > > │ range." │ 00:09:42 verbose #10804 > > │ return self.ptr[index] │ 00:09:42 verbose #10805 > > │ │ 00:09:42 verbose #10806 > > │ def __setitem__(self, index, value): │ 00:09:42 verbose #10807 > > │ assert 0 <= index < len(self.ptr), "The set index needs to be in │ 00:09:42 verbose #10808 > > │ range." │ 00:09:42 verbose #10809 > > │ self.ptr[index] = value │ 00:09:42 verbose #10810 > > │ │ 00:09:42 verbose #10811 > > │ class static_array_list(static_array): │ 00:09:42 verbose #10812 > > │ def __init__(self, length): │ 00:09:42 verbose #10813 > > │ super().__init__(length) │ 00:09:42 verbose #10814 > > │ self.length = 0 │ 00:09:42 verbose #10815 > > │ │ 00:09:42 verbose #10816 > > │ def __getitem__(self, index): │ 00:09:42 verbose #10817 > > │ assert 0 <= index < self.length, "The get index needs to be in │ 00:09:42 verbose #10818 > > │ range." │ 00:09:42 verbose #10819 > > │ return self.ptr[index] │ 00:09:42 verbose #10820 > > │ │ 00:09:42 verbose #10821 > > │ def __setitem__(self, index, value): │ 00:09:42 verbose #10822 > > │ assert 0 <= index < self.length, "The set index needs to be in │ 00:09:42 verbose #10823 > > │ range." │ 00:09:42 verbose #10824 > > │ self.ptr[index] = value │ 00:09:42 verbose #10825 > > │ │ 00:09:42 verbose #10826 > > │ def push(self,value): │ 00:09:42 verbose #10827 > > │ assert (self.length < len(self.ptr)), "The length before pushing has │ 00:09:42 verbose #10828 > > │ to be less than the maximum length of the array." │ 00:09:42 verbose #10829 > > │ self.ptr[self.length] = value │ 00:09:42 verbose #10830 > > │ self.length += 1 │ 00:09:42 verbose #10831 > > │ │ 00:09:42 verbose #10832 > > │ def pop(self): │ 00:09:42 verbose #10833 > > │ assert (0 < self.length), "The length before popping has to be │ 00:09:42 verbose #10834 > > │ greater than 0." │ 00:09:42 verbose #10835 > > │ self.length -= 1 │ 00:09:42 verbose #10836 > > │ return self.ptr[self.length] │ 00:09:42 verbose #10837 > > │ │ 00:09:42 verbose #10838 > > │ def unsafe_set_length(self,i): │ 00:09:42 verbose #10839 > > │ assert 0 <= i <= len(self.ptr), "The new length has to be in range." │ 00:09:42 verbose #10840 > > │ self.length = i │ 00:09:42 verbose #10841 > > │ │ 00:09:42 verbose #10842 > > │ class dynamic_array(static_array): │ 00:09:42 verbose #10843 > > │ pass │ 00:09:42 verbose #10844 > > │ │ 00:09:42 verbose #10845 > > │ class dynamic_array_list(static_array_list): │ 00:09:42 verbose #10846 > > │ def length_(self): return self.length │ 00:09:42 verbose #10847 > > │ │ 00:09:42 verbose #10848 > > │ import cupy as cp │ 00:09:42 verbose #10849 > > │ from dataclasses import dataclass │ 00:09:42 verbose #10850 > > │ from typing import NamedTuple, Union, Callable, Tuple │ 00:09:42 verbose #10851 > > │ i8 = i16 = i32 = i64 = u8 = u16 = u32 = u64 = int; f32 = f64 = float; char = │ 00:09:42 verbose #10852 > > │ string = str │ 00:09:42 verbose #10853 > > │ │ 00:09:42 verbose #10854 > > │ def method1() -> i32: │ 00:09:42 verbose #10855 > > │ return 3 │ 00:09:42 verbose #10856 > > │ def method2(v0 : i32) -> i32: │ 00:09:42 verbose #10857 > > │ v1 = 9 + v0 │ 00:09:42 verbose #10858 > > │ del v0 │ 00:09:42 verbose #10859 > > │ return v1 │ 00:09:42 verbose #10860 > > │ def method3(v0 : bool) -> bool: │ 00:09:42 verbose #10861 > > │ return v0 │ 00:09:42 verbose #10862 > > │ def method0() -> None: │ 00:09:42 verbose #10863 > > │ v0 = method1() │ 00:09:42 verbose #10864 > > │ v1 = method2(v0) │ 00:09:42 verbose #10865 > > │ del v0 │ 00:09:42 verbose #10866 > > │ v2 = v1 + 2 │ 00:09:42 verbose #10867 > > │ del v1 │ 00:09:42 verbose #10868 > > │ v3 = v2 + 1 │ 00:09:42 verbose #10869 > > │ del v2 │ 00:09:42 verbose #10870 > > │ v4 = v3 == 15 │ 00:09:42 verbose #10871 > > │ if v4: │ 00:09:42 verbose #10872 > > │ v6 = True │ 00:09:42 verbose #10873 > > │ else: │ 00:09:42 verbose #10874 > > │ v6 = method3(v4) │ 00:09:42 verbose #10875 > > │ del v4 │ 00:09:42 verbose #10876 > > │ v13 = "assert_eq" │ 00:09:42 verbose #10877 > > │ v14 = f"{v13} / actual: {v3} / expected: {15}" │ 00:09:42 verbose #10878 > > │ del v3, v13 │ 00:09:42 verbose #10879 > > │ print(v14) │ 00:09:42 verbose #10880 > > │ v25 = v6 == False │ 00:09:42 verbose #10881 > > │ del v6 │ 00:09:42 verbose #10882 > > │ if v25: │ 00:09:42 verbose #10883 > > │ del v25 │ 00:09:42 verbose #10884 > > │ raise Exception(v14) │ 00:09:42 verbose #10885 > > │ else: │ 00:09:42 verbose #10886 > > │ del v14, v25 │ 00:09:42 verbose #10887 > > │ return │ 00:09:42 verbose #10888 > > │ def main(): │ 00:09:42 verbose #10889 > > │ return method0() │ 00:09:42 verbose #10890 > > │ │ 00:09:42 verbose #10891 > > │ if __name__ == '__main__': result = main(); None if result is None else │ 00:09:42 verbose #10892 > > │ print(result) │ 00:09:42 verbose #10893 > > │ │ 00:09:42 verbose #10894 > > │ .fsx output: │ 00:09:42 verbose #10895 > > │ assert_eq / actual: 15 / expected: 15 │ 00:09:42 verbose #10896 > > │ │ 00:09:42 verbose #10897 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10898 > > 00:09:42 verbose #10899 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10900 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10901 > > │ ### retry_fn' │ 00:09:42 verbose #10902 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10903 > > 00:09:42 verbose #10904 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10905 > > inl retry_fn' retries fn = 00:09:42 verbose #10906 > > let rec loop retry = 00:09:42 verbose #10907 > > inl is_error, result = 00:09:42 verbose #10908 > > match fn () with 00:09:42 verbose #10909 > > | Ok x => false, x 00:09:42 verbose #10910 > > | Error x => true, x 00:09:42 verbose #10911 > > if not is_error || retry >= retries 00:09:42 verbose #10912 > > then result 00:09:42 verbose #10913 > > else 00:09:42 verbose #10914 > > trace Debug 00:09:42 verbose #10915 > > fun () => $'"common.retry_fn\' / loop"' 00:09:42 verbose #10916 > > fun () => { is_error retry = $'$"{!retry}/{!retries}"' : string; 00:09:42 verbose #10917 > > result } 00:09:42 verbose #10918 > > loop (retry + 1) 00:09:42 verbose #10919 > > loop 1 00:09:42 verbose #10920 > 00:09:41 debug #557 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/882fc9e50695b909410786adec6ae5cf9932c33f29d7185b3cb2f8637bfc1f0f/main.spi 00:09:42 verbose #10921 > > 00:09:42 verbose #10922 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10923 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10924 > > │ ## fsharp │ 00:09:42 verbose #10925 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10926 > > 00:09:42 verbose #10927 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10928 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10929 > > │ ### upcast │ 00:09:42 verbose #10930 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10931 > > 00:09:42 verbose #10932 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10933 > > inl upcast forall t u. (x : t) : u = 00:09:42 verbose #10934 > > $'!x :> `u ' 00:09:42 verbose #10935 > 00:09:42 debug #558 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/75eb3a94300260d6c14ad7d01d02ff27d57b7f73f6696c0a5cc3c3a03d801c62/main.spi 00:09:42 verbose #10936 > > 00:09:42 verbose #10937 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10938 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10939 > > │ ### downcast │ 00:09:42 verbose #10940 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10941 > > 00:09:42 verbose #10942 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10943 > > inl downcast forall t u. (x : t) : u = 00:09:42 verbose #10944 > > $'!x :?> `u ' 00:09:42 verbose #10945 > 00:09:42 debug #559 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/11f9f131e4dce6aef2b6d9f9708fd69c43e75fdde3e95d8a0f4b7d67714b43db/main.spi 00:09:42 verbose #10946 > > 00:09:42 verbose #10947 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10948 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10949 > > │ ### random │ 00:09:42 verbose #10950 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10951 > > 00:09:42 verbose #10952 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10953 > > nominal random = $'System.Random' 00:09:42 verbose #10954 > > 00:09:42 verbose #10955 > > inl random () : random = 00:09:42 verbose #10956 > > $'`random ' () 00:09:42 verbose #10957 > 00:09:42 debug #560 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9371be023147fb67eb8d89deabe0bc57823c597ce11894a9a10137ecebfdf0c3/main.spi 00:09:42 verbose #10958 > > 00:09:42 verbose #10959 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10960 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10961 > > │ ### random_next │ 00:09:42 verbose #10962 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10963 > > 00:09:42 verbose #10964 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10965 > > inl random_next (min : i32) (max : i32) (random : random) : i32 = 00:09:42 verbose #10966 > > $'!random.Next (!min, !max)' 00:09:42 verbose #10967 > 00:09:42 debug #561 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fae45f02fe3d29a5119308e05369006ff1b915bd9bbbd037fb3e8b99f699a863/main.spi 00:09:42 verbose #10968 > > 00:09:42 verbose #10969 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10970 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10971 > > │ ### disposable │ 00:09:42 verbose #10972 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10973 > > 00:09:42 verbose #10974 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10975 > > nominal disposable t = $"backend_switch `({ Fsharp : $'System.IDisposable'; 00:09:42 verbose #10976 > > Python : $'object' })" 00:09:42 verbose #10977 > 00:09:42 debug #562 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7a9acbf289349c6bc32603ecd705aff434bcbbd3ec83d21870ad442148738e14/main.spi 00:09:42 verbose #10978 > > 00:09:42 verbose #10979 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10980 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10981 > > │ ### dispose │ 00:09:42 verbose #10982 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10983 > > 00:09:42 verbose #10984 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10985 > > inl dispose (disposable : disposable _) : () = 00:09:42 verbose #10986 > > backend_switch { 00:09:42 verbose #10987 > > Fsharp = fun () => disposable |> $'_.Dispose()' : () 00:09:42 verbose #10988 > > Python = fun () => $'!disposable.__exit__(None, None, None)' : () 00:09:42 verbose #10989 > > } 00:09:42 verbose #10990 > 00:09:42 debug #563 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ceb7ae63b5bd6c0454c1bb9cb34e046a7ca8ad57e55b1b7ffdea2ce19faa07c3/main.spi 00:09:42 verbose #10991 > > 00:09:42 verbose #10992 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:42 verbose #10993 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:42 verbose #10994 > > │ ### return │ 00:09:42 verbose #10995 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:42 verbose #10996 > > 00:09:42 verbose #10997 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:42 verbose #10998 > > inl return forall t. (x : t) : () = 00:09:42 verbose #10999 > > $'return !x ' 00:09:42 verbose #11000 > > 00:09:42 verbose #11001 > > inl return' forall t. (x : t) : t = 00:09:42 verbose #11002 > > $'return !x ' 00:09:42 verbose #11003 > 00:09:42 debug #564 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/51b9a5c731b8d2f2801f12525c9fd86cdbe3ba34ac30eb27bff0cb796847d463/main.spi 00:09:43 verbose #11004 > > 00:09:43 verbose #11005 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:09:43 verbose #11006 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:09:43 verbose #11007 > > │ ### retry_fn │ 00:09:43 verbose #11008 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:43 verbose #11009 > > 00:09:43 verbose #11010 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:43 verbose #11011 > > inl retry_fn forall t. retries (fn : () -> t) : option t = 00:09:43 verbose #11012 > > let rec loop retry = 00:09:43 verbose #11013 > > try 00:09:43 verbose #11014 > > fun () => 00:09:43 verbose #11015 > > if retry < retries 00:09:43 verbose #11016 > > then fn () |> Some 00:09:43 verbose #11017 > > else None 00:09:43 verbose #11018 > > fun ex => 00:09:43 verbose #11019 > > trace Warning 00:09:43 verbose #11020 > > fun () => "common.retry_fn" 00:09:43 verbose #11021 > > fun () => { retry ex } 00:09:43 verbose #11022 > > None 00:09:43 verbose #11023 > > |> function 00:09:43 verbose #11024 > > | Some x => x 00:09:43 verbose #11025 > > | None => loop (retry + 1) 00:09:43 verbose #11026 > > loop 0 00:09:43 verbose #11027 > 00:09:42 debug #565 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a81dda996058f5fed40219e2c0d6bff93e0233e1d108b49193e30dc1773b4f8f/main.spi 00:09:43 verbose #11028 > > 00:09:43 verbose #11029 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:43 verbose #11030 > > //// test 00:09:43 verbose #11031 > > ///! fsharp 00:09:43 verbose #11032 > > ////! cuda // v3 = $"retry: {v0} / ex: %A{v1} / {v2 ()}" 00:09:43 verbose #11033 > > ///! rust 00:09:43 verbose #11034 > > ///! typescript 00:09:43 verbose #11035 > > ///! python 00:09:43 verbose #11036 > > 00:09:43 verbose #11037 > > inl retry_fn_test = mut 0i32 00:09:43 verbose #11038 > > fun () => 00:09:43 verbose #11039 > > retry_fn_test <- *retry_fn_test + 1 00:09:43 verbose #11040 > > *retry_fn_test 00:09:43 verbose #11041 > > |> retry_fn 3i32 00:09:43 verbose #11042 > > |> _assert_eq' (Some 1i32) 00:09:43 verbose #11043 > 00:09:42 debug #566 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cf1de30180202439bb49139d961a5583df727a47f6c74ab86d520524f5276be9/main.spi 00:09:55 verbose #11044 > > 00:09:55 verbose #11045 > > ╭─[ 12.59s - return value ]────────────────────────────────────────────────────╮ 00:09:55 verbose #11046 > > │ .rs output: │ 00:09:55 verbose #11047 > > │ assert_eq' / actual: US0_0(1) / expected: US0_0(1) │ 00:09:55 verbose #11048 > > │ │ 00:09:55 verbose #11049 > > │ .ts output: │ 00:09:55 verbose #11050 > > │ assert_eq' / actual: US0_0 1 / expected: US0_0 1 │ 00:09:55 verbose #11051 > > │ │ 00:09:55 verbose #11052 > > │ .py output: │ 00:09:55 verbose #11053 > > │ assert_eq' / actual: US0_0 1 / expected: US0_0 1 │ 00:09:55 verbose #11054 > > │ │ 00:09:55 verbose #11055 > > │ │ 00:09:55 verbose #11056 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:55 verbose #11057 > > 00:09:55 verbose #11058 > > ╭─[ 12.59s - stdout ]──────────────────────────────────────────────────────────╮ 00:09:55 verbose #11059 > > │ .fsx output: │ 00:09:55 verbose #11060 > > │ assert_eq' / actual: US0_0 1 / expected: US0_0 1 │ 00:09:55 verbose #11061 > > │ │ 00:09:55 verbose #11062 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:09:55 verbose #11063 > > 00:09:55 verbose #11064 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:09:55 verbose #11065 > > //// test 00:09:55 verbose #11066 > > ///! fsharp 00:09:55 verbose #11067 > > ////! cuda // v3 = $"retry: {v0} / ex: %A{v1} / {v2 ()}" 00:09:55 verbose #11068 > > ///! rust 00:09:55 verbose #11069 > > ///! typescript 00:09:55 verbose #11070 > > ///! python 00:09:55 verbose #11071 > > 00:09:55 verbose #11072 > > inl retry_fn_test = mut 0i32 00:09:55 verbose #11073 > > fun () => 00:09:55 verbose #11074 > > if *retry_fn_test >= 2 00:09:55 verbose #11075 > > then *retry_fn_test 00:09:55 verbose #11076 > > else 00:09:55 verbose #11077 > > retry_fn_test <- *retry_fn_test + 1 00:09:55 verbose #11078 > > failwith "test" 00:09:55 verbose #11079 > > |> retry_fn 3i32 00:09:55 verbose #11080 > > |> _assert_eq' (Some 2i32) 00:09:55 verbose #11081 > 00:09:55 debug #567 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/caaaa1c5653b1627f514dc0c0892e03375ad19d8ef4ac77e77ec84058ae1db03/main.spi 00:10:08 verbose #11082 > > 00:10:08 verbose #11083 > > ╭─[ 12.31s - return value ]────────────────────────────────────────────────────╮ 00:10:08 verbose #11084 > > │ │ 00:10:08 verbose #11085 > > │ .rs output: │ 00:10:08 verbose #11086 > > │ 00:00:00 warning #1 common.retry_fn / { retry = 0; ex = Exception { │ 00:10:08 verbose #11087 > > │ message: "test" } } │ 00:10:08 verbose #11088 > > │ 00:00:00 warning #2 common.retry_fn / { retry = 1; ex = Exception { │ 00:10:08 verbose #11089 > > │ message: "test" } } │ 00:10:08 verbose #11090 > > │ assert_eq' / actual: US0_0(2) / expected: US0_0(2) │ 00:10:08 verbose #11091 > > │ │ 00:10:08 verbose #11092 > > │ │ 00:10:08 verbose #11093 > > │ .ts output: │ 00:10:08 verbose #11094 > > │ 00:00:00 warning #1 common.retry_fn / { retry = 0; ex = Error: test } │ 00:10:08 verbose #11095 > > │ 00:00:00 warning #2 common.retry_fn / { retry = 1; ex = Error: test } │ 00:10:08 verbose #11096 > > │ assert_eq' / actual: US0_0 2 / expected: US0_0 2 │ 00:10:08 verbose #11097 > > │ │ 00:10:08 verbose #11098 > > │ │ 00:10:08 verbose #11099 > > │ .py output: │ 00:10:08 verbose #11100 > > │ 00:00:00 warning #1 common.retry_fn / { retry = 0; ex = test } │ 00:10:08 verbose #11101 > > │ 00:00:00 warning #2 common.retry_fn / { retry = 1; ex = test } │ 00:10:08 verbose #11102 > > │ assert_eq' / actual: US0_0 2 / expected: US0_0 2 │ 00:10:08 verbose #11103 > > │ │ 00:10:08 verbose #11104 > > │ │ 00:10:08 verbose #11105 > > │ │ 00:10:08 verbose #11106 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:08 verbose #11107 > > 00:10:08 verbose #11108 > > ╭─[ 12.32s - stdout ]──────────────────────────────────────────────────────────╮ 00:10:08 verbose #11109 > > │ .fsx output: │ 00:10:08 verbose #11110 > > │ 00:00:00 warning #1 common.retry_fn / { retry = 0; ex = │ 00:10:08 verbose #11111 > > │ System.Exception: test │ 00:10:08 verbose #11112 > > │ at FSI_0031.closure1(Mut0 v0, Int32 v1, Unit unitVar2) │ 00:10:08 verbose #11113 > > │ at FSI_0031.method1(Mut0 v0, Int32 v1) } │ 00:10:08 verbose #11114 > > │ 00:00:00 warning #2 common.retry_fn / { retry = 1; ex = │ 00:10:08 verbose #11115 > > │ System.Exception: test │ 00:10:08 verbose #11116 > > │ at FSI_0031.closure1(Mut0 v0, Int32 v1, Unit unitVar2) │ 00:10:08 verbose #11117 > > │ at FSI_0031.method1(Mut0 v0, Int32 v1) } │ 00:10:08 verbose #11118 > > │ assert_eq' / actual: US0_0 2 / expected: US0_0 2 │ 00:10:08 verbose #11119 > > │ │ 00:10:08 verbose #11120 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:08 verbose #11121 > > 00:10:08 verbose #11122 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:08 verbose #11123 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:08 verbose #11124 > > │ ## common │ 00:10:08 verbose #11125 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:08 verbose #11126 > > 00:10:08 verbose #11127 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:08 verbose #11128 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:08 verbose #11129 > > │ ### random' │ 00:10:08 verbose #11130 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:08 verbose #11131 > > 00:10:08 verbose #11132 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:08 verbose #11133 > > inl random' forall t. (min : t) (max : t) : t = 00:10:08 verbose #11134 > > run_target function 00:10:08 verbose #11135 > > | Rust (Contract) => fun () => 00:10:08 verbose #11136 > > failwith "common.random' / target=Rust(Contract)" 00:10:08 verbose #11137 > > | Rust _ => fun () => 00:10:08 verbose #11138 > > open rust.rust_operators 00:10:08 verbose #11139 > > !\\((min, max), $'"rand::Rng::gen_range(&mut rand::thread_rng(), 00:10:08 verbose #11140 > > $0..$1)"') 00:10:08 verbose #11141 > > | _ => fun () => 00:10:08 verbose #11142 > > random () |> random_next (i32 min) (i32 max) |> convert 00:10:08 verbose #11143 > 00:10:07 debug #568 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/83aeabaf8b0e88c5d003b6cce9d9a54ba723723901ccaca47d58da1f20445fc6/main.spi 00:10:08 verbose #11144 > > 00:10:08 verbose #11145 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:08 verbose #11146 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:08 verbose #11147 > > │ ### new_disposable │ 00:10:08 verbose #11148 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:08 verbose #11149 > > 00:10:08 verbose #11150 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:08 verbose #11151 > > inl new_disposable (fn : () -> ()) : disposable _ = 00:10:08 verbose #11152 > > run_target function 00:10:08 verbose #11153 > > | Rust _ => fun () => 00:10:08 verbose #11154 > > global "type Disposable (f : unit -> unit) = interface 00:10:08 verbose #11155 > > System.IDisposable with member _.Dispose () = f ()" 00:10:08 verbose #11156 > > inl fn = join fn 00:10:08 verbose #11157 > > $'new Disposable (fun () -> Fable.Core.RustInterop.emitRustExpr !fn 00:10:08 verbose #11158 > > "$0()" )' 00:10:08 verbose #11159 > > | Fsharp _ | TypeScript _ | Python _ => fun () => 00:10:08 verbose #11160 > > inl fn = join fn 00:10:08 verbose #11161 > > $'{ new System.IDisposable with member _.Dispose () = !fn () }' 00:10:08 verbose #11162 > > | Cuda _ => fun () => 00:10:08 verbose #11163 > > $'class Disposable:' 00:10:08 verbose #11164 > > $' def __init__(self, fn):' 00:10:08 verbose #11165 > > $' self.fn = fn' 00:10:08 verbose #11166 > > $' def __exit__(self, exc_type, exc_value, traceback):' 00:10:08 verbose #11167 > > $' self.fn()' 00:10:08 verbose #11168 > > $' return False' 00:10:08 verbose #11169 > > $'Disposable(!fn)' 00:10:08 verbose #11170 > > | _ => fun () => null () 00:10:08 verbose #11171 > 00:10:07 debug #569 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22d0ad3d2fd42a7f60ede600dfd3179997d1892c332c73183fbb02430d147882/main.spi 00:10:08 verbose #11172 > > 00:10:08 verbose #11173 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:08 verbose #11174 > > //// test 00:10:08 verbose #11175 > > ///! fsharp 00:10:08 verbose #11176 > > ///! cuda 00:10:08 verbose #11177 > > ///! rust 00:10:08 verbose #11178 > > ///! typescript 00:10:08 verbose #11179 > > ///! python 00:10:08 verbose #11180 > > 00:10:08 verbose #11181 > > inl new_disposable_test = mut 0i32 00:10:08 verbose #11182 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1 00:10:08 verbose #11183 > > |> fun x => x : disposable () 00:10:08 verbose #11184 > > |> dispose 00:10:08 verbose #11185 > > *new_disposable_test |> _assert_eq 1 00:10:08 verbose #11186 > 00:10:07 debug #570 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0958cdd9c712348e2aef8c595a237a5745fde4d18c2aa95301eec8dc2dda28d2/main.spi 00:10:08 verbose #11187 > 00:10:07 debug #571 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1413dbf9139b92942f1b491b5521983cae564d50a49c6820517cf70aabda45ae/main.spi 00:10:19 verbose #11188 > > 00:10:19 verbose #11189 > > ╭─[ 11.11s - return value ]────────────────────────────────────────────────────╮ 00:10:19 verbose #11190 > > │ .py output (Cuda): │ 00:10:19 verbose #11191 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11192 > > │ │ 00:10:19 verbose #11193 > > │ .rs output: │ 00:10:19 verbose #11194 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11195 > > │ │ 00:10:19 verbose #11196 > > │ .ts output: │ 00:10:19 verbose #11197 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11198 > > │ │ 00:10:19 verbose #11199 > > │ .py output: │ 00:10:19 verbose #11200 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11201 > > │ │ 00:10:19 verbose #11202 > > │ │ 00:10:19 verbose #11203 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:19 verbose #11204 > > 00:10:19 verbose #11205 > > ╭─[ 11.11s - stdout ]──────────────────────────────────────────────────────────╮ 00:10:19 verbose #11206 > > │ .fsx output: │ 00:10:19 verbose #11207 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11208 > > │ │ 00:10:19 verbose #11209 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:19 verbose #11210 > > 00:10:19 verbose #11211 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:19 verbose #11212 > > //// test 00:10:19 verbose #11213 > > 00:10:19 verbose #11214 > > inl new_disposable_test = mut 0i32 00:10:19 verbose #11215 > > fun () => 00:10:19 verbose #11216 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1 00:10:19 verbose #11217 > > |> fun x => x : disposable () 00:10:19 verbose #11218 > > |> use 00:10:19 verbose #11219 > > |> ignore 00:10:19 verbose #11220 > > |> return 00:10:19 verbose #11221 > > |> async.new_task 00:10:19 verbose #11222 > > |> async.await_task 00:10:19 verbose #11223 > > |> async.run_synchronously 00:10:19 verbose #11224 > > *new_disposable_test |> _assert_eq 1 00:10:19 verbose #11225 > 00:10:18 debug #572 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d374876d87c14e8bbb7c8d322dd6bd22c8dee4a75eefa0ec1ac1b0761b4fd09/main.spi 00:10:19 verbose #11226 > > 00:10:19 verbose #11227 > > ╭─[ 177.74ms - stdout ]────────────────────────────────────────────────────────╮ 00:10:19 verbose #11228 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11229 > > │ │ 00:10:19 verbose #11230 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:19 verbose #11231 > > 00:10:19 verbose #11232 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:19 verbose #11233 > > //// test 00:10:19 verbose #11234 > > 00:10:19 verbose #11235 > > inl new_disposable_test = mut 0i32 00:10:19 verbose #11236 > > fun () => 00:10:19 verbose #11237 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1 00:10:19 verbose #11238 > > |> fun x => x : disposable () 00:10:19 verbose #11239 > > |> use 00:10:19 verbose #11240 > > |> ignore 00:10:19 verbose #11241 > > |> return 00:10:19 verbose #11242 > > |> async.new_async 00:10:19 verbose #11243 > > |> async.run_synchronously 00:10:19 verbose #11244 > > *new_disposable_test |> _assert_eq 1 00:10:19 verbose #11245 > 00:10:19 debug #573 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/49def03d1c32c73d0134327b1eb5438b2af0f9a50c6ce738815b5294a1ed303d/main.spi 00:10:19 verbose #11246 > > 00:10:19 verbose #11247 > > ╭─[ 114.75ms - stdout ]────────────────────────────────────────────────────────╮ 00:10:19 verbose #11248 > > │ assert_eq / actual: 1 / expected: 1 │ 00:10:19 verbose #11249 > > │ │ 00:10:19 verbose #11250 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:19 verbose #11251 > > 00:10:19 verbose #11252 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:19 verbose #11253 > > //// test 00:10:19 verbose #11254 > > 00:10:19 verbose #11255 > > inl new_disposable_test = mut 0i32 00:10:19 verbose #11256 > > fun () => 00:10:19 verbose #11257 > > new_disposable fun () => new_disposable_test <- *new_disposable_test + 1 00:10:19 verbose #11258 > > |> fun x => x : disposable () 00:10:19 verbose #11259 > > |> ignore 00:10:19 verbose #11260 > > |> return 00:10:19 verbose #11261 > > |> async.new_async 00:10:19 verbose #11262 > > |> async.run_synchronously 00:10:19 verbose #11263 > > *new_disposable_test |> _assert_eq 0 00:10:19 verbose #11264 > 00:10:19 debug #574 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cf94afbd9f5910b6835cf8e56285dd1a802ffca539a68b6c18d8213239821f8b/main.spi 00:10:19 verbose #11265 > > 00:10:19 verbose #11266 > > ╭─[ 155.37ms - stdout ]────────────────────────────────────────────────────────╮ 00:10:19 verbose #11267 > > │ assert_eq / actual: 0 / expected: 0 │ 00:10:19 verbose #11268 > > │ │ 00:10:19 verbose #11269 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:19 verbose #11270 > > 00:10:19 verbose #11271 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:19 verbose #11272 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:19 verbose #11273 > > │ ## main │ 00:10:19 verbose #11274 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:19 verbose #11275 > > 00:10:19 verbose #11276 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:19 verbose #11277 > > inl main () = 00:10:19 verbose #11278 > > init_trace_state None 00:10:19 verbose #11279 > > inl new_disposable x : _ () = new_disposable x 00:10:19 verbose #11280 > > $'let new_disposable x = !new_disposable x' : () 00:10:19 verbose #11281 > > inl retry_fn (r : i32) (x : () -> _) : optionm'.option' () = retry_fn r x |> 00:10:19 verbose #11282 > > optionm'.box 00:10:19 verbose #11283 > > $'let retry_fn x = !retry_fn x' : () 00:10:19 verbose #11284 > > inl memoize (fn : () -> ()) : () -> () = memoize fn 00:10:19 verbose #11285 > > $'let memoize x = !memoize x' : () 00:10:19 verbose #11286 > 00:10:19 debug #575 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ad3da2a151ced47f1b54c04ea15750392ee2b28bc8c6c509db18c3bc9f1abf7d/main.spi 00:10:20 verbose #11287 > 00:01:40 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 147678 } 00:10:20 verbose #11288 > 00:01:40 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:20 verbose #11289 > 00:01:40 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/common.dib.ipynb to html 00:10:20 verbose #11290 > 00:01:40 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:10:20 verbose #11291 > 00:01:40 verbose #7 ! validate(nb) 00:10:21 verbose #11292 > 00:01:41 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:10:21 verbose #11293 > 00:01:41 verbose #9 ! return _pygments_highlight( 00:10:21 verbose #11294 > 00:01:41 verbose #10 ! [NbConvertApp] Writing 364064 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/common.dib.html 00:10:21 verbose #11295 > 00:01:41 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 896 } 00:10:21 verbose #11296 > 00:01:41 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 896 } 00:10:21 verbose #11297 > 00:01:41 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/common.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:21 verbose #11298 > 00:01:41 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:10:21 verbose #11299 > 00:01:41 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:10:21 verbose #11300 > 00:01:41 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 148633 } 00:10:21 debug #11301 runtime.execute_with_options_async / { exit_code = 0; output_length = 154726 } 00:10:21 debug #13 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path common.dib --retries 3 00:10:21 debug #11302 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path resultm.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:21 verbose #11303 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "resultm.dib", "--retries", "3"])) } 00:10:21 verbose #11304 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:10:23 verbose #11305 > > 00:10:23 verbose #11306 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:23 verbose #11307 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:23 verbose #11308 > > │ # resultm │ 00:10:23 verbose #11309 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:25 verbose #11310 > > 00:10:25 verbose #11311 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:25 verbose #11312 > > open rust 00:10:25 verbose #11313 > > open rust_operators 00:10:26 verbose #11314 > 00:10:25 debug #576 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd47537238fcdc924c2a6b0a99d4f87ecbbde40a43ba8772a0907b5bf4a50e9d/main.spi 00:10:26 verbose #11315 > > 00:10:26 verbose #11316 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11317 > > //// test 00:10:26 verbose #11318 > > 00:10:26 verbose #11319 > > open testing 00:10:26 verbose #11320 > 00:10:26 debug #577 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f990f43922e45080129606975ec74b3f88780cb3b27c2ae1151c776db6e5e262/main.spi 00:10:26 verbose #11321 > > 00:10:26 verbose #11322 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11323 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11324 > > │ ## resultm │ 00:10:26 verbose #11325 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11326 > > 00:10:26 verbose #11327 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11328 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11329 > > │ ### from_option_error │ 00:10:26 verbose #11330 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11331 > > 00:10:26 verbose #11332 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11333 > > inl from_option_error error opt = 00:10:26 verbose #11334 > > match opt with 00:10:26 verbose #11335 > > | Some x => Ok x 00:10:26 verbose #11336 > > | None => Error error 00:10:26 verbose #11337 > 00:10:26 debug #578 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ee5fd5ad991a56e0c139b9132097a8d11dfcfb1582a85a77a76a50e8cf273832/main.spi 00:10:26 verbose #11338 > > 00:10:26 verbose #11339 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11340 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11341 > > │ ### from_option │ 00:10:26 verbose #11342 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11343 > > 00:10:26 verbose #11344 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11345 > > inl from_option opt = 00:10:26 verbose #11346 > > opt |> from_option_error "resultm.from_option / Option does not have a 00:10:26 verbose #11347 > > value." 00:10:26 verbose #11348 > 00:10:26 debug #579 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b23332dcd3fbac6d1a091e89e5b34aff731cad6d7bbcb091da4c4bc9b6fb082b/main.spi 00:10:26 verbose #11349 > > 00:10:26 verbose #11350 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11351 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11352 > > │ ### flatten_option │ 00:10:26 verbose #11353 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11354 > > 00:10:26 verbose #11355 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11356 > > inl flatten_option forall t u. (x : option (result (option t) u)) : result 00:10:26 verbose #11357 > > (option t) u = 00:10:26 verbose #11358 > > match x with 00:10:26 verbose #11359 > > | Some (Error x) => Error x 00:10:26 verbose #11360 > > | Some (Ok (Some x)) => Ok (Some x) 00:10:26 verbose #11361 > > | _ => Ok None 00:10:26 verbose #11362 > 00:10:26 debug #580 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ad42673f2d2b034c37499af2bd9fd4f4a70bcf533e428b50c3ec7916b54cecd/main.spi 00:10:26 verbose #11363 > > 00:10:26 verbose #11364 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11365 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11366 > > │ ### flatten │ 00:10:26 verbose #11367 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11368 > > 00:10:26 verbose #11369 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11370 > > inl flatten forall t u. (x : result (result t u) u) : result t u = 00:10:26 verbose #11371 > > match x with 00:10:26 verbose #11372 > > | Ok x => x 00:10:26 verbose #11373 > > | Error x => Error x 00:10:26 verbose #11374 > 00:10:26 debug #581 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/867244ee0c628497596700ed8dad3e2da46db1f3fbf41f262ee19f486c872ba6/main.spi 00:10:26 verbose #11375 > > 00:10:26 verbose #11376 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11377 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11378 > > │ ### get │ 00:10:26 verbose #11379 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11380 > > 00:10:26 verbose #11381 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11382 > > inl get forall t e. (source : result t e) : t = 00:10:26 verbose #11383 > > match source with 00:10:26 verbose #11384 > > | Ok x => x 00:10:26 verbose #11385 > > | Error x => failwith $'$"resultm.get / Result value was Error: {!x}"' 00:10:26 verbose #11386 > 00:10:26 debug #582 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2b1b8c022ae89c5802a3d57b9fc70b8de1c5d9cfed30363d9de9e03085079c82/main.spi 00:10:26 verbose #11387 > > 00:10:26 verbose #11388 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:26 verbose #11389 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:26 verbose #11390 > > │ ### map │ 00:10:26 verbose #11391 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:26 verbose #11392 > > 00:10:26 verbose #11393 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:26 verbose #11394 > > inl map forall t e u. (fn : t -> u) (source : result t e) : result u e = 00:10:26 verbose #11395 > > match source with 00:10:26 verbose #11396 > > | Ok x => x |> fn |> Ok 00:10:26 verbose #11397 > > | Error x => Error x 00:10:26 verbose #11398 > 00:10:26 debug #583 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7cd35ff9f7c4c565237daa5b6de0786b1c78e6828005906fbaff0cf066bc8ee1/main.spi 00:10:27 verbose #11399 > > 00:10:27 verbose #11400 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11401 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11402 > > │ ### map_error │ 00:10:27 verbose #11403 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11404 > > 00:10:27 verbose #11405 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11406 > > inl map_error forall t e u. (fn : e -> u) (source : result t e) : result t u = 00:10:27 verbose #11407 > > match source with 00:10:27 verbose #11408 > > | Ok x => Ok x 00:10:27 verbose #11409 > > | Error x => x |> fn |> Error 00:10:27 verbose #11410 > 00:10:26 debug #584 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b325b4de0be1802a17eaa1ab31a364a00373994c0024144e7e7a4bfc5a425927/main.spi 00:10:27 verbose #11411 > > 00:10:27 verbose #11412 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11413 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11414 > > │ ### unwrap_err │ 00:10:27 verbose #11415 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11416 > > 00:10:27 verbose #11417 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11418 > > inl unwrap_err forall t u. (x : result t u) : u = 00:10:27 verbose #11419 > > match x with 00:10:27 verbose #11420 > > | Ok x => failwith $'$"resultm.unwrap_err / x: {!x}"' 00:10:27 verbose #11421 > > | Error x => x 00:10:27 verbose #11422 > 00:10:26 debug #585 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/607b3f3457ceebfc36e95aeb74fa5699209aa33932c1586d63acd29db70fb9cf/main.spi 00:10:27 verbose #11423 > > 00:10:27 verbose #11424 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11425 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11426 > > │ ### ok │ 00:10:27 verbose #11427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11428 > > 00:10:27 verbose #11429 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11430 > > inl ok forall t. (x : result t _) : option t = 00:10:27 verbose #11431 > > match x with 00:10:27 verbose #11432 > > | Ok x => Some x 00:10:27 verbose #11433 > > | Error _ => None 00:10:27 verbose #11434 > 00:10:26 debug #586 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3502f738ff527c53ef2b2c24599e7536c506619465eb2431b401ce53f9dfface/main.spi 00:10:27 verbose #11435 > > 00:10:27 verbose #11436 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11437 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11438 > > │ ## fsharp │ 00:10:27 verbose #11439 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11440 > > 00:10:27 verbose #11441 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11442 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11443 > > │ ### result' │ 00:10:27 verbose #11444 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11445 > > 00:10:27 verbose #11446 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11447 > > nominal result' t u = $'Result<`t, `u>' 00:10:27 verbose #11448 > 00:10:26 debug #587 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b8e74dfbc649b8eab1367dc2a78675c778d8a15ba46b2c7146557c32c27b00ec/main.spi 00:10:27 verbose #11449 > > 00:10:27 verbose #11450 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11451 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11452 > > │ ### unbox │ 00:10:27 verbose #11453 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11454 > > 00:10:27 verbose #11455 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11456 > > inl unbox forall t u. (x : result' t u) : result t u = 00:10:27 verbose #11457 > > inl ok x : result t u = Ok x 00:10:27 verbose #11458 > > inl error x : result t u = Error x 00:10:27 verbose #11459 > > real 00:10:27 verbose #11460 > > typecase t with 00:10:27 verbose #11461 > > | () => $'match !x with Ok () -> !ok () | Error x -> !error x' : result 00:10:27 verbose #11462 > > t u 00:10:27 verbose #11463 > > | _ => $'match !x with Ok x -> !ok x | Error x -> !error x' : result t u 00:10:27 verbose #11464 > 00:10:26 debug #588 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1d47e3bda6787db254764074903d0aa57f9c39410b02ec5780360b52a11a5234/main.spi 00:10:27 verbose #11465 > > 00:10:27 verbose #11466 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11467 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11468 > > │ ### box │ 00:10:27 verbose #11469 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11470 > > 00:10:27 verbose #11471 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11472 > > inl box forall t u. (x : result t u) : result' t u = 00:10:27 verbose #11473 > > match x with 00:10:27 verbose #11474 > > | Ok x => $'Ok !x ' 00:10:27 verbose #11475 > > | Error err => $'Error !err ' 00:10:27 verbose #11476 > 00:10:27 debug #589 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/32d156e4ab2ecd6686abe06b7dcdf36dd5a3ab9096154764b23afdbd6df27558/main.spi 00:10:27 verbose #11477 > > 00:10:27 verbose #11478 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11479 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11480 > > │ ## rust │ 00:10:27 verbose #11481 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11482 > > 00:10:27 verbose #11483 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11484 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11485 > > │ ### try' │ 00:10:27 verbose #11486 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11487 > > 00:10:27 verbose #11488 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11489 > > inl try' forall t u. (x : result' t u) : t = 00:10:27 verbose #11490 > > !\\(x, $'"$0?"') 00:10:27 verbose #11491 > 00:10:27 debug #590 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9db85d41290af3b2afdfeedcd9a04e105190eeb19a651bda2124db88c6cd5aa1/main.spi 00:10:27 verbose #11492 > > 00:10:27 verbose #11493 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11494 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11495 > > │ ### to_try │ 00:10:27 verbose #11496 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11497 > > 00:10:27 verbose #11498 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11499 > > inl to_try forall t u. (x : result' t u) : rust.try t = 00:10:27 verbose #11500 > > !\\(x, $'"$0"') 00:10:27 verbose #11501 > 00:10:27 debug #591 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c9c417b2b64ce48aa23849de11437f3c0db11e83eaccb2b5fda96035b4c5e75f/main.spi 00:10:27 verbose #11502 > > 00:10:27 verbose #11503 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11504 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11505 > > │ ### unwrap' │ 00:10:27 verbose #11506 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11507 > > 00:10:27 verbose #11508 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11509 > > inl unwrap' forall t u. (x : result' t u) : t = 00:10:27 verbose #11510 > > !\\(x, $'"$0.unwrap()"') 00:10:27 verbose #11511 > 00:10:27 debug #592 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/47d114ad00be1f38eed4ed30aa2a79c02f33ecd030c1dec7746bae874703b452/main.spi 00:10:27 verbose #11512 > > 00:10:27 verbose #11513 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11514 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11515 > > │ ### unbox' │ 00:10:27 verbose #11516 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11517 > > 00:10:27 verbose #11518 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11519 > > inl unbox' forall t u. (x : result' t u) : result t u = 00:10:27 verbose #11520 > > inl ok x : result t u = Ok x 00:10:27 verbose #11521 > > inl ok = join ok 00:10:27 verbose #11522 > > inl error x : result t u = Error x 00:10:27 verbose #11523 > > inl error = join error 00:10:27 verbose #11524 > > real 00:10:27 verbose #11525 > > typecase t with 00:10:27 verbose #11526 > > | () => 00:10:27 verbose #11527 > > (~!\\) 00:10:27 verbose #11528 > > `((result' t u -> result t u) * (result' t u -> result t u)) 00:10:27 verbose #11529 > > `(result t u) 00:10:27 verbose #11530 > > ((ok, error), ($'"match !x { Ok(()) => $0(()), Err(e) => $1(e) 00:10:27 verbose #11531 > > }"' : string)) 00:10:27 verbose #11532 > > | _ => 00:10:27 verbose #11533 > > (~!\\) 00:10:27 verbose #11534 > > `((result' t u -> result t u) * (result' t u -> result t u)) 00:10:27 verbose #11535 > > `(result t u) 00:10:27 verbose #11536 > > ((ok, error), ($'"match !x { Ok(x) => $0(x), Err(e) => $1(e) }"' 00:10:27 verbose #11537 > > : string)) 00:10:27 verbose #11538 > 00:10:27 debug #593 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/56a6608decdee8db5bfd29f0fff47464b5a74902dd09d22d3d3cbb2ec7f5d136/main.spi 00:10:27 verbose #11539 > > 00:10:27 verbose #11540 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11541 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11542 > > │ ### map' │ 00:10:27 verbose #11543 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11544 > > 00:10:27 verbose #11545 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11546 > > inl map' forall t e u. (fn : t -> u) (source : result' t e) : result' u e = 00:10:27 verbose #11547 > > (!\\(source, $'"true; let _result = $0.map(|x| { //"') : bool) |> ignore 00:10:27 verbose #11548 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore 00:10:27 verbose #11549 > > !\($'"_result"') 00:10:27 verbose #11550 > 00:10:27 debug #594 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d01e8f6f8cd2ae97f2480aac5dc2cfc995a1e615fb633d61e46b8db8c7101d99/main.spi 00:10:27 verbose #11551 > > 00:10:27 verbose #11552 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:27 verbose #11553 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:27 verbose #11554 > > │ ### map'' │ 00:10:27 verbose #11555 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:27 verbose #11556 > > 00:10:27 verbose #11557 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:27 verbose #11558 > > inl map'' forall t e u. (fn : t -> u) (source : result' t e) : result' u e = 00:10:27 verbose #11559 > > inl fn = join fn 00:10:27 verbose #11560 > > inl source = join source 00:10:27 verbose #11561 > > !\($'"!source.map(|x| !fn(x))"') 00:10:27 verbose #11562 > 00:10:27 debug #595 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22c3add9f916ba1e78f4dde36cd2539585f7b85eea0da1ed4db4a452974a4b6d/main.spi 00:10:28 verbose #11563 > > 00:10:28 verbose #11564 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11565 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11566 > > │ ### map_error' │ 00:10:28 verbose #11567 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11568 > > 00:10:28 verbose #11569 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11570 > > inl map_error' forall t e u. (fn : e -> u) (source : result' t e) : result' t u 00:10:28 verbose #11571 > > = 00:10:28 verbose #11572 > > inl fn = join fn 00:10:28 verbose #11573 > > !\\((source, fn), $'"$0.map_err(|x| $1(x))"') 00:10:28 verbose #11574 > 00:10:27 debug #596 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3536538aa432cb654a809797929bd53bad3e3722ce5f06f4be03ccf3ee2698ee/main.spi 00:10:28 verbose #11575 > > 00:10:28 verbose #11576 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11577 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11578 > > │ ### map_error'' │ 00:10:28 verbose #11579 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11580 > > 00:10:28 verbose #11581 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11582 > > inl map_error'' forall t e u. (fn : e -> u) (source : result' t e) : result' t u 00:10:28 verbose #11583 > > = 00:10:28 verbose #11584 > > (!\\(source, $'"true; let _result = $0.map_err(|x| { //"') : bool) |> ignore 00:10:28 verbose #11585 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore 00:10:28 verbose #11586 > > !\($'"_result"') 00:10:28 verbose #11587 > 00:10:27 debug #597 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c8424a60324fce6913a9adca14bf455e26b2a8aed53eff99b37bdce0136d4193/main.spi 00:10:28 verbose #11588 > > 00:10:28 verbose #11589 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11590 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11591 > > │ ### option_ok_or │ 00:10:28 verbose #11592 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11593 > > 00:10:28 verbose #11594 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11595 > > inl option_ok_or forall t e. (e : e) (source : optionm'.option' t) : result' t e 00:10:28 verbose #11596 > > = 00:10:28 verbose #11597 > > !\\(source, $'"$0.ok_or(!e)"') 00:10:28 verbose #11598 > 00:10:27 debug #598 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/71be1263869149fe38c85c88173513ce217254b43652605e29e380ae6d3972ca/main.spi 00:10:28 verbose #11599 > > 00:10:28 verbose #11600 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11601 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11602 > > │ ### unwrap_or_else │ 00:10:28 verbose #11603 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11604 > > 00:10:28 verbose #11605 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11606 > > inl unwrap_or_else forall t e u. (fn : e -> u) (source : result' t e) : u = 00:10:28 verbose #11607 > > (!\\(source, $'"true; let _result = $0.unwrap_or_else(|x| { //"') : bool) |> 00:10:28 verbose #11608 > > ignore 00:10:28 verbose #11609 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore 00:10:28 verbose #11610 > > !\($'"_result"') 00:10:28 verbose #11611 > 00:10:27 debug #599 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/628a646e7c0a1db575c674d30e32c7a2e1fe1e12c72572a4df021a7592e2c9e1/main.spi 00:10:28 verbose #11612 > > 00:10:28 verbose #11613 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11614 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11615 > > │ ### map_or_else │ 00:10:28 verbose #11616 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11617 > > 00:10:28 verbose #11618 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11619 > > inl map_or_else forall t e u v. (fn : e -> v) (fn2 : u -> v) (source : result' t 00:10:28 verbose #11620 > > e) : v = 00:10:28 verbose #11621 > > (!\\(source, $'"true; let _result = $0.map_or_else(|x| { //"') : bool) |> 00:10:28 verbose #11622 > > ignore 00:10:28 verbose #11623 > > (!\\(fn !\($'"x"'), $'"true; $0 }, |x| { //"') : bool) |> ignore 00:10:28 verbose #11624 > > (!\\(fn2 !\($'"x"'), $'"true; $0 })"') : bool) |> ignore 00:10:28 verbose #11625 > > !\($'"_result"') 00:10:28 verbose #11626 > 00:10:27 debug #600 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c21e9e0b5f88b63192feb428bdd517997bc025c94c9740d5c5e998cdcc44b1a0/main.spi 00:10:28 verbose #11627 > > 00:10:28 verbose #11628 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11629 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11630 > > │ ### as_ref │ 00:10:28 verbose #11631 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11632 > > 00:10:28 verbose #11633 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11634 > > inl as_ref forall t e. (source : result' t e) : result' (rust.ref t) (rust.ref 00:10:28 verbose #11635 > > e) = 00:10:28 verbose #11636 > > !\($'"!source.as_ref()"') 00:10:28 verbose #11637 > 00:10:28 debug #601 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6b719a401f2e6849622090c1bafc5cad1b323517e6dfd9e3388b2ae4e6e1996f/main.spi 00:10:28 verbose #11638 > > 00:10:28 verbose #11639 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11640 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11641 > > │ ### as_ref' │ 00:10:28 verbose #11642 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11643 > > 00:10:28 verbose #11644 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11645 > > inl as_ref' forall t e. (source : rust.ref (result' t e)) : result' (rust.ref t) 00:10:28 verbose #11646 > > (rust.ref e) = 00:10:28 verbose #11647 > > !\($'"!source.as_ref()"') 00:10:28 verbose #11648 > 00:10:28 debug #602 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97ae80d51a14822b76d099dbaf507f630f2c1aa5b8896dd1aa303d0d8b8ac1e3/main.spi 00:10:28 verbose #11649 > > 00:10:28 verbose #11650 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11651 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11652 > > │ ### unwrap_or' │ 00:10:28 verbose #11653 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11654 > > 00:10:28 verbose #11655 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11656 > > inl unwrap_or' forall t u. (default : t) (x : result' t u) : t = 00:10:28 verbose #11657 > > !\\((x, default), $'"$0.unwrap_or($1)"') 00:10:28 verbose #11658 > 00:10:28 debug #603 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2412ff139bc5ba05f59d3f8366d36e3972fe43620f3f8ba8bd66080aba98f8ff/main.spi 00:10:28 verbose #11659 > > 00:10:28 verbose #11660 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11661 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11662 > > │ ### expect │ 00:10:28 verbose #11663 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11664 > > 00:10:28 verbose #11665 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11666 > > inl expect forall t u. (error : rust.ref string) (x : result' t u) : t = 00:10:28 verbose #11667 > > !\($'"!x.expect(&!error)"') 00:10:28 verbose #11668 > 00:10:28 debug #604 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c91bb0795aa7ca96fd8278f10d35b8172a5d94ebdfc253e139684245a7e6027a/main.spi 00:10:28 verbose #11669 > > 00:10:28 verbose #11670 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11671 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11672 > > │ ### is_err │ 00:10:28 verbose #11673 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11674 > > 00:10:28 verbose #11675 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11676 > > inl is_err forall t u. (x : result' t u) : bool = 00:10:28 verbose #11677 > > !\($'"!x.is_err()"') 00:10:28 verbose #11678 > 00:10:28 debug #605 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6ac1044d679366144438faa6d8a71df8bf4ec927a3b16bae93f0371d17dd2e5e/main.spi 00:10:28 verbose #11679 > > 00:10:28 verbose #11680 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:28 verbose #11681 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:28 verbose #11682 > > │ ### ok' │ 00:10:28 verbose #11683 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:28 verbose #11684 > > 00:10:28 verbose #11685 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:28 verbose #11686 > > inl ok' forall t. (x : result' t _) : optionm'.option' t = 00:10:28 verbose #11687 > > !\($'"!x.ok()"') 00:10:28 verbose #11688 > 00:10:28 debug #606 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/518384efece2d46e3f47bbb0269e447bdcd464aee8b5afacd92727ba6059f2bb/main.spi 00:10:29 verbose #11689 > > 00:10:29 verbose #11690 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:29 verbose #11691 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:29 verbose #11692 > > │ ### transpose │ 00:10:29 verbose #11693 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:29 verbose #11694 > > 00:10:29 verbose #11695 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:29 verbose #11696 > > inl transpose forall t u. (x : optionm'.option' (result' t u)) : result' 00:10:29 verbose #11697 > > (optionm'.option' t) u = 00:10:29 verbose #11698 > > !\\(x, $'"$0.transpose()"') 00:10:29 verbose #11699 > 00:10:28 debug #607 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22fc047ecae740fbf30593aa39efe4dc89ac39aa65096d361d1a0f993bc2f22a/main.spi 00:10:29 verbose #11700 > > 00:10:29 verbose #11701 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:29 verbose #11702 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:29 verbose #11703 > > │ ### rc_try_unwrap │ 00:10:29 verbose #11704 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:29 verbose #11705 > > 00:10:29 verbose #11706 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:29 verbose #11707 > > inl rc_try_unwrap forall t. (x : rust.rc t) : result' t (rust.rc t) = 00:10:29 verbose #11708 > > !\\(x, $'"std::rc::Rc::try_unwrap($0)"') 00:10:29 verbose #11709 > 00:10:28 debug #608 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/affd82c19763dfa782ed09a8ef1d5f0210b51d92d62a962e983ed8e00ea9d082/main.spi 00:10:29 verbose #11710 > > 00:10:29 verbose #11711 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:29 verbose #11712 > > //// test 00:10:29 verbose #11713 > > ///! rust 00:10:29 verbose #11714 > > 00:10:29 verbose #11715 > > rust.new_rc true 00:10:29 verbose #11716 > > |> rc_try_unwrap 00:10:29 verbose #11717 > > |> unbox 00:10:29 verbose #11718 > > |> _assert_eq (Ok true) 00:10:29 verbose #11719 > 00:10:28 debug #609 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7687410d1743f4aa923db044204ff60b1ef0ba90785083ce90e6ffa005703ce6/main.spi 00:10:36 verbose #11720 > > 00:10:36 verbose #11721 > > ╭─[ 7.24s - return value ]─────────────────────────────────────────────────────╮ 00:10:36 verbose #11722 > > │ assert_eq / actual: US0_0(true) / expected: US0_0(true) │ 00:10:36 verbose #11723 > > │ │ 00:10:36 verbose #11724 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:36 verbose #11725 > 00:00:14 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 22822 } 00:10:36 verbose #11726 > 00:00:14 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:37 verbose #11727 > 00:00:15 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.ipynb to html 00:10:37 verbose #11728 > 00:00:15 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:10:37 verbose #11729 > 00:00:15 verbose #7 ! validate(nb) 00:10:37 verbose #11730 > 00:00:15 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:10:37 verbose #11731 > 00:00:15 verbose #9 ! return _pygments_highlight( 00:10:37 verbose #11732 > 00:00:16 verbose #10 ! [NbConvertApp] Writing 336884 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.html 00:10:38 verbose #11733 > 00:00:16 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:10:38 verbose #11734 > 00:00:16 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:10:38 verbose #11735 > 00:00:16 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/resultm.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:38 verbose #11736 > 00:00:16 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:10:38 verbose #11737 > 00:00:16 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:10:38 verbose #11738 > 00:00:16 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 23779 } 00:10:38 debug #11739 runtime.execute_with_options_async / { exit_code = 0; output_length = 27343 } 00:10:38 debug #14 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path resultm.dib --retries 3 00:10:38 debug #11740 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path console.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:38 verbose #11741 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "console.dib", "--retries", "3"])) } 00:10:38 verbose #11742 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:10:39 verbose #11743 > > 00:10:39 verbose #11744 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:39 verbose #11745 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:39 verbose #11746 > > │ # console │ 00:10:39 verbose #11747 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:42 verbose #11748 > > 00:10:42 verbose #11749 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:42 verbose #11750 > > //// test 00:10:42 verbose #11751 > > 00:10:42 verbose #11752 > > open testing 00:10:42 verbose #11753 > 00:10:42 debug #610 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:10:42 verbose #11754 > > 00:10:42 verbose #11755 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11756 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11757 > > │ ## fsharp │ 00:10:43 verbose #11758 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11759 > > 00:10:43 verbose #11760 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11761 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11762 > > │ ### console_color │ 00:10:43 verbose #11763 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11764 > > 00:10:43 verbose #11765 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:43 verbose #11766 > > nominal console_color = $'System.ConsoleColor' 00:10:43 verbose #11767 > 00:10:42 debug #611 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/96ee93cc39aabd1a2400d81adcac40e5e064bc89969421c61af0a57daada1596/main.spi 00:10:43 verbose #11768 > > 00:10:43 verbose #11769 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11770 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11771 > > │ ### reset_color │ 00:10:43 verbose #11772 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11773 > > 00:10:43 verbose #11774 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:43 verbose #11775 > > inl reset_color () : () = 00:10:43 verbose #11776 > > run_target function 00:10:43 verbose #11777 > > | Fsharp => fun () => $'System.Console.ResetColor' () 00:10:43 verbose #11778 > > | _ => fun () => () 00:10:43 verbose #11779 > 00:10:43 debug #612 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ac51230b1568e2b64d79d68080e0289818a6d783b7625413038e5a2d24cacc83/main.spi 00:10:43 verbose #11780 > > 00:10:43 verbose #11781 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11782 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11783 > > │ ### set_foreground_color │ 00:10:43 verbose #11784 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11785 > > 00:10:43 verbose #11786 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:43 verbose #11787 > > inl set_foreground_color (color : console_color) : () = 00:10:43 verbose #11788 > > run_target function 00:10:43 verbose #11789 > > | Fsharp => fun () => $'System.Console.ForegroundColor <- !color ' 00:10:43 verbose #11790 > > | _ => fun () => () 00:10:43 verbose #11791 > 00:10:43 debug #613 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cf9c28f9e2a5f5d016e0b8de6b10cdf9962e0970fe4835d147d1b1865d7d7fc7/main.spi 00:10:43 verbose #11792 > > 00:10:43 verbose #11793 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11794 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11795 > > │ ## console │ 00:10:43 verbose #11796 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11797 > > 00:10:43 verbose #11798 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11799 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11800 > > │ ### write_line │ 00:10:43 verbose #11801 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11802 > > 00:10:43 verbose #11803 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:43 verbose #11804 > > inl write_line obj : () = 00:10:43 verbose #11805 > > backend_switch { 00:10:43 verbose #11806 > > Fsharp = fun () => obj |> $'System.Console.WriteLine' : () 00:10:43 verbose #11807 > > Python = fun () => $'print(!obj)' : () 00:10:43 verbose #11808 > > } 00:10:43 verbose #11809 > 00:10:43 debug #614 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4ceb52c0729e80d8829407f49c301452ca65e7839576a25aa6e92a01d4b169ef/main.spi 00:10:43 verbose #11810 > > 00:10:43 verbose #11811 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11812 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11813 > > │ ### write │ 00:10:43 verbose #11814 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11815 > > 00:10:43 verbose #11816 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:43 verbose #11817 > > inl write forall t. (x : t) : () = 00:10:43 verbose #11818 > > inl s = x |> sm'.format 00:10:43 verbose #11819 > > backend_switch { 00:10:43 verbose #11820 > > Python = fun () => $'print(!s, end="")' : () 00:10:43 verbose #11821 > > Fsharp = fun () => s |> $'System.Console.Write' : () 00:10:43 verbose #11822 > > } 00:10:43 verbose #11823 > 00:10:43 debug #615 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/57f205f0f4c31189591f16c8942472fb03aba7acfce495fd6e0084ebc07bf81d/main.spi 00:10:43 verbose #11824 > > 00:10:43 verbose #11825 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:43 verbose #11826 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:43 verbose #11827 > > │ ### write_ln │ 00:10:43 verbose #11828 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:43 verbose #11829 > > 00:10:43 verbose #11830 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:43 verbose #11831 > > inl write_ln l : () = 00:10:43 verbose #11832 > > write l 00:10:43 verbose #11833 > > backend_switch { 00:10:43 verbose #11834 > > Cuda = fun () => $'printf("\\n")' : () 00:10:43 verbose #11835 > > Python = fun () => $"print()" : () 00:10:43 verbose #11836 > > Fsharp = fun () => write_line () : () 00:10:43 verbose #11837 > > } 00:10:43 verbose #11838 > 00:10:43 debug #616 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edf38f87e76af91dbfec6ae6c6b85bc779a17635f4fede47be66481c2ee9cf64/main.spi 00:10:43 verbose #11839 > 00:00:05 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 5240 } 00:10:43 verbose #11840 > 00:00:05 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:44 verbose #11841 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/console.dib.ipynb to html 00:10:44 verbose #11842 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:10:44 verbose #11843 > 00:00:06 verbose #7 ! validate(nb) 00:10:45 verbose #11844 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:10:45 verbose #11845 > 00:00:06 verbose #9 ! return _pygments_highlight( 00:10:45 verbose #11846 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 283342 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/console.dib.html 00:10:45 verbose #11847 > 00:00:06 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:10:45 verbose #11848 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:10:45 verbose #11849 > 00:00:06 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/console.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:45 verbose #11850 > 00:00:07 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:10:45 verbose #11851 > 00:00:07 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:10:45 verbose #11852 > 00:00:07 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 6197 } 00:10:45 debug #11853 runtime.execute_with_options_async / { exit_code = 0; output_length = 9165 } 00:10:45 debug #15 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path console.dib --retries 3 00:10:45 debug #11854 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path date_time.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:10:45 verbose #11855 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "date_time.dib", "--retries", "3"])) } 00:10:45 verbose #11856 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:10:46 verbose #11857 > > 00:10:46 verbose #11858 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:46 verbose #11859 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:46 verbose #11860 > > │ # date_time │ 00:10:46 verbose #11861 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:49 verbose #11862 > > 00:10:49 verbose #11863 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:49 verbose #11864 > > open rust.rust_operators 00:10:49 verbose #11865 > > open sm'_operators 00:10:49 verbose #11866 > 00:10:49 debug #617 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ee17e9f72cb90671f0e951d428c4dec9e30a8a49cb5162328fc842debe96b71/main.spi 00:10:50 verbose #11867 > > 00:10:50 verbose #11868 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11869 > > //// test 00:10:50 verbose #11870 > > 00:10:50 verbose #11871 > > open testing 00:10:50 verbose #11872 > 00:10:49 debug #618 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9311f6f0df871546736c558f82d2c72ee24fa80c8badc5ab322a731a4c5ac065/main.spi 00:10:50 verbose #11873 > > 00:10:50 verbose #11874 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11875 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11876 > > │ ## date_time │ 00:10:50 verbose #11877 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11878 > > 00:10:50 verbose #11879 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11880 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11881 > > │ ### timestamp │ 00:10:50 verbose #11882 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11883 > > 00:10:50 verbose #11884 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11885 > > nominal timestamp = i64 00:10:50 verbose #11886 > 00:10:49 debug #619 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ea20a353c1392e3d66c7af0c6dea8cff141ac2f116fa34048379a0ad38c7777/main.spi 00:10:50 verbose #11887 > > 00:10:50 verbose #11888 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11889 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11890 > > │ ### timestamp_guid │ 00:10:50 verbose #11891 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11892 > > 00:10:50 verbose #11893 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11894 > > type timestamp_guid = guid.guid 00:10:50 verbose #11895 > 00:10:49 debug #620 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44ec36bf2058578c966b302604d5c837f161eff58262caf9ca39fbe7e8595784/main.spi 00:10:50 verbose #11896 > > 00:10:50 verbose #11897 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11898 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11899 > > │ ### date_time_guid │ 00:10:50 verbose #11900 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11901 > > 00:10:50 verbose #11902 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11903 > > type date_time_guid = guid.guid 00:10:50 verbose #11904 > 00:10:49 debug #621 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f908b8ebf6ca5fcb1f33576d6116b59f0172445313a4ac89bbb6a81734d1317f/main.spi 00:10:50 verbose #11905 > > 00:10:50 verbose #11906 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11907 > > //// test 00:10:50 verbose #11908 > > 00:10:50 verbose #11909 > > inl test_guid () = 00:10:50 verbose #11910 > > guid.new_guid "FEDCBA98-7654-3210-FEDC-BA9876543210" 00:10:50 verbose #11911 > 00:10:50 debug #622 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/32f1fd31325e20b4ce3a5776d37f322d04b1f23d628863a8d8d6de28a28a7e5e/main.spi 00:10:50 verbose #11912 > > 00:10:50 verbose #11913 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11914 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11915 > > │ ## fsharp │ 00:10:50 verbose #11916 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11917 > > 00:10:50 verbose #11918 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11919 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11920 > > │ ### date_time │ 00:10:50 verbose #11921 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11922 > > 00:10:50 verbose #11923 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11924 > > nominal date_time_python = 00:10:50 verbose #11925 > > `( 00:10:50 verbose #11926 > > global "import datetime" 00:10:50 verbose #11927 > > $'' : $'datetime.datetime' 00:10:50 verbose #11928 > > ) 00:10:50 verbose #11929 > > type date_time_switch = 00:10:50 verbose #11930 > > { 00:10:50 verbose #11931 > > Fsharp : $'System.DateTime' 00:10:50 verbose #11932 > > Python : date_time_python 00:10:50 verbose #11933 > > } 00:10:50 verbose #11934 > > nominal date_time = $'backend_switch `(date_time_switch)' 00:10:50 verbose #11935 > 00:10:50 debug #623 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9af1344c6e425050cf827c3c46a80636ff709925ca214e30d3421e24630ae4ae/main.spi 00:10:50 verbose #11936 > > 00:10:50 verbose #11937 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11938 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11939 > > │ ### date_time_milliseconds │ 00:10:50 verbose #11940 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11941 > > 00:10:50 verbose #11942 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11943 > > inl date_time_milliseconds 00:10:50 verbose #11944 > > (year : int) (month : int) (day : int) (hour : int) (minute : int) (second : 00:10:50 verbose #11945 > > int) (millisecond : int) 00:10:50 verbose #11946 > > : date_time 00:10:50 verbose #11947 > > = 00:10:50 verbose #11948 > > backend_switch { 00:10:50 verbose #11949 > > Fsharp = fun () => 00:10:50 verbose #11950 > > $'System.DateTime (!year, !month, !day, !hour, !minute, !second, 00:10:50 verbose #11951 > > !millisecond)' : date_time 00:10:50 verbose #11952 > > Python = fun () => 00:10:50 verbose #11953 > > $'datetime.datetime(!year, !month, !day, !hour, !minute, !second, 00:10:50 verbose #11954 > > !millisecond)' : date_time 00:10:50 verbose #11955 > > } 00:10:50 verbose #11956 > 00:10:50 debug #624 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ae73e55013fdfb459b8bbb9dc1c15522a5f369b3f8ebab8967bed11e9c734fa7/main.spi 00:10:50 verbose #11957 > > 00:10:50 verbose #11958 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11959 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11960 > > │ ### date_time_utc │ 00:10:50 verbose #11961 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11962 > > 00:10:50 verbose #11963 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11964 > > inl date_time_utc 00:10:50 verbose #11965 > > (year : int) (month : int) (day : int) (hour : int) (minute : int) (second : 00:10:50 verbose #11966 > > int) 00:10:50 verbose #11967 > > : date_time 00:10:50 verbose #11968 > > = 00:10:50 verbose #11969 > > backend_switch { 00:10:50 verbose #11970 > > Fsharp = fun () => 00:10:50 verbose #11971 > > $'System.DateTime (!year, !month, !day, !hour, !minute, !second, 00:10:50 verbose #11972 > > System.DateTimeKind.Utc)' : date_time 00:10:50 verbose #11973 > > Python = fun () => 00:10:50 verbose #11974 > > $'datetime.datetime(!year, !month, !day, !hour, !minute, !second, 00:10:50 verbose #11975 > > tzinfo=datetime.timezone.utc)' : date_time 00:10:50 verbose #11976 > > } 00:10:50 verbose #11977 > 00:10:50 debug #625 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b57c885babb9b6554c389be965e024a1c21b5150eb8fa8d820d1fbf70c595939/main.spi 00:10:50 verbose #11978 > > 00:10:50 verbose #11979 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11980 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11981 > > │ ### ticks │ 00:10:50 verbose #11982 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11983 > > 00:10:50 verbose #11984 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11985 > > inl ticks (date_time : date_time) : timestamp = 00:10:50 verbose #11986 > > backend_switch { 00:10:50 verbose #11987 > > Fsharp = fun () => date_time |> $'_.Ticks' : timestamp 00:10:50 verbose #11988 > > Python = fun () => $'!date_time.timestamp()' : timestamp 00:10:50 verbose #11989 > > } 00:10:50 verbose #11990 > 00:10:50 debug #626 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/af4d7fe1f4d0a81060b19bea6fce9f28d70bb5bfe1da6db049c6edf8226ea9ab/main.spi 00:10:50 verbose #11991 > > 00:10:50 verbose #11992 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #11993 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #11994 > > │ ### format │ 00:10:50 verbose #11995 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #11996 > > 00:10:50 verbose #11997 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #11998 > > inl format (format : string) (date_time : date_time) : string = 00:10:50 verbose #11999 > > backend_switch { 00:10:50 verbose #12000 > > Fsharp = fun () => $'!date_time.ToString' format : string 00:10:50 verbose #12001 > > Python = fun () => $'!date_time.strftime(!format)' : string 00:10:50 verbose #12002 > > } 00:10:50 verbose #12003 > 00:10:50 debug #627 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7017bc827557f2d98519e6c5121e9041b1cc25008ca9f6018fbfdfe0bf2f2fb1/main.spi 00:10:50 verbose #12004 > > 00:10:50 verbose #12005 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:50 verbose #12006 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:50 verbose #12007 > > │ ### format_iso8601 │ 00:10:50 verbose #12008 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:50 verbose #12009 > > 00:10:50 verbose #12010 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:50 verbose #12011 > > inl format_iso8601 (date_time : date_time) : string = 00:10:50 verbose #12012 > > backend_switch { 00:10:50 verbose #12013 > > Fsharp = fun () => date_time |> format "yyyy-MM-ddTHH-mm-ss.fff" : 00:10:50 verbose #12014 > > string 00:10:50 verbose #12015 > > Python = fun () => date_time |> format "%Y-%m-%dT%H-%M-%S.%f" : string 00:10:50 verbose #12016 > > } 00:10:50 verbose #12017 > 00:10:50 debug #628 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5011293c9cd923372d0d53314175e00ba3458251040274da4003a023bb6a13ba/main.spi 00:10:51 verbose #12018 > > 00:10:51 verbose #12019 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12020 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12021 > > │ ### min_value │ 00:10:51 verbose #12022 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12023 > > 00:10:51 verbose #12024 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12025 > > inl min_value () : date_time = 00:10:51 verbose #12026 > > backend_switch { 00:10:51 verbose #12027 > > Fsharp = fun () => $'System.DateTime.MinValue' : date_time 00:10:51 verbose #12028 > > Python = fun () => $'datetime.datetime.min' : date_time 00:10:51 verbose #12029 > > } 00:10:51 verbose #12030 > 00:10:50 debug #629 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c91cc230f51c3e98ceb7a41d9399221f27345ad8b4c96de55db1da772120e2b8/main.spi 00:10:51 verbose #12031 > > 00:10:51 verbose #12032 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12033 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12034 > > │ ### max_value │ 00:10:51 verbose #12035 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12036 > > 00:10:51 verbose #12037 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12038 > > inl max_value () : date_time = 00:10:51 verbose #12039 > > backend_switch { 00:10:51 verbose #12040 > > Fsharp = fun () => $'System.DateTime.MaxValue' : date_time 00:10:51 verbose #12041 > > Python = fun () => $'datetime.datetime.max' : date_time 00:10:51 verbose #12042 > > } 00:10:51 verbose #12043 > 00:10:50 debug #630 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/475e3ba0614580826d473c0e126b5e7a33994d4ee00ade3f5798509c2c992322/main.spi 00:10:51 verbose #12044 > > 00:10:51 verbose #12045 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12046 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12047 > > │ ### unix_epoch │ 00:10:51 verbose #12048 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12049 > > 00:10:51 verbose #12050 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12051 > > inl unix_epoch () : date_time = 00:10:51 verbose #12052 > > backend_switch { 00:10:51 verbose #12053 > > Fsharp = fun () => $'System.DateTime.UnixEpoch' : date_time 00:10:51 verbose #12054 > > Python = fun () => $'datetime.datetime(1970, 1, 1)' : date_time 00:10:51 verbose #12055 > > } 00:10:51 verbose #12056 > 00:10:50 debug #631 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/606b519a08294ca541ed2c460a72f7bddbee834ec1683c58aad1cc95fa331cca/main.spi 00:10:51 verbose #12057 > > 00:10:51 verbose #12058 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12059 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12060 > > │ ### to_universal_time │ 00:10:51 verbose #12061 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12062 > > 00:10:51 verbose #12063 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12064 > > inl to_universal_time (date_time : date_time) : date_time = 00:10:51 verbose #12065 > > backend_switch { 00:10:51 verbose #12066 > > Fsharp = fun () => date_time |> $'_.ToUniversalTime()' : date_time 00:10:51 verbose #12067 > > Python = fun () => $'!date_time.astimezone(datetime.timezone.utc)' : 00:10:51 verbose #12068 > > date_time 00:10:51 verbose #12069 > > } 00:10:51 verbose #12070 > 00:10:50 debug #632 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2558dfaddffe9c314825c539f57a42a58c4b7ebb96b0de09f1e4103f30c112b6/main.spi 00:10:51 verbose #12071 > > 00:10:51 verbose #12072 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12073 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12074 > > │ ### date_time_kind │ 00:10:51 verbose #12075 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12076 > > 00:10:51 verbose #12077 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12078 > > union date_time_kind = 00:10:51 verbose #12079 > > | Unspecified 00:10:51 verbose #12080 > > | Utc 00:10:51 verbose #12081 > > | Local 00:10:51 verbose #12082 > 00:10:50 debug #633 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/69258ce62101ae4214b2534aa35e6092bb26b0c684882f1fd858dd284d2a72e1/main.spi 00:10:51 verbose #12083 > > 00:10:51 verbose #12084 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12085 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12086 > > │ ### specify_date_kind │ 00:10:51 verbose #12087 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12088 > > 00:10:51 verbose #12089 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12090 > > inl specify_date_kind (kind : date_time_kind) (date_time : date_time) : 00:10:51 verbose #12091 > > date_time = 00:10:51 verbose #12092 > > inl kind : $'System.DateTimeKind' = 00:10:51 verbose #12093 > > match kind with 00:10:51 verbose #12094 > > | Unspecified => $'System.DateTimeKind.Unspecified' 00:10:51 verbose #12095 > > | Utc => $'System.DateTimeKind.Utc' 00:10:51 verbose #12096 > > | Local => $'System.DateTimeKind.Local' 00:10:51 verbose #12097 > > $'System.DateTime.SpecifyKind (!date_time, !kind)' 00:10:51 verbose #12098 > 00:10:51 debug #634 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/19147daa6f69180abd3862a0eed02fc257efa1e7c60a1f4fbc9199eac696120a/main.spi 00:10:51 verbose #12099 > > 00:10:51 verbose #12100 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12101 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12102 > > │ ### time_span │ 00:10:51 verbose #12103 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12104 > > 00:10:51 verbose #12105 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12106 > > nominal time_span = $"backend_switch `({ Fsharp : $"System.TimeSpan"; Python : 00:10:51 verbose #12107 > > $"datetime.timedelta" })" 00:10:51 verbose #12108 > > 00:10:51 verbose #12109 > > inl time_span x : time_span = 00:10:51 verbose #12110 > > backend_switch { 00:10:51 verbose #12111 > > Fsharp = fun () => x |> $'`time_span ' : time_span 00:10:51 verbose #12112 > > Python = fun () => $'datetime.timedelta(!x)' : time_span 00:10:51 verbose #12113 > > } 00:10:51 verbose #12114 > 00:10:51 debug #635 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/88628a52c518fc4b07b204ef1eaf8c762a35228cc9b59e6a23b5883b10e02343/main.spi 00:10:51 verbose #12115 > > 00:10:51 verbose #12116 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12117 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12118 > > │ ### new_time_span │ 00:10:51 verbose #12119 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12120 > > 00:10:51 verbose #12121 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12122 > > inl new_time_span (a : date_time) (b : date_time) : time_span = 00:10:51 verbose #12123 > > $'!b - !a ' 00:10:51 verbose #12124 > 00:10:51 debug #636 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fd1fa6c2eb9ac95ca99906084b1a7ec69b0f6f96d207b10f73a2c15be415f857/main.spi 00:10:51 verbose #12125 > > 00:10:51 verbose #12126 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12127 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12128 > > │ ### time_span_format │ 00:10:51 verbose #12129 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12130 > > 00:10:51 verbose #12131 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12132 > > inl time_span_format (format : string) (time_span : time_span) : string = 00:10:51 verbose #12133 > > run_target function 00:10:51 verbose #12134 > > | (TypeScript _ | Python _) => fun () => 00:10:51 verbose #12135 > > $'!time_span.ToString ("c", 00:10:51 verbose #12136 > > System.Globalization.CultureInfo.InvariantCulture)' 00:10:51 verbose #12137 > > | _ => fun () => 00:10:51 verbose #12138 > > $'!time_span.ToString !format ' 00:10:51 verbose #12139 > 00:10:51 debug #637 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d07a3768edcb0c0b3004dc94f43508e03c7367b475d3ac62fa7fa0bdfc0e5db9/main.spi 00:10:51 verbose #12140 > > 00:10:51 verbose #12141 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12142 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12143 > > │ ### hours │ 00:10:51 verbose #12144 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12145 > > 00:10:51 verbose #12146 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12147 > > inl hours (time_span : time_span) : i32 = 00:10:51 verbose #12148 > > backend_switch { 00:10:51 verbose #12149 > > Fsharp = fun () => time_span |> $'_.Hours' : i32 00:10:51 verbose #12150 > > Python = fun () => $'!time_span.days * 24 + !time_span.seconds // 3600' 00:10:51 verbose #12151 > > : i32 00:10:51 verbose #12152 > > } 00:10:51 verbose #12153 > 00:10:51 debug #638 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77d090c9296c97415e0af66f9375d3dede87ea08ac7340c3c1e6cd711c4cb693/main.spi 00:10:51 verbose #12154 > > 00:10:51 verbose #12155 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12156 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12157 > > │ ### milliseconds │ 00:10:51 verbose #12158 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12159 > > 00:10:51 verbose #12160 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12161 > > inl milliseconds (time_span : time_span) : i32 = 00:10:51 verbose #12162 > > backend_switch { 00:10:51 verbose #12163 > > Fsharp = fun () => time_span |> $'_.Milliseconds' : i32 00:10:51 verbose #12164 > > Python = fun () => $'!time_span.microseconds // 1000' : i32 00:10:51 verbose #12165 > > } 00:10:51 verbose #12166 > 00:10:51 debug #639 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4237a5bccc9f231ae9e81ee47cdf8216e478641e60548a537d6288964dd08775/main.spi 00:10:51 verbose #12167 > > 00:10:51 verbose #12168 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:51 verbose #12169 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:51 verbose #12170 > > │ ### minutes │ 00:10:51 verbose #12171 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:51 verbose #12172 > > 00:10:51 verbose #12173 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:51 verbose #12174 > > inl minutes (time_span : time_span) : i32 = 00:10:51 verbose #12175 > > backend_switch { 00:10:51 verbose #12176 > > Fsharp = fun () => time_span |> $'_.Minutes' : i32 00:10:51 verbose #12177 > > Python = fun () => $'!time_span.seconds // 60' : i32 00:10:51 verbose #12178 > > } 00:10:51 verbose #12179 > 00:10:51 debug #640 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a7c9f6ba1dfce0e11483ccca630baa27c5fd3b6e4c8ebab72d8202c4ea9776e6/main.spi 00:10:52 verbose #12180 > > 00:10:52 verbose #12181 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12182 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12183 > > │ ### seconds │ 00:10:52 verbose #12184 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12185 > > 00:10:52 verbose #12186 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12187 > > inl seconds (time_span : time_span) : i32 = 00:10:52 verbose #12188 > > backend_switch { 00:10:52 verbose #12189 > > Fsharp = fun () => time_span |> $'_.Seconds' : i32 00:10:52 verbose #12190 > > Python = fun () => $'!time_span.seconds % 60' : i32 00:10:52 verbose #12191 > > } 00:10:52 verbose #12192 > 00:10:51 debug #641 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/03a09533ab342d63f3c4a51b445fb02d7df2068015e5b46acccf101e93ace2d4/main.spi 00:10:52 verbose #12193 > > 00:10:52 verbose #12194 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12195 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12196 > > │ ### total_seconds │ 00:10:52 verbose #12197 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12198 > > 00:10:52 verbose #12199 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12200 > > inl total_seconds (time_span : time_span) : f64 = 00:10:52 verbose #12201 > > backend_switch { 00:10:52 verbose #12202 > > Fsharp = fun () => time_span |> $'_.TotalSeconds' : f64 00:10:52 verbose #12203 > > Python = fun () => $'!time_span.total_seconds()' : f64 00:10:52 verbose #12204 > > } 00:10:52 verbose #12205 > 00:10:51 debug #642 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/21fe74e116401a5665afb179b0ad9e4ed914b20ae75ed6851a5e1f18bee68c24/main.spi 00:10:52 verbose #12206 > > 00:10:52 verbose #12207 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12208 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12209 > > │ ### time_zone_info │ 00:10:52 verbose #12210 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12211 > > 00:10:52 verbose #12212 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12213 > > nominal time_zone_info = $'System.TimeZoneInfo' 00:10:52 verbose #12214 > 00:10:51 debug #643 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/847777dda4aa44030248f1438368431d638fbafc5ccc325c64941284f55b51b5/main.spi 00:10:52 verbose #12215 > > 00:10:52 verbose #12216 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12217 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12218 > > │ ### add_days │ 00:10:52 verbose #12219 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12220 > > 00:10:52 verbose #12221 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12222 > > inl add_days (days : i32) (date_time : date_time) : date_time = 00:10:52 verbose #12223 > > $'!date_time.AddDays' days 00:10:52 verbose #12224 > 00:10:51 debug #644 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/835b7594eee115f48cbbad6ea0acb5716d3be94e40c9689691ecc691071fbb8d/main.spi 00:10:52 verbose #12225 > > 00:10:52 verbose #12226 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12227 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12228 > > │ ### now │ 00:10:52 verbose #12229 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12230 > > 00:10:52 verbose #12231 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12232 > > inl now () : date_time = 00:10:52 verbose #12233 > > backend_switch { 00:10:52 verbose #12234 > > Fsharp = fun () => $'System.DateTime.Now' : date_time 00:10:52 verbose #12235 > > Python = fun () => 00:10:52 verbose #12236 > > global "import datetime" 00:10:52 verbose #12237 > > $'datetime.datetime.now()' : date_time 00:10:52 verbose #12238 > > } 00:10:52 verbose #12239 > 00:10:51 debug #645 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c640fc2b77763631dfa18b0e45d9b3f535f34ec0ddc86163582ae5b12e581b20/main.spi 00:10:52 verbose #12240 > > 00:10:52 verbose #12241 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12242 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12243 > > │ ### utc_now │ 00:10:52 verbose #12244 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12245 > > 00:10:52 verbose #12246 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12247 > > inl utc_now () : date_time = 00:10:52 verbose #12248 > > backend_switch { 00:10:52 verbose #12249 > > Fsharp = fun () => $'System.DateTime.UtcNow' : date_time 00:10:52 verbose #12250 > > Python = fun () => 00:10:52 verbose #12251 > > global "import datetime" 00:10:52 verbose #12252 > > $'datetime.datetime.utcnow()' : date_time 00:10:52 verbose #12253 > > } 00:10:52 verbose #12254 > 00:10:52 debug #646 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ba01decd39d8e7524b92a2f60ac7a21f31f3ed307da3ccb402ad9c5ef5ffa4c/main.spi 00:10:52 verbose #12255 > > 00:10:52 verbose #12256 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12257 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12258 > > │ ### stopwatch │ 00:10:52 verbose #12259 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12260 > > 00:10:52 verbose #12261 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12262 > > nominal stopwatch_python = 00:10:52 verbose #12263 > > `( 00:10:52 verbose #12264 > > global "import timeit" 00:10:52 verbose #12265 > > $'' : $'timeit.default_timer' 00:10:52 verbose #12266 > > ) 00:10:52 verbose #12267 > > type stopwatch_switch = 00:10:52 verbose #12268 > > { 00:10:52 verbose #12269 > > Fsharp : $'System.Diagnostics.Stopwatch' 00:10:52 verbose #12270 > > Python : stopwatch_python 00:10:52 verbose #12271 > > } 00:10:52 verbose #12272 > > nominal stopwatch = $'backend_switch `(stopwatch_switch)' 00:10:52 verbose #12273 > > 00:10:52 verbose #12274 > > inl stopwatch () : stopwatch = 00:10:52 verbose #12275 > > backend_switch { 00:10:52 verbose #12276 > > Fsharp = fun () => $'`stopwatch ' () : stopwatch 00:10:52 verbose #12277 > > Python = fun () => $'`stopwatch ' : stopwatch 00:10:52 verbose #12278 > > } 00:10:52 verbose #12279 > 00:10:52 debug #647 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6951d05406cce42631a3a678b292c27f6932f487efa80db845ac1090e59740b0/main.spi 00:10:52 verbose #12280 > > 00:10:52 verbose #12281 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12282 > > inl stopwatch_elapsed_milliseconds (stopwatch : stopwatch) : i64 = 00:10:52 verbose #12283 > > $'!stopwatch.ElapsedMilliseconds' 00:10:52 verbose #12284 > 00:10:52 debug #648 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a4a97d2be3e0269e9674baa8eaeebaefd6b7005f4ac79999d3425b78e0387e43/main.spi 00:10:52 verbose #12285 > > 00:10:52 verbose #12286 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12287 > > inl stopwatch_start (stopwatch : stopwatch) : () = 00:10:52 verbose #12288 > > $'!stopwatch.Start' () 00:10:52 verbose #12289 > 00:10:52 debug #649 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c66fca65f2cbf8e5e81f6c86b493a695a3c5f3371d44ef136b77080d70e24919/main.spi 00:10:52 verbose #12290 > > 00:10:52 verbose #12291 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12292 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12293 > > │ ## rust │ 00:10:52 verbose #12294 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12295 > > 00:10:52 verbose #12296 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12297 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12298 > > │ ### duration │ 00:10:52 verbose #12299 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12300 > > 00:10:52 verbose #12301 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12302 > > nominal duration = 00:10:52 verbose #12303 > > `( 00:10:52 verbose #12304 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:10:52 verbose #12305 > > Fable.Core.Emit(\"std::time::Duration\")>]]\n#endif\ntype std_time_Duration = 00:10:52 verbose #12306 > > class end" 00:10:52 verbose #12307 > > $'' : $'std_time_Duration' 00:10:52 verbose #12308 > > ) 00:10:52 verbose #12309 > 00:10:52 debug #650 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e6e882306313c13c8ff6ff72ce30e29907b51149e56eaf28e79d2f1d52dcbe16/main.spi 00:10:52 verbose #12310 > > 00:10:52 verbose #12311 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:52 verbose #12312 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:52 verbose #12313 > > │ ### date_time' │ 00:10:52 verbose #12314 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:52 verbose #12315 > > 00:10:52 verbose #12316 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:52 verbose #12317 > > nominal date_time' t = 00:10:52 verbose #12318 > > `( 00:10:52 verbose #12319 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:10:52 verbose #12320 > > Fable.Core.Emit(\"chrono::DateTime<$0>\")>]]\n#endif\ntype chrono_DateTime<'T> = 00:10:52 verbose #12321 > > class end" 00:10:52 verbose #12322 > > $'' : $'chrono_DateTime<`t>' 00:10:52 verbose #12323 > > ) 00:10:53 verbose #12324 > 00:10:52 debug #651 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9d90918529b17349fdc253d9f6bb0eb6b69a2f70a4bc53bb2e67199f3ae67deb/main.spi 00:10:53 verbose #12325 > > 00:10:53 verbose #12326 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12327 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12328 > > │ ### local │ 00:10:53 verbose #12329 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12330 > > 00:10:53 verbose #12331 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12332 > > nominal local = 00:10:53 verbose #12333 > > `( 00:10:53 verbose #12334 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:10:53 verbose #12335 > > Fable.Core.Emit(\"chrono::Local\")>]]\n#endif\ntype chrono_Local = class end" 00:10:53 verbose #12336 > > $'' : $'chrono_Local' 00:10:53 verbose #12337 > > ) 00:10:53 verbose #12338 > 00:10:52 debug #652 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7a3ea1fea240bc16f61164057540244a07b9ebd173f31956dea0ac45a590dd41/main.spi 00:10:53 verbose #12339 > > 00:10:53 verbose #12340 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12341 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12342 > > │ ### naive_date_time │ 00:10:53 verbose #12343 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12344 > > 00:10:53 verbose #12345 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12346 > > nominal naive_date_time = 00:10:53 verbose #12347 > > `( 00:10:53 verbose #12348 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:10:53 verbose #12349 > > Fable.Core.Emit(\"chrono::NaiveDateTime\")>]]\n#endif\ntype chrono_NaiveDateTime 00:10:53 verbose #12350 > > = class end" 00:10:53 verbose #12351 > > $'' : $'chrono_NaiveDateTime' 00:10:53 verbose #12352 > > ) 00:10:53 verbose #12353 > 00:10:52 debug #653 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3e24b3a5c58bf6ab537bc25e3e88fa4945ebd1bdbb573343f40769d7f4298dc5/main.spi 00:10:53 verbose #12354 > > 00:10:53 verbose #12355 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12356 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12357 > > │ ## utc │ 00:10:53 verbose #12358 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12359 > > 00:10:53 verbose #12360 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12361 > > nominal utc = 00:10:53 verbose #12362 > > `( 00:10:53 verbose #12363 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:10:53 verbose #12364 > > Fable.Core.Emit(\"chrono::Utc\")>]]\n#endif\ntype chrono_Utc = class end" 00:10:53 verbose #12365 > > $'' : $'chrono_Utc' 00:10:53 verbose #12366 > > ) 00:10:53 verbose #12367 > 00:10:52 debug #654 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0d18dffca3bd100c3fccc27f1a5e3b9b0d3cff5aedcf30343c0bf13627b14e4b/main.spi 00:10:53 verbose #12368 > > 00:10:53 verbose #12369 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12370 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12371 > > │ ### naive_utc │ 00:10:53 verbose #12372 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12373 > > 00:10:53 verbose #12374 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12375 > > inl naive_utc (date_time : date_time' utc) : naive_date_time = 00:10:53 verbose #12376 > > !\\(date_time, $'"$0.naive_utc()"') 00:10:53 verbose #12377 > 00:10:52 debug #655 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1df73e14fe189e7894db60187d0653f921352dadae549bcccf30ee13f0b65a7e/main.spi 00:10:53 verbose #12378 > > 00:10:53 verbose #12379 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12380 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12381 > > │ ### to_local │ 00:10:53 verbose #12382 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12383 > > 00:10:53 verbose #12384 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12385 > > inl to_local (date_time : date_time' utc) : date_time' local = 00:10:53 verbose #12386 > > inl naive_date_time = date_time |> naive_utc 00:10:53 verbose #12387 > > !\\(naive_date_time, 00:10:53 verbose #12388 > > $'"chrono::offset::TimeZone::from_utc_datetime(&chrono::Local, &$0)"') 00:10:53 verbose #12389 > 00:10:53 debug #656 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7753a7eadef26cd56bf8829ebd988e81299931db7c28ca490faf5b44d1a81e7b/main.spi 00:10:53 verbose #12390 > > 00:10:53 verbose #12391 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12392 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12393 > > │ ### from_timestamp_micros │ 00:10:53 verbose #12394 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12395 > > 00:10:53 verbose #12396 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12397 > > inl from_timestamp_micros forall t {number; int}. (timestamp : t) : option 00:10:53 verbose #12398 > > (date_time' utc) = 00:10:53 verbose #12399 > > inl result : optionm'.option' (date_time' utc) = 00:10:53 verbose #12400 > > !\\(timestamp, $'"chrono::DateTime::from_timestamp_micros($0)"') 00:10:53 verbose #12401 > > result |> optionm'.unbox 00:10:53 verbose #12402 > 00:10:53 debug #657 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ef6ec4c6e438944c9f124ee586b428c2d2945e5e8681c7a443c4aedc51e7b7c0/main.spi 00:10:53 verbose #12403 > > 00:10:53 verbose #12404 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12405 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12406 > > │ ### format' │ 00:10:53 verbose #12407 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12408 > > 00:10:53 verbose #12409 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12410 > > inl format' (format : string) (date_time : date_time' utc) : sm'.std_string = 00:10:53 verbose #12411 > > !\\((date_time, #format), $'"$0.format($1).to_string()"') 00:10:53 verbose #12412 > 00:10:53 debug #658 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d1b55a41ae7b486bf368978116625d43b3a54b3fb4700a0d85841eef7bbe0a47/main.spi 00:10:53 verbose #12413 > > 00:10:53 verbose #12414 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12415 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12416 > > │ ### format'' │ 00:10:53 verbose #12417 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12418 > > 00:10:53 verbose #12419 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12420 > > inl format'' (format : string) (date_time : date_time' _) : sm'.std_string = 00:10:53 verbose #12421 > > !\\((date_time, #format), $'"$0.format($1).to_string()"') 00:10:53 verbose #12422 > 00:10:53 debug #659 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9be6023ec6c821354228e4f2d60e00b613cf464355f46c3362a7242e4120f9fd/main.spi 00:10:53 verbose #12423 > > 00:10:53 verbose #12424 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12425 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12426 > > │ ### format_timestamp │ 00:10:53 verbose #12427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12428 > > 00:10:53 verbose #12429 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12430 > > inl format_timestamp forall t {number; int}. (timestamp : t) = 00:10:53 verbose #12431 > > inl timestamp = join timestamp 00:10:53 verbose #12432 > > (timestamp / 1000) 00:10:53 verbose #12433 > > |> from_timestamp_micros 00:10:53 verbose #12434 > > |> optionm.map fun x => 00:10:53 verbose #12435 > > x 00:10:53 verbose #12436 > > |> to_local 00:10:53 verbose #12437 > > |> format'' "%Y-%m-%d %H:%M:%S" 00:10:53 verbose #12438 > > |> sm'.from_std_string 00:10:53 verbose #12439 > > |> resultm.from_option 00:10:53 verbose #12440 > 00:10:53 debug #660 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/897500bf548ea177c589b19fc9bfd02a4f0424f0cb6d00c5493dc94c567454c5/main.spi 00:10:53 verbose #12441 > > 00:10:53 verbose #12442 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12443 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12444 > > │ ### duration_from_millis │ 00:10:53 verbose #12445 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12446 > > 00:10:53 verbose #12447 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12448 > > inl duration_from_millis (ms : u64) : duration = 00:10:53 verbose #12449 > > inl ms = join ms 00:10:53 verbose #12450 > > !\($'"std::time::Duration::from_millis(!ms)"') 00:10:53 verbose #12451 > 00:10:53 debug #661 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/17d611b1416444f5103265a3946e8fdea3cedcccca8ad268315b9f2073a4a64a/main.spi 00:10:53 verbose #12452 > > 00:10:53 verbose #12453 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12454 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12455 > > │ ## date_time │ 00:10:53 verbose #12456 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12457 > > 00:10:53 verbose #12458 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:53 verbose #12459 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:53 verbose #12460 > > │ ### time_zone_local │ 00:10:53 verbose #12461 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:53 verbose #12462 > > 00:10:53 verbose #12463 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:53 verbose #12464 > > inl time_zone_local () : time_zone_info = 00:10:53 verbose #12465 > > run_target function 00:10:53 verbose #12466 > > | Rust (Native) => fun () => 00:10:53 verbose #12467 > > open rust.rust_operators 00:10:53 verbose #12468 > > !\($'"0i64.into()"') 00:10:53 verbose #12469 > > | Fsharp _ => fun () => 00:10:53 verbose #12470 > > $'System.TimeZoneInfo.Local' 00:10:53 verbose #12471 > > | _ => fun () => null () 00:10:53 verbose #12472 > 00:10:53 debug #662 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eecebe0fc6d0981e463328696cf6324b842e5929ab29c2d9425e2845bcbb8fb8/main.spi 00:10:54 verbose #12473 > > 00:10:54 verbose #12474 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:54 verbose #12475 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:54 verbose #12476 > > │ ### get_utc_offset │ 00:10:54 verbose #12477 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:54 verbose #12478 > > 00:10:54 verbose #12479 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:54 verbose #12480 > > inl get_utc_offset (time_zone_info : time_zone_info) (date_time : date_time) : 00:10:54 verbose #12481 > > time_span = 00:10:54 verbose #12482 > > run_target function 00:10:54 verbose #12483 > > | Rust _ => fun () => time_span () 00:10:54 verbose #12484 > > | Fsharp _ => fun () => date_time |> $'_.GetUtcOffset' (time_zone_local 00:10:54 verbose #12485 > > ()) 00:10:54 verbose #12486 > > | target => fun () => failwith $'$"date_time.get_utc_offset / target: 00:10:54 verbose #12487 > > {!target}"' 00:10:54 verbose #12488 > 00:10:53 debug #663 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f380baa82c03fa5296a570a0e158bd4f6a6a373ad9fb6c971afdc4f0456f9c63/main.spi 00:10:54 verbose #12489 > > 00:10:54 verbose #12490 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:10:54 verbose #12491 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:10:54 verbose #12492 > > │ ### date_time_guid_from_date_time │ 00:10:54 verbose #12493 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:54 verbose #12494 > > 00:10:54 verbose #12495 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:54 verbose #12496 > > let date_time_guid_from_date_time (guid : guid.guid) (date_time : date_time) = 00:10:54 verbose #12497 > > inl create prefix time_zone : date_time_guid = 00:10:54 verbose #12498 > > inl guid = guid |> sm'.obj_to_string 00:10:54 verbose #12499 > > $'`date_time_guid $"{!prefix}{!time_zone}{!guid.[[!prefix.Length + 00:10:54 verbose #12500 > > !time_zone.Length..]]}"' 00:10:54 verbose #12501 > > run_target function 00:10:54 verbose #12502 > > | Rust (Contract) => fun () => null () 00:10:54 verbose #12503 > > | Rust (Native | Wasm) => fun () => 00:10:54 verbose #12504 > > inl epoch = 00:10:54 verbose #12505 > > date_time_utc 1970 1 1 0 0 0 00:10:54 verbose #12506 > > |> to_universal_time 00:10:54 verbose #12507 > > inl date_time = 00:10:54 verbose #12508 > > date_time 00:10:54 verbose #12509 > > |> specify_date_kind Local 00:10:54 verbose #12510 > > |> to_universal_time 00:10:54 verbose #12511 > > inl unixticks = 00:10:54 verbose #12512 > > match date_time |> ticks, epoch |> ticks with 00:10:54 verbose #12513 > > | timestamp date_time, timestamp epoch => date_time - epoch 00:10:54 verbose #12514 > > inl prefix = 00:10:54 verbose #12515 > > unixticks / 10 00:10:54 verbose #12516 > > |> from_timestamp_micros 00:10:54 verbose #12517 > > |> optionm.map ( 00:10:54 verbose #12518 > > to_local 00:10:54 verbose #12519 > > >> format'' "%Y%m%d-%H%M-%S%f" 00:10:54 verbose #12520 > > >> sm'.from_std_string 00:10:54 verbose #12521 > > >> fun s => $'$"{!s.[[0..17]]}-{!s.[[18..21]]}-{!s.[[22]]}"' 00:10:54 verbose #12522 > > ) 00:10:54 verbose #12523 > > |> optionm'.default_value "" 00:10:54 verbose #12524 > > inl time_zone = date_time |> get_utc_offset (time_zone_local ()) 00:10:54 verbose #12525 > > inl time_zone_signal = if hours time_zone > 0 then 1u8 else 0 00:10:54 verbose #12526 > > inl time_zone_value = time_zone |> time_span_format (join "hh:mm") 00:10:54 verbose #12527 > > inl time_zone = 00:10:54 verbose #12528 > > $'$"{!time_zone_signal}{!time_zone_value.[[0..1]]}{!time_zone_value.[[3..4]]}"' 00:10:54 verbose #12529 > > : string 00:10:54 verbose #12530 > > create prefix time_zone 00:10:54 verbose #12531 > > | target => fun () => 00:10:54 verbose #12532 > > inl prefix = date_time |> format (join "yyyyMMdd-HHmm-ssff-ffff-f") 00:10:54 verbose #12533 > > inl time_zone = date_time |> get_utc_offset (time_zone_local ()) 00:10:54 verbose #12534 > > inl time_zone_signal = if hours time_zone > 0 then 1u8 else 0 00:10:54 verbose #12535 > > inl time_zone_value = time_zone |> time_span_format (join "hhmm") 00:10:54 verbose #12536 > > inl time_zone = $'$"{!time_zone_signal}{!time_zone_value}"' : string 00:10:54 verbose #12537 > > create prefix time_zone 00:10:54 verbose #12538 > 00:10:53 debug #664 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/07d864b75a021e6eaab83aa66f44bc2353ed4a1d9a30ee52cadc8d4379240545/main.spi 00:10:54 verbose #12539 > > 00:10:54 verbose #12540 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:54 verbose #12541 > > //// test 00:10:54 verbose #12542 > > 00:10:54 verbose #12543 > > now () |> to_universal_time |> date_time_guid_from_date_time (test_guid ()) |> 00:10:54 verbose #12544 > > sm'.obj_to_string 00:10:54 verbose #12545 > > |> console.write_line 00:10:54 verbose #12546 > 00:10:53 debug #665 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/316c14d6317290f7ba222e3dbfabd0b217432a64cced42aee6313b247eed3552/main.spi 00:10:55 verbose #12547 > > 00:10:55 verbose #12548 > > ╭─[ 1.26s - stdout ]───────────────────────────────────────────────────────────╮ 00:10:55 verbose #12549 > > │ 20240716-0204-3192-9287-900000543210 │ 00:10:55 verbose #12550 > > │ │ 00:10:55 verbose #12551 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:10:55 verbose #12552 > > 00:10:55 verbose #12553 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:10:55 verbose #12554 > > //// test 00:10:55 verbose #12555 > > ///! rust -d chrono 00:10:55 verbose #12556 > > 00:10:55 verbose #12557 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x 00:10:55 verbose #12558 > > - 6i32) (am'.End id) 00:10:55 verbose #12559 > > now () 00:10:55 verbose #12560 > > |> to_universal_time 00:10:55 verbose #12561 > > |> date_time_guid_from_date_time (test_guid ()) 00:10:55 verbose #12562 > > |> sm'.obj_to_string 00:10:55 verbose #12563 > > |> fun s => s |> _assert_eq' $'$"{!s.[[0..29]]}{!suffix}"' 00:10:55 verbose #12564 > 00:10:55 debug #666 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d3fe4dce723fcceb34c76a09b365e889083d7b845bbcf77660d7a03c20076067/main.spi 00:11:03 verbose #12565 > > 00:11:03 verbose #12566 > > ╭─[ 7.91s - return value ]─────────────────────────────────────────────────────╮ 00:11:03 verbose #12567 > > │ assert_eq' / actual: "20240716-0204-3978-8366-000000543210" / expected: │ 00:11:03 verbose #12568 > > │ "20240716-0204-3978-8366-000000543210" │ 00:11:03 verbose #12569 > > │ │ 00:11:03 verbose #12570 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:03 verbose #12571 > > 00:11:03 verbose #12572 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:03 verbose #12573 > > //// test 00:11:03 verbose #12574 > > ///! fsharp 00:11:03 verbose #12575 > > ///! rust -d chrono 00:11:03 verbose #12576 > > 00:11:03 verbose #12577 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x 00:11:03 verbose #12578 > > - 6i32) (am'.End id) 00:11:03 verbose #12579 > > min_value () 00:11:03 verbose #12580 > > |> specify_date_kind Local 00:11:03 verbose #12581 > > |> date_time_guid_from_date_time (test_guid ()) 00:11:03 verbose #12582 > > |> sm'.obj_to_string 00:11:03 verbose #12583 > > |> fun s => s |> _assert_eq' 00:11:03 verbose #12584 > > $'$"00010101-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"' 00:11:03 verbose #12585 > 00:11:03 debug #667 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/64a9f6cf3d780a367f4a3bdaf8d5a65ccac9ca9bd686ea6cbdcd628b7166bca1/main.spi 00:11:11 verbose #12586 > > 00:11:11 verbose #12587 > > ╭─[ 7.75s - return value ]─────────────────────────────────────────────────────╮ 00:11:11 verbose #12588 > > │ .rs output: │ 00:11:11 verbose #12589 > > │ assert_eq' / actual: "00010101-0000-0000-0000-000000543210" / expected: │ 00:11:11 verbose #12590 > > │ "00010101-0000-0000-0000-000000543210" │ 00:11:11 verbose #12591 > > │ │ 00:11:11 verbose #12592 > > │ │ 00:11:11 verbose #12593 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:11 verbose #12594 > > 00:11:11 verbose #12595 > > ╭─[ 7.75s - stdout ]───────────────────────────────────────────────────────────╮ 00:11:11 verbose #12596 > > │ .fsx output: │ 00:11:11 verbose #12597 > > │ assert_eq' / actual: "00010101-0000-0000-0000-000000543210" / expected: │ 00:11:11 verbose #12598 > > │ "00010101-0000-0000-0000-000000543210" │ 00:11:11 verbose #12599 > > │ │ 00:11:11 verbose #12600 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:11 verbose #12601 > > 00:11:11 verbose #12602 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:11 verbose #12603 > > //// test 00:11:11 verbose #12604 > > ///! fsharp 00:11:11 verbose #12605 > > 00:11:11 verbose #12606 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x 00:11:11 verbose #12607 > > - 6i32) (am'.End id) 00:11:11 verbose #12608 > > max_value () 00:11:11 verbose #12609 > > |> specify_date_kind Utc 00:11:11 verbose #12610 > > |> add_days -1 00:11:11 verbose #12611 > > |> date_time_guid_from_date_time (test_guid ()) 00:11:11 verbose #12612 > > |> sm'.obj_to_string 00:11:11 verbose #12613 > > |> fun s => s |> _assert_eq 00:11:11 verbose #12614 > > $'$"99991230-2359-5999-9999-9{!s.[[25..29]]}{!suffix}"' 00:11:11 verbose #12615 > 00:11:10 debug #668 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e665995e7d4fcf094020e10f28f50079bc4adce44a0d268d97b980b53bd1a378/main.spi 00:11:11 verbose #12616 > > 00:11:11 verbose #12617 > > ╭─[ 696.12ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:11 verbose #12618 > > │ assert_eq / actual: "99991230-2359-5999-9999-900000543210" / expected: │ 00:11:11 verbose #12619 > > │ "99991230-2359-5999-9999-900000543210" │ 00:11:11 verbose #12620 > > │ │ 00:11:11 verbose #12621 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:11 verbose #12622 > > 00:11:11 verbose #12623 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:11 verbose #12624 > > //// test 00:11:11 verbose #12625 > > ///! rust -d chrono 00:11:11 verbose #12626 > > 00:11:11 verbose #12627 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x 00:11:11 verbose #12628 > > - 6i32) (am'.End id) 00:11:11 verbose #12629 > > max_value () 00:11:11 verbose #12630 > > |> specify_date_kind Utc 00:11:11 verbose #12631 > > |> add_days -1 00:11:11 verbose #12632 > > |> date_time_guid_from_date_time (test_guid ()) 00:11:11 verbose #12633 > > |> sm'.obj_to_string 00:11:11 verbose #12634 > > |> fun s => s |> _assert_eq 00:11:11 verbose #12635 > > $'$"99991230-2359-5999-9999-0{!s.[[25..29]]}{!suffix}"' 00:11:11 verbose #12636 > 00:11:11 debug #669 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2da789bdbc7db718ebef40c7ff56d3e961a00838d74cfd42c5376ca8c75d6189/main.spi 00:11:19 verbose #12637 > > 00:11:19 verbose #12638 > > ╭─[ 7.69s - return value ]─────────────────────────────────────────────────────╮ 00:11:19 verbose #12639 > > │ assert_eq / actual: "99991230-2359-5999-9999-000000543210" / expected: │ 00:11:19 verbose #12640 > > │ "99991230-2359-5999-9999-000000543210" │ 00:11:19 verbose #12641 > > │ │ 00:11:19 verbose #12642 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:19 verbose #12643 > > 00:11:19 verbose #12644 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:19 verbose #12645 > > //// test 00:11:19 verbose #12646 > > 00:11:19 verbose #12647 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x 00:11:19 verbose #12648 > > - 6i32) (am'.End id) 00:11:19 verbose #12649 > > unix_epoch () 00:11:19 verbose #12650 > > |> specify_date_kind Utc 00:11:19 verbose #12651 > > |> add_days 1 00:11:19 verbose #12652 > > |> date_time_guid_from_date_time (test_guid ()) 00:11:19 verbose #12653 > > |> sm'.obj_to_string 00:11:19 verbose #12654 > > |> fun s => s |> _assert_eq 00:11:19 verbose #12655 > > $'$"19700102-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"' 00:11:19 verbose #12656 > 00:11:19 debug #670 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40d5c05970074e766430dcc3af44b13749616531a0b9b21479726b9e9b935455/main.spi 00:11:19 verbose #12657 > > 00:11:19 verbose #12658 > > ╭─[ 243.73ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:19 verbose #12659 > > │ assert_eq / actual: "19700102-0000-0000-0000-000000543210" / expected: │ 00:11:19 verbose #12660 > > │ "19700102-0000-0000-0000-000000543210" │ 00:11:19 verbose #12661 > > │ │ 00:11:19 verbose #12662 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:19 verbose #12663 > > 00:11:19 verbose #12664 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:19 verbose #12665 > > //// test 00:11:19 verbose #12666 > > ///! rust -d chrono 00:11:19 verbose #12667 > > 00:11:19 verbose #12668 > > inl suffix = test_guid () |> sm'.obj_to_string |> sm'.range (am'.End fun x => x 00:11:19 verbose #12669 > > - 6i32) (am'.End id) 00:11:19 verbose #12670 > > unix_epoch () 00:11:19 verbose #12671 > > |> specify_date_kind Utc 00:11:19 verbose #12672 > > |> add_days 1 00:11:19 verbose #12673 > > |> date_time_guid_from_date_time (test_guid ()) 00:11:19 verbose #12674 > > |> sm'.obj_to_string 00:11:19 verbose #12675 > > |> fun s => s |> _assert_eq 00:11:19 verbose #12676 > > $'$"19700102-0000-0000-0000-0{!s.[[25..29]]}{!suffix}"' 00:11:19 verbose #12677 > 00:11:19 debug #671 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9e201c112aecba9dcc2ad290892589b80535a921f87899e13e0e205e86229e50/main.spi 00:11:27 verbose #12678 > > 00:11:27 verbose #12679 > > ╭─[ 7.75s - return value ]─────────────────────────────────────────────────────╮ 00:11:27 verbose #12680 > > │ assert_eq / actual: "19700102-0000-0000-0000-000000543210" / expected: │ 00:11:27 verbose #12681 > > │ "19700102-0000-0000-0000-000000543210" │ 00:11:27 verbose #12682 > > │ │ 00:11:27 verbose #12683 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:27 verbose #12684 > > 00:11:27 verbose #12685 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:27 verbose #12686 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:27 verbose #12687 > > │ ### date_time_from_guid │ 00:11:27 verbose #12688 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:27 verbose #12689 > > 00:11:27 verbose #12690 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:27 verbose #12691 > > inl date_time_from_guid (date_time_guid : date_time_guid) = 00:11:27 verbose #12692 > > inl date_time_guid = date_time_guid |> sm'.obj_to_string 00:11:27 verbose #12693 > > inl sm'_replace = join sm'.replace 00:11:27 verbose #12694 > > run_target function 00:11:27 verbose #12695 > > | (Rust _ | TypeScript _) => fun () => 00:11:27 verbose #12696 > > $'System.DateTime.Parse (!date_time_guid.[[..24]] |> !sm'_replace 00:11:27 verbose #12697 > > "-" "")' : date_time 00:11:27 verbose #12698 > > | _ => fun () => $'System.DateTime.ParseExact (!date_time_guid.[[..24]] 00:11:27 verbose #12699 > > |> !sm'_replace "-" "", "yyyyMMddHHmmssfffffff", null)' : date_time 00:11:27 verbose #12700 > 00:11:27 debug #672 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5681d0eeba25347e5d02d7d3ea68cfcdceabbdd068663c37056ae9db07cd3ae7/main.spi 00:11:27 verbose #12701 > > 00:11:27 verbose #12702 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:27 verbose #12703 > > //// test 00:11:27 verbose #12704 > > 00:11:27 verbose #12705 > > date_time_from_guid (guid.new_guid "00010101-0000-0000-0000-0a9876543210") 00:11:27 verbose #12706 > > |> _assert_eq' (min_value ()) 00:11:27 verbose #12707 > 00:11:27 debug #673 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/10450b024d9ede2344c07ab30cbcf4fe800fb1ed338d1dc0f31f46404a1437fe/main.spi 00:11:27 verbose #12708 > > 00:11:27 verbose #12709 > > ╭─[ 119.84ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:27 verbose #12710 > > │ assert_eq' / actual: 01/01/0001 00:00:00 / expected: 01/01/0001 00:00:00 │ 00:11:27 verbose #12711 > > │ │ 00:11:27 verbose #12712 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:27 verbose #12713 > > 00:11:27 verbose #12714 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:27 verbose #12715 > > //// test 00:11:27 verbose #12716 > > 00:11:27 verbose #12717 > > date_time_from_guid (guid.new_guid $'$"99991231-2359-5999-9999-9{(!test_guid () 00:11:27 verbose #12718 > > |> string).[[^10..]]}"') 00:11:27 verbose #12719 > > |> _assert_eq' (max_value ()) 00:11:27 verbose #12720 > 00:11:27 debug #674 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a7f9c87fb10939e2fb46b4d6680241b3763e64a3b14fb1f9a05f530458373e6e/main.spi 00:11:27 verbose #12721 > > 00:11:27 verbose #12722 > > ╭─[ 150.41ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:27 verbose #12723 > > │ assert_eq' / actual: 12/31/9999 23:59:59 / expected: 12/31/9999 23:59:59 │ 00:11:27 verbose #12724 > > │ │ 00:11:27 verbose #12725 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:27 verbose #12726 > > 00:11:27 verbose #12727 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:27 verbose #12728 > > //// test 00:11:27 verbose #12729 > > 00:11:27 verbose #12730 > > date_time_from_guid (guid.new_guid $'$"19700101-0000-0000-0000-0{(!test_guid () 00:11:27 verbose #12731 > > |> string).[[^10..]]}"') 00:11:27 verbose #12732 > > |> _assert_eq' $'System.DateTime.UnixEpoch' 00:11:27 verbose #12733 > 00:11:27 debug #675 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f614d065df0e799480e55c26ac315b0585ec495c36f51e6576f7c4f38f43a388/main.spi 00:11:28 verbose #12734 > > 00:11:28 verbose #12735 > > ╭─[ 114.13ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:28 verbose #12736 > > │ assert_eq' / actual: 01/01/1970 00:00:00 / expected: 01/01/1970 00:00:00 │ 00:11:28 verbose #12737 > > │ │ 00:11:28 verbose #12738 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12739 > > 00:11:28 verbose #12740 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:28 verbose #12741 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:28 verbose #12742 > > │ ### timestamp_guid_from_timestamp │ 00:11:28 verbose #12743 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12744 > > 00:11:28 verbose #12745 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12746 > > inl timestamp_guid_from_timestamp (guid : guid.guid) (timestamp : timestamp) : 00:11:28 verbose #12747 > > timestamp_guid = 00:11:28 verbose #12748 > > inl guid = guid |> sm'.obj_to_string 00:11:28 verbose #12749 > > inl timestamp = timestamp |> sm'.obj_to_string |> sm'.pad_left 18i32 '0' 00:11:28 verbose #12750 > > $'`timestamp_guid 00:11:28 verbose #12751 > > $"{!timestamp.[[0..7]]}-{!timestamp.[[8..11]]}-{!timestamp.[[12..15]]}-{!timesta 00:11:28 verbose #12752 > > mp.[[16..17]]}{!guid.[[21..]]}"' 00:11:28 verbose #12753 > 00:11:27 debug #676 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3437626e6f2d8a726b93712d15c4aaf14b8bb9c4642f7cc214715a4d5019290f/main.spi 00:11:28 verbose #12754 > > 00:11:28 verbose #12755 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12756 > > //// test 00:11:28 verbose #12757 > > 00:11:28 verbose #12758 > > timestamp_guid_from_timestamp (test_guid ()) (timestamp 0i64) 00:11:28 verbose #12759 > > |> _assert_eq' (guid.new_guid "00000000-0000-0000-00dc-ba9876543210") 00:11:28 verbose #12760 > 00:11:27 debug #677 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f7033832e42bc1fdae51cbbd126111551f333a334d91137d01b21cd9b25ff000/main.spi 00:11:28 verbose #12761 > > 00:11:28 verbose #12762 > > ╭─[ 114.59ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:28 verbose #12763 > > │ assert_eq' / actual: 00000000-0000-0000-00dc-ba9876543210 / expected: │ 00:11:28 verbose #12764 > > │ 00000000-0000-0000-00dc-ba9876543210 │ 00:11:28 verbose #12765 > > │ │ 00:11:28 verbose #12766 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12767 > > 00:11:28 verbose #12768 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12769 > > //// test 00:11:28 verbose #12770 > > 00:11:28 verbose #12771 > > timestamp_guid_from_timestamp (test_guid ()) (timestamp 999999999999999999i64) 00:11:28 verbose #12772 > > |> _assert_eq' (guid.new_guid $'$"99999999-9999-9999-99dc-b{(!test_guid () |> 00:11:28 verbose #12773 > > string).[[^10..]]}"') 00:11:28 verbose #12774 > 00:11:27 debug #678 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d723fdca517396ecf36696de29ee425f23b7ed09a6a3cc1c54cf36dad9b2d2d6/main.spi 00:11:28 verbose #12775 > > 00:11:28 verbose #12776 > > ╭─[ 122.81ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:28 verbose #12777 > > │ assert_eq' / actual: 99999999-9999-9999-99dc-ba9876543210 / expected: │ 00:11:28 verbose #12778 > > │ 99999999-9999-9999-99dc-ba9876543210 │ 00:11:28 verbose #12779 > > │ │ 00:11:28 verbose #12780 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12781 > > 00:11:28 verbose #12782 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:28 verbose #12783 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:28 verbose #12784 > > │ ### timestamp_from_guid │ 00:11:28 verbose #12785 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12786 > > 00:11:28 verbose #12787 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12788 > > inl timestamp_from_guid (guid : date_time_guid) : timestamp = 00:11:28 verbose #12789 > > inl guid = guid |> sm'.obj_to_string 00:11:28 verbose #12790 > > $'`i64 00:11:28 verbose #12791 > > $"{!guid.[[0..7]]}{!guid.[[9..12]]}{!guid.[[14..17]]}{!guid.[[19..20]]}"' 00:11:28 verbose #12792 > 00:11:27 debug #679 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b25c284a172c3264855d5e4402a128924fa6da84e44fcb7e8ab967ba9a952eb/main.spi 00:11:28 verbose #12793 > > 00:11:28 verbose #12794 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12795 > > //// test 00:11:28 verbose #12796 > > 00:11:28 verbose #12797 > > timestamp_from_guid (guid.new_guid "00000000-0000-0000-00dc-ba9876543210") 00:11:28 verbose #12798 > > |> _assert_eq (timestamp 0) 00:11:28 verbose #12799 > 00:11:28 debug #680 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ee7cec258200375d196a37e3f47db31b38aa202e898d9588b9f92443efb1db8/main.spi 00:11:28 verbose #12800 > > 00:11:28 verbose #12801 > > ╭─[ 104.12ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:28 verbose #12802 > > │ assert_eq / actual: 0L / expected: 0L │ 00:11:28 verbose #12803 > > │ │ 00:11:28 verbose #12804 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12805 > > 00:11:28 verbose #12806 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12807 > > //// test 00:11:28 verbose #12808 > > 00:11:28 verbose #12809 > > timestamp_from_guid (guid.new_guid $'$"99999999-9999-9999-99{(!test_guid () |> 00:11:28 verbose #12810 > > string).[[^14..]]}"') 00:11:28 verbose #12811 > > |> _assert_eq (timestamp 999999999999999999) 00:11:28 verbose #12812 > 00:11:28 debug #681 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ee554e6a676d48af438bee002ff1eb4df3c155d09e8d4ab2039bf1dddecb63fb/main.spi 00:11:28 verbose #12813 > > 00:11:28 verbose #12814 > > ╭─[ 106.62ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:28 verbose #12815 > > │ assert_eq / actual: 999999999999999999L / expected: 999999999999999999L │ 00:11:28 verbose #12816 > > │ │ 00:11:28 verbose #12817 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12818 > > 00:11:28 verbose #12819 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:28 verbose #12820 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:28 verbose #12821 > > │ ### new_guid_from_date_time │ 00:11:28 verbose #12822 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:28 verbose #12823 > > 00:11:28 verbose #12824 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12825 > > inl new_guid_from_date_time (date_time : date_time) = 00:11:28 verbose #12826 > > inl guid = guid.new_raw_guid () 00:11:28 verbose #12827 > > date_time_guid_from_date_time guid date_time 00:11:28 verbose #12828 > 00:11:28 debug #682 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2d90c922411bcc1ffc1ea682d64008202e1754ac08e9f0dd9af77f84a36d7bcb/main.spi 00:11:28 verbose #12829 > > 00:11:28 verbose #12830 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:28 verbose #12831 > > //// test 00:11:28 verbose #12832 > > 00:11:28 verbose #12833 > > utc_now () 00:11:28 verbose #12834 > > |> new_guid_from_date_time 00:11:28 verbose #12835 > > |> date_time_from_guid 00:11:28 verbose #12836 > > |> fun date_time => new_time_span date_time (utc_now ()) |> total_seconds |> i32 00:11:28 verbose #12837 > > |> _assert_eq 0 00:11:28 verbose #12838 > 00:11:28 debug #683 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97556013ad877229845a74b1ff00495809afc15cd3e9b29545c6685096bfdd48/main.spi 00:11:29 verbose #12839 > > 00:11:29 verbose #12840 > > ╭─[ 242.20ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:29 verbose #12841 > > │ assert_eq / actual: 0 / expected: 0 │ 00:11:29 verbose #12842 > > │ │ 00:11:29 verbose #12843 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:29 verbose #12844 > > 00:11:29 verbose #12845 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:29 verbose #12846 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:29 verbose #12847 > > │ ### new_guid_from_timestamp │ 00:11:29 verbose #12848 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:29 verbose #12849 > > 00:11:29 verbose #12850 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:29 verbose #12851 > > inl new_guid_from_timestamp (timestamp : timestamp) = 00:11:29 verbose #12852 > > inl guid = guid.new_raw_guid () 00:11:29 verbose #12853 > > timestamp_guid_from_timestamp guid timestamp 00:11:29 verbose #12854 > 00:11:28 debug #684 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6e6382d34c2c141c240272bf743ceb2e0f98938147db439fbb4bfddf78fb06f5/main.spi 00:11:29 verbose #12855 > > 00:11:29 verbose #12856 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:29 verbose #12857 > > //// test 00:11:29 verbose #12858 > > 00:11:29 verbose #12859 > > utc_now () 00:11:29 verbose #12860 > > |> ticks 00:11:29 verbose #12861 > > |> new_guid_from_timestamp 00:11:29 verbose #12862 > > |> timestamp_from_guid 00:11:29 verbose #12863 > > |> fun (timestamp timestamp) => (timestamp - (utc_now () |> ticks |> fun 00:11:29 verbose #12864 > > (timestamp x) => x)) / 100000i64 00:11:29 verbose #12865 > > |> _assert_eq 0i64 00:11:29 verbose #12866 > 00:11:28 debug #685 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f44456fd2fcdafbe303b93e9e2b94813681668aeaa7c346674b9b11a25689524/main.spi 00:11:29 verbose #12867 > > 00:11:29 verbose #12868 > > ╭─[ 122.20ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:29 verbose #12869 > > │ assert_eq / actual: 0L / expected: 0L │ 00:11:29 verbose #12870 > > │ │ 00:11:29 verbose #12871 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:29 verbose #12872 > > 00:11:29 verbose #12873 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:29 verbose #12874 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:29 verbose #12875 > > │ ## main │ 00:11:29 verbose #12876 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:29 verbose #12877 > > 00:11:29 verbose #12878 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:29 verbose #12879 > > inl main () = 00:11:29 verbose #12880 > > $'let date_time_guid_from_date_time x = !date_time_guid_from_date_time x' : 00:11:29 verbose #12881 > > () 00:11:29 verbose #12882 > > $'let date_time_from_guid x = !date_time_from_guid x' : () 00:11:29 verbose #12883 > > $'let timestamp_guid_from_timestamp x = !timestamp_guid_from_timestamp x' : 00:11:29 verbose #12884 > > () 00:11:29 verbose #12885 > > $'let timestamp_from_guid x = !timestamp_from_guid x' : () 00:11:29 verbose #12886 > > $'let new_guid_from_date_time x = !new_guid_from_date_time x' : () 00:11:29 verbose #12887 > > $'let new_guid_from_timestamp x = !new_guid_from_timestamp x' : () 00:11:29 verbose #12888 > > $'let format x = !format x' : () 00:11:29 verbose #12889 > > $'let format_iso8601 x = !format_iso8601 x' : () 00:11:29 verbose #12890 > 00:11:28 debug #686 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d85a06e9ae3af8f731ca76cc40be0e1ab8a00fae66ce18437b96bbcc69e4457/main.spi 00:11:29 verbose #12891 > 00:00:44 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 53084 } 00:11:29 verbose #12892 > 00:00:44 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:30 verbose #12893 > 00:00:44 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.ipynb to html 00:11:30 verbose #12894 > 00:00:44 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:11:30 verbose #12895 > 00:00:44 verbose #7 ! validate(nb) 00:11:30 verbose #12896 > 00:00:45 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:11:30 verbose #12897 > 00:00:45 verbose #9 ! return _pygments_highlight( 00:11:31 verbose #12898 > 00:00:45 verbose #10 ! [NbConvertApp] Writing 411026 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.html 00:11:31 verbose #12899 > 00:00:45 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 902 } 00:11:31 verbose #12900 > 00:00:45 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 902 } 00:11:31 verbose #12901 > 00:00:45 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/date_time.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:31 verbose #12902 > 00:00:46 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:11:31 verbose #12903 > 00:00:46 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:11:31 verbose #12904 > 00:00:46 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 54045 } 00:11:31 debug #12905 runtime.execute_with_options_async / { exit_code = 0; output_length = 58783 } 00:11:31 debug #16 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path date_time.dib --retries 3 00:11:31 debug #12906 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path math.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:31 verbose #12907 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "math.dib", "--retries", "3"])) } 00:11:31 verbose #12908 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:11:32 verbose #12909 > > 00:11:32 verbose #12910 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:32 verbose #12911 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:32 verbose #12912 > > │ # math │ 00:11:32 verbose #12913 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:35 verbose #12914 > > 00:11:35 verbose #12915 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:35 verbose #12916 > > //// test 00:11:35 verbose #12917 > > 00:11:35 verbose #12918 > > open testing 00:11:35 verbose #12919 > 00:11:35 debug #687 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:11:36 verbose #12920 > > 00:11:36 verbose #12921 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:36 verbose #12922 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:36 verbose #12923 > > │ ## math │ 00:11:36 verbose #12924 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:36 verbose #12925 > > 00:11:36 verbose #12926 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:36 verbose #12927 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:36 verbose #12928 > > │ ### e │ 00:11:36 verbose #12929 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:36 verbose #12930 > > 00:11:36 verbose #12931 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:36 verbose #12932 > > inl e () = 00:11:36 verbose #12933 > > exp 1f64 00:11:36 verbose #12934 > 00:11:35 debug #688 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ad8fe92be0dbc38e45aef60c1ef8263bc2c36b963b582c4daaa7a6231f197c37/main.spi 00:11:36 verbose #12935 > > 00:11:36 verbose #12936 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:36 verbose #12937 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:36 verbose #12938 > > │ ## square │ 00:11:36 verbose #12939 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:36 verbose #12940 > > 00:11:36 verbose #12941 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:36 verbose #12942 > > inl square x = 00:11:36 verbose #12943 > > x ** 2 00:11:36 verbose #12944 > 00:11:35 debug #689 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4f777aa39b8f5387d4c32b6e3bccee1d0130085d98ddfcb94a8f66472f905006/main.spi 00:11:36 verbose #12945 > > 00:11:36 verbose #12946 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:36 verbose #12947 > > //// test 00:11:36 verbose #12948 > > 00:11:36 verbose #12949 > > 5f64 00:11:36 verbose #12950 > > |> sqrt 00:11:36 verbose #12951 > > |> square 00:11:36 verbose #12952 > > |> _assert_approx_eq None 5 00:11:36 verbose #12953 > 00:11:35 debug #690 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/27abda1843b1bbfcadf8a746514b5f9b4aed7baa93785d6b352c5b478793c0cb/main.spi 00:11:36 verbose #12954 > > 00:11:36 verbose #12955 > > ╭─[ 491.35ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:36 verbose #12956 > > │ assert_approx_eq / actual: 5.0 / expected: 5.0 │ 00:11:36 verbose #12957 > > │ │ 00:11:36 verbose #12958 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:36 verbose #12959 > > 00:11:36 verbose #12960 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:36 verbose #12961 > > //// test 00:11:36 verbose #12962 > > 00:11:36 verbose #12963 > > e () |> square 00:11:36 verbose #12964 > > |> _assert_approx_eq None 7.3890560989306495 00:11:36 verbose #12965 > 00:11:36 debug #691 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/417634bcbae2b61fa4822bd5baddd804653f1e470adfbfe6e60ce30aaee154e7/main.spi 00:11:36 verbose #12966 > > 00:11:36 verbose #12967 > > ╭─[ 92.33ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:36 verbose #12968 > > │ assert_approx_eq / actual: 7.389056099 / expected: 7.389056099 │ 00:11:36 verbose #12969 > > │ │ 00:11:36 verbose #12970 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:36 verbose #12971 > > 00:11:36 verbose #12972 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:36 verbose #12973 > > //// test 00:11:36 verbose #12974 > > 00:11:36 verbose #12975 > > 2 * 2 / 0.4f64 |> sqrt 00:11:36 verbose #12976 > > |> _assert_approx_eq None 3.1622776601683795 00:11:36 verbose #12977 > 00:11:36 debug #692 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9803c2eeb0df6f028e71deedc9cf6fcfc95fd406c15fc3e28ef038d887e254c1/main.spi 00:11:37 verbose #12978 > > 00:11:37 verbose #12979 > > ╭─[ 89.31ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:37 verbose #12980 > > │ assert_approx_eq / actual: 3.16227766 / expected: 3.16227766 │ 00:11:37 verbose #12981 > > │ │ 00:11:37 verbose #12982 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #12983 > > 00:11:37 verbose #12984 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #12985 > > //// test 00:11:37 verbose #12986 > > 00:11:37 verbose #12987 > > 2f64 / 3 00:11:37 verbose #12988 > > |> _assert_approx_eq None 0.6666666666666666 00:11:37 verbose #12989 > 00:11:36 debug #693 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15fd9877050a993af976323a53d388a892895592a32716a1dac4a8a54ff66635/main.spi 00:11:37 verbose #12990 > > 00:11:37 verbose #12991 > > ╭─[ 91.87ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:37 verbose #12992 > > │ assert_approx_eq / actual: 0.6666666667 / expected: 0.6666666667 │ 00:11:37 verbose #12993 > > │ │ 00:11:37 verbose #12994 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #12995 > > 00:11:37 verbose #12996 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #12997 > > //// test 00:11:37 verbose #12998 > > 00:11:37 verbose #12999 > > 2f64 |> log 00:11:37 verbose #13000 > > |> _assert_approx_eq None 0.6931471805599453 00:11:37 verbose #13001 > 00:11:36 debug #694 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/91a5ac1fb9da5da905602bf6ccf6603aa4ef71599235328ca2f25392355606ee/main.spi 00:11:37 verbose #13002 > > 00:11:37 verbose #13003 > > ╭─[ 153.50ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:37 verbose #13004 > > │ assert_approx_eq / actual: 0.6931471806 / expected: 0.6931471806 │ 00:11:37 verbose #13005 > > │ │ 00:11:37 verbose #13006 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13007 > > 00:11:37 verbose #13008 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13009 > > //// test 00:11:37 verbose #13010 > > 00:11:37 verbose #13011 > > pi 00:11:37 verbose #13012 > > |> _assert_approx_eq None 3.141592653589793f64 00:11:37 verbose #13013 > 00:11:36 debug #695 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cbd694cb8cd1fd510130e43dceb50f76dd4ba103395c011b7163372aa93e671/main.spi 00:11:37 verbose #13014 > > 00:11:37 verbose #13015 > > ╭─[ 90.17ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:37 verbose #13016 > > │ assert_approx_eq / actual: 3.141592654 / expected: 3.141592654 │ 00:11:37 verbose #13017 > > │ │ 00:11:37 verbose #13018 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13019 > > 00:11:37 verbose #13020 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13021 > > //// test 00:11:37 verbose #13022 > > 00:11:37 verbose #13023 > > pi |> cos 00:11:37 verbose #13024 > > |> _assert_eq -1f64 00:11:37 verbose #13025 > 00:11:36 debug #696 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4e86be50b2c4461fca5f17fc2283ebc955689147f173956fc397f2872bc810ad/main.spi 00:11:37 verbose #13026 > > 00:11:37 verbose #13027 > > ╭─[ 88.15ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:37 verbose #13028 > > │ assert_eq / actual: -1.0 / expected: -1.0 │ 00:11:37 verbose #13029 > > │ │ 00:11:37 verbose #13030 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13031 > > 00:11:37 verbose #13032 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13033 > > //// test 00:11:37 verbose #13034 > > 00:11:37 verbose #13035 > > pi 00:11:37 verbose #13036 > > |> cos 00:11:37 verbose #13037 > > |> fun n => n / 2f64 00:11:37 verbose #13038 > > |> _assert_approx_eq None -0.5 00:11:37 verbose #13039 > 00:11:37 debug #697 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d11db61b5561f4a704bae6d53d12be936cd4c75f771130279db53516c47e3dae/main.spi 00:11:37 verbose #13040 > > 00:11:37 verbose #13041 > > ╭─[ 91.25ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:37 verbose #13042 > > │ assert_approx_eq / actual: -0.5 / expected: -0.5 │ 00:11:37 verbose #13043 > > │ │ 00:11:37 verbose #13044 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13045 > > 00:11:37 verbose #13046 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13047 > > //// test 00:11:37 verbose #13048 > > 00:11:37 verbose #13049 > > pi / 2 |> cos 00:11:37 verbose #13050 > > |> _assert_approx_eq None 0.00000000000000006123233995736766f64 00:11:37 verbose #13051 > 00:11:37 debug #698 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/01f000f121901a943bdbae5303e9ffeab7ff49e3de12eda710518263da40599e/main.spi 00:11:37 verbose #13052 > > 00:11:37 verbose #13053 > > ╭─[ 91.95ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:37 verbose #13054 > > │ assert_approx_eq / actual: 6.123233996e-17 / expected: 6.123233996e-17 │ 00:11:37 verbose #13055 > > │ │ 00:11:37 verbose #13056 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13057 > > 00:11:37 verbose #13058 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:37 verbose #13059 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:37 verbose #13060 > > │ ## fsharp │ 00:11:37 verbose #13061 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13062 > > 00:11:37 verbose #13063 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:37 verbose #13064 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:37 verbose #13065 > > │ ### atan2 │ 00:11:37 verbose #13066 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13067 > > 00:11:37 verbose #13068 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13069 > > inl atan2 (y : f64) (x : f64) : f64 = 00:11:37 verbose #13070 > > $'System.Math.Atan2 (!y, !x)' 00:11:37 verbose #13071 > 00:11:37 debug #699 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1f795928ff928f6502b00f51adcfc5670325e0f8442775a415b42f837b298003/main.spi 00:11:37 verbose #13072 > > 00:11:37 verbose #13073 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13074 > > //// test 00:11:37 verbose #13075 > > 00:11:37 verbose #13076 > > 0 |> atan2 1 00:11:37 verbose #13077 > > |> _assert_eq 1.5707963267948966 00:11:37 verbose #13078 > 00:11:37 debug #700 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ad4a765474445f31270422024044c4a17172f04d73cd93202313b0b3214a65a3/main.spi 00:11:37 verbose #13079 > > 00:11:37 verbose #13080 > > ╭─[ 190.70ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:37 verbose #13081 > > │ assert_eq / actual: 1.570796327 / expected: 1.570796327 │ 00:11:37 verbose #13082 > > │ │ 00:11:37 verbose #13083 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13084 > > 00:11:37 verbose #13085 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:37 verbose #13086 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:37 verbose #13087 > > │ ## floor │ 00:11:37 verbose #13088 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:37 verbose #13089 > > 00:11:37 verbose #13090 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:37 verbose #13091 > > inl floor forall t {float}. (n : t) : t = 00:11:37 verbose #13092 > > n |> $'floor' 00:11:37 verbose #13093 > 00:11:37 debug #701 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2776e4a18130fb34519738dae7dd13a1f55428748c384c33e7bf585241f0773d/main.spi 00:11:38 verbose #13094 > > 00:11:38 verbose #13095 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13096 > > //// test 00:11:38 verbose #13097 > > 00:11:38 verbose #13098 > > 0.6 |> floor 00:11:38 verbose #13099 > > |> _assert_eq 0f64 00:11:38 verbose #13100 > 00:11:37 debug #702 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3279513f4fa0ca5bd482d1e9650f8cc8cb091f0ac77320be5f3172f57cdc315a/main.spi 00:11:38 verbose #13101 > > 00:11:38 verbose #13102 > > ╭─[ 118.07ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:38 verbose #13103 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:11:38 verbose #13104 > > │ │ 00:11:38 verbose #13105 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13106 > > 00:11:38 verbose #13107 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:38 verbose #13108 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:38 verbose #13109 > > │ ## ceil │ 00:11:38 verbose #13110 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13111 > > 00:11:38 verbose #13112 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13113 > > inl ceil forall t {float}. (n : t) : t = 00:11:38 verbose #13114 > > n |> $'ceil' 00:11:38 verbose #13115 > 00:11:37 debug #703 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f2deebd6f0612d0de94281b43c9d93bd7c0bf6592fd118f24594071024793104/main.spi 00:11:38 verbose #13116 > > 00:11:38 verbose #13117 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13118 > > //// test 00:11:38 verbose #13119 > > 00:11:38 verbose #13120 > > 0.6 |> ceil 00:11:38 verbose #13121 > > |> _assert_eq 1f64 00:11:38 verbose #13122 > 00:11:37 debug #704 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/113dd8ce105485a83550e0df0f84a16a37d7c444280a0adf5cdc5df828f21ebd/main.spi 00:11:38 verbose #13123 > > 00:11:38 verbose #13124 > > ╭─[ 97.11ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:38 verbose #13125 > > │ assert_eq / actual: 1.0 / expected: 1.0 │ 00:11:38 verbose #13126 > > │ │ 00:11:38 verbose #13127 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13128 > > 00:11:38 verbose #13129 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:38 verbose #13130 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:38 verbose #13131 > > │ ## round │ 00:11:38 verbose #13132 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13133 > > 00:11:38 verbose #13134 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13135 > > inl round forall t {float}. (n : t) : t = 00:11:38 verbose #13136 > > n |> $'round' 00:11:38 verbose #13137 > 00:11:37 debug #705 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/551698a8022b42ff500312d981ac7e4a2f55ac6ae42fac2aca58eef0acb3db00/main.spi 00:11:38 verbose #13138 > > 00:11:38 verbose #13139 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13140 > > //// test 00:11:38 verbose #13141 > > 00:11:38 verbose #13142 > > 0.5 |> round 00:11:38 verbose #13143 > > |> _assert_eq 0f64 00:11:38 verbose #13144 > > 00:11:38 verbose #13145 > > 1.5 |> round 00:11:38 verbose #13146 > > |> _assert_eq 2f64 00:11:38 verbose #13147 > > 00:11:38 verbose #13148 > > 2.5 |> round 00:11:38 verbose #13149 > > |> _assert_eq 2f64 00:11:38 verbose #13150 > > 00:11:38 verbose #13151 > > 3.5 |> round 00:11:38 verbose #13152 > > |> _assert_eq 4f64 00:11:38 verbose #13153 > 00:11:37 debug #706 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edd7c077b840ea0e214886b7dc326331fc41d2875ee2656c67efa57d721e38bd/main.spi 00:11:38 verbose #13154 > > 00:11:38 verbose #13155 > > ╭─[ 132.19ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:38 verbose #13156 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:11:38 verbose #13157 > > │ assert_eq / actual: 2.0 / expected: 2.0 │ 00:11:38 verbose #13158 > > │ assert_eq / actual: 2.0 / expected: 2.0 │ 00:11:38 verbose #13159 > > │ assert_eq / actual: 4.0 / expected: 4.0 │ 00:11:38 verbose #13160 > > │ │ 00:11:38 verbose #13161 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13162 > > 00:11:38 verbose #13163 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:38 verbose #13164 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:38 verbose #13165 > > │ ## log_base │ 00:11:38 verbose #13166 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13167 > > 00:11:38 verbose #13168 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13169 > > inl log_base (new_base : f64) (a : f64) : f64 = 00:11:38 verbose #13170 > > $'System.Math.Log (!a, !new_base)' 00:11:38 verbose #13171 > 00:11:38 debug #707 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ff6b4ebd65a25b655dafa88c4e6298d550e53475dc6f3245933eabb5a2e10eac/main.spi 00:11:38 verbose #13172 > > 00:11:38 verbose #13173 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13174 > > //// test 00:11:38 verbose #13175 > > 00:11:38 verbose #13176 > > 100 |> log_base 10 00:11:38 verbose #13177 > > |> _assert_eq 2 00:11:38 verbose #13178 > 00:11:38 debug #708 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/21fe238390c53f8aeff5f03c0fc04aa447181b01c3b5cc44059e7adb74cf221a/main.spi 00:11:38 verbose #13179 > > 00:11:38 verbose #13180 > > ╭─[ 101.05ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:38 verbose #13181 > > │ assert_eq / actual: 2.0 / expected: 2.0 │ 00:11:38 verbose #13182 > > │ │ 00:11:38 verbose #13183 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13184 > > 00:11:38 verbose #13185 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:38 verbose #13186 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:38 verbose #13187 > > │ ## round │ 00:11:38 verbose #13188 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13189 > > 00:11:38 verbose #13190 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13191 > > inl round forall t {float}. (x : t) : t = 00:11:38 verbose #13192 > > x |> $'round' 00:11:38 verbose #13193 > 00:11:38 debug #709 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2d5e986840ddc840e7f478982678bb4d73d260343f1aa22faac9484c656d5104/main.spi 00:11:38 verbose #13194 > > 00:11:38 verbose #13195 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13196 > > //// test 00:11:38 verbose #13197 > > 00:11:38 verbose #13198 > > 0.5 |> round 00:11:38 verbose #13199 > > |> _assert_eq 0f64 00:11:38 verbose #13200 > 00:11:38 debug #710 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/60e03150460852473585587083e836e23a357fb9462f4bec701279fd323ba429/main.spi 00:11:38 verbose #13201 > > 00:11:38 verbose #13202 > > ╭─[ 112.93ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:38 verbose #13203 > > │ assert_eq / actual: 0.0 / expected: 0.0 │ 00:11:38 verbose #13204 > > │ │ 00:11:38 verbose #13205 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:38 verbose #13206 > > 00:11:38 verbose #13207 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:38 verbose #13208 > > //// test 00:11:38 verbose #13209 > > 00:11:38 verbose #13210 > > 0.6 |> round 00:11:38 verbose #13211 > > |> _assert_eq 1f64 00:11:38 verbose #13212 > 00:11:38 debug #711 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/43afd09b490ef5fd462dd34af86683fb8d7f29219ecc63a18b33a0c70615ec42/main.spi 00:11:39 verbose #13213 > > 00:11:39 verbose #13214 > > ╭─[ 114.12ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:39 verbose #13215 > > │ assert_eq / actual: 1.0 / expected: 1.0 │ 00:11:39 verbose #13216 > > │ │ 00:11:39 verbose #13217 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:39 verbose #13218 > 00:00:07 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 15089 } 00:11:39 verbose #13219 > 00:00:07 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:39 verbose #13220 > 00:00:08 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/math.dib.ipynb to html 00:11:39 verbose #13221 > 00:00:08 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:11:39 verbose #13222 > 00:00:08 verbose #7 ! validate(nb) 00:11:40 verbose #13223 > 00:00:08 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:11:40 verbose #13224 > 00:00:08 verbose #9 ! return _pygments_highlight( 00:11:40 verbose #13225 > 00:00:08 verbose #10 ! [NbConvertApp] Writing 304785 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/math.dib.html 00:11:40 verbose #13226 > 00:00:08 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:11:40 verbose #13227 > 00:00:08 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:11:40 verbose #13228 > 00:00:08 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/math.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:40 verbose #13229 > 00:00:09 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:11:40 verbose #13230 > 00:00:09 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:11:40 verbose #13231 > 00:00:09 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 16040 } 00:11:40 debug #13232 runtime.execute_with_options_async / { exit_code = 0; output_length = 19373 } 00:11:40 debug #17 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path math.dib --retries 3 00:11:40 debug #13233 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path mapm.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:40 verbose #13234 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "mapm.dib", "--retries", "3"])) } 00:11:40 verbose #13235 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:11:42 verbose #13236 > > 00:11:42 verbose #13237 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:42 verbose #13238 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:42 verbose #13239 > > │ # mapm │ 00:11:42 verbose #13240 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:44 verbose #13241 > > 00:11:44 verbose #13242 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:44 verbose #13243 > > open rust.rust_operators 00:11:45 verbose #13244 > 00:11:44 debug #712 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40daf77a2acec5ac15e1cf56631d4105f4f565759117828320eb559038e65549/main.spi 00:11:45 verbose #13245 > > 00:11:45 verbose #13246 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13247 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13248 > > │ ## rust │ 00:11:45 verbose #13249 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13250 > > 00:11:45 verbose #13251 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13252 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13253 > > │ ### hash_map │ 00:11:45 verbose #13254 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13255 > > 00:11:45 verbose #13256 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13257 > > nominal hash_map k v = 00:11:45 verbose #13258 > > `( 00:11:45 verbose #13259 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:11:45 verbose #13260 > > Fable.Core.Emit(\"std::collections::HashMap<$0, $1>\")>]]\n#endif\ntype 00:11:45 verbose #13261 > > std_collections_HashMap<'K, 'V> = class end" 00:11:45 verbose #13262 > > $'' : $'std_collections_HashMap<`k, `v>' 00:11:45 verbose #13263 > > ) 00:11:45 verbose #13264 > 00:11:44 debug #713 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/92d3c1ba079870b06ae04173ba67eeba7527f9d50e018839a815127b2f5da48f/main.spi 00:11:45 verbose #13265 > > 00:11:45 verbose #13266 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13267 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13268 > > │ ### b_tree_map │ 00:11:45 verbose #13269 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13270 > > 00:11:45 verbose #13271 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13272 > > nominal b_tree_map k v = 00:11:45 verbose #13273 > > `( 00:11:45 verbose #13274 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:11:45 verbose #13275 > > Fable.Core.Emit(\"std::collections::BTreeMap<$0, $1>\")>]]\n#endif\ntype 00:11:45 verbose #13276 > > std_collections_BTreeMap<'K, 'V> = class end" 00:11:45 verbose #13277 > > $'' : $'std_collections_BTreeMap<`k, `v>' 00:11:45 verbose #13278 > > ) 00:11:45 verbose #13279 > 00:11:45 debug #714 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ae9b85e49d017e91849f19efd7f169fbb58cac53fd6266f734e7c1ffbe468053/main.spi 00:11:45 verbose #13280 > > 00:11:45 verbose #13281 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13282 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13283 > > │ ### new_hash_map │ 00:11:45 verbose #13284 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13285 > > 00:11:45 verbose #13286 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13287 > > inl new_hash_map () : hash_map _ _ = 00:11:45 verbose #13288 > > !\($'"std::collections::HashMap::new()"') 00:11:45 verbose #13289 > 00:11:45 debug #715 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/400453027a4e419f692c33e910faedbc5e61db307359208732f1f18f30378230/main.spi 00:11:45 verbose #13290 > > 00:11:45 verbose #13291 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13292 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13293 > > │ ### new_b_tree_map │ 00:11:45 verbose #13294 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13295 > > 00:11:45 verbose #13296 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13297 > > inl new_b_tree_map () : b_tree_map _ _ = 00:11:45 verbose #13298 > > !\($'"std::collections::BTreeMap::new()"') 00:11:45 verbose #13299 > 00:11:45 debug #716 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3e158c29c764d6ba1d61d5e19528074f56744d9ce4cfa204aa0d08fbb7891fca/main.spi 00:11:45 verbose #13300 > > 00:11:45 verbose #13301 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13302 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13303 > > │ ### get │ 00:11:45 verbose #13304 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13305 > > 00:11:45 verbose #13306 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13307 > > inl get forall k v. (key : k) (map : hash_map k v) : optionm'.option' v = 00:11:45 verbose #13308 > > inl key = join key 00:11:45 verbose #13309 > > !\\(map, $'"std::collections::HashMap::get(&$0, &!key).map(|x| 00:11:45 verbose #13310 > > x).cloned()"') 00:11:45 verbose #13311 > 00:11:45 debug #717 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0679ef6d9bd02eeb3adb2fd0e7ab375d4dca81d1de7021b239bc7992e96f689e/main.spi 00:11:45 verbose #13312 > > 00:11:45 verbose #13313 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13314 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13315 > > │ ### insert │ 00:11:45 verbose #13316 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13317 > > 00:11:45 verbose #13318 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13319 > > inl insert forall k v. (key : k) (value : v) (map : hash_map k v) : 00:11:45 verbose #13320 > > optionm'.option' v = 00:11:45 verbose #13321 > > inl key = join key 00:11:45 verbose #13322 > > !\($'"let mut !map = !map"') 00:11:45 verbose #13323 > > !\($'"std::collections::HashMap::insert(&mut !map, !key, !value)"') 00:11:45 verbose #13324 > 00:11:45 debug #718 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b8864ee9478cfb28ab5ee4bb858b1f81d5a4383c1a5327af3a380e759a109f3e/main.spi 00:11:45 verbose #13325 > > 00:11:45 verbose #13326 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13327 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13328 > > │ ### map' │ 00:11:45 verbose #13329 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13330 > > 00:11:45 verbose #13331 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13332 > > inl map' forall k v w. (fn : v -> w) (map : hash_map k v) : hash_map k w = 00:11:45 verbose #13333 > > !\\((map, fn), $'"$0.into_iter().map(|(k, v)| (k, $1(v))).collect()"') 00:11:45 verbose #13334 > 00:11:45 debug #719 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0fbf148ee7b54b99624f079e6b4480832118e0bb81e66b84866e3ebb568a2330/main.spi 00:11:45 verbose #13335 > > 00:11:45 verbose #13336 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:45 verbose #13337 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:45 verbose #13338 > > │ ### hash_map_count │ 00:11:45 verbose #13339 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:45 verbose #13340 > > 00:11:45 verbose #13341 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:45 verbose #13342 > > inl hash_map_count forall k v. (map : hash_map k v) : i32 = 00:11:45 verbose #13343 > > !\\(map, $'"$0.count()"') 00:11:45 verbose #13344 > 00:11:45 debug #720 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7d782f09d7d300ec6b444108dca32a7e4176bad7be71d939044663851e3284c0/main.spi 00:11:46 verbose #13345 > > 00:11:46 verbose #13346 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:46 verbose #13347 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:46 verbose #13348 > > │ ### from_vec │ 00:11:46 verbose #13349 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:46 verbose #13350 > > 00:11:46 verbose #13351 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:46 verbose #13352 > > inl from_vec forall k v. (vec : am'.vec (k * v)) : hash_map k v = 00:11:46 verbose #13353 > > !\($'"std::collections::HashMap::from_iter(!vec)"') 00:11:46 verbose #13354 > 00:11:45 debug #721 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e6ee02c7fbd7f18d6fc0b6fcedd5cd91c16edf1b0e202486eee397999879ecec/main.spi 00:11:46 verbose #13355 > > 00:11:46 verbose #13356 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:46 verbose #13357 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:46 verbose #13358 > > │ ### from_vec_pairs │ 00:11:46 verbose #13359 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:46 verbose #13360 > > 00:11:46 verbose #13361 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:46 verbose #13362 > > inl from_vec_pairs forall k v. (vec : am'.vec (pair k v)) : hash_map k v = 00:11:46 verbose #13363 > > !\($'"std::collections::HashMap::from_iter(!vec.iter().map(|x| 00:11:46 verbose #13364 > > x.as_ref()).map(|&(ref k, ref v)| (k.clone(), v.clone())))"') 00:11:46 verbose #13365 > 00:11:46 debug #722 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/023ef8e15e52bea00101a9949127a44529c5d756f73f2c1a47cc6396adf9101c/main.spi 00:11:46 verbose #13366 > > 00:11:46 verbose #13367 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:46 verbose #13368 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:46 verbose #13369 > > │ ### b_tree_map_from_vec_pairs │ 00:11:46 verbose #13370 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:46 verbose #13371 > > 00:11:46 verbose #13372 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:46 verbose #13373 > > inl b_tree_map_from_vec_pairs forall k v. (vec : am'.vec (pair k v)) : 00:11:46 verbose #13374 > > b_tree_map k v = 00:11:46 verbose #13375 > > !\($'"std::collections::BTreeMap::from_iter(!vec.iter().map(|x| 00:11:46 verbose #13376 > > x.as_ref()).map(|&(ref k, ref v)| (k.clone(), v.clone())))"') 00:11:46 verbose #13377 > 00:11:46 debug #723 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/445433042ff1865baa1b145fce159ddb576cf719f210d00aa1afb28c711978f1/main.spi 00:11:46 verbose #13378 > > 00:11:46 verbose #13379 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:46 verbose #13380 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:46 verbose #13381 > > │ ### from_array │ 00:11:46 verbose #13382 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:46 verbose #13383 > > 00:11:46 verbose #13384 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:46 verbose #13385 > > inl from_array forall k v. (array : array_base (k * v)) : hash_map k v = 00:11:46 verbose #13386 > > array |> am'.to_vec |> from_vec 00:11:46 verbose #13387 > 00:11:46 debug #724 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2707da4f85904f64a9a9660eea8b2cea45acd3cce6536b0c8a7e2f33b65f5a77/main.spi 00:11:46 verbose #13388 > > 00:11:46 verbose #13389 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:46 verbose #13390 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:46 verbose #13391 > > │ ### from_list │ 00:11:46 verbose #13392 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:46 verbose #13393 > > 00:11:46 verbose #13394 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:46 verbose #13395 > > inl from_list forall k v. (list : list (k * v)) : hash_map k v = 00:11:46 verbose #13396 > > inl (a list) : _ i32 _ = list |> listm.toArray 00:11:46 verbose #13397 > > list |> am'.to_vec |> from_vec 00:11:46 verbose #13398 > 00:11:46 debug #725 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f244c4e0e52d6006951178fdb3db4949fc14848c6143dceeb08f94d391b2bac2/main.spi 00:11:46 verbose #13399 > > 00:11:46 verbose #13400 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:46 verbose #13401 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:46 verbose #13402 > > │ ### to_vec │ 00:11:46 verbose #13403 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:46 verbose #13404 > > 00:11:46 verbose #13405 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:46 verbose #13406 > > inl to_vec forall k v. (map : hash_map k v) : am'.vec (k * v) = 00:11:46 verbose #13407 > > !\\(map, $'"$0.into_iter().map(|(k, v)| (k, v)).collect::<Vec<_>>()"') 00:11:46 verbose #13408 > 00:11:46 debug #726 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2702979f0197cd7667c9c643a01ddcc88913ca1319e6c761c3b46ea569ed90e5/main.spi 00:11:47 verbose #13409 > > 00:11:47 verbose #13410 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:47 verbose #13411 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:47 verbose #13412 > > │ ## fsharp │ 00:11:47 verbose #13413 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:47 verbose #13414 > > 00:11:47 verbose #13415 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:47 verbose #13416 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:47 verbose #13417 > > │ ### map │ 00:11:47 verbose #13418 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:47 verbose #13419 > > 00:11:47 verbose #13420 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:47 verbose #13421 > > nominal map k v = $'Map<`k, `v>' 00:11:47 verbose #13422 > 00:11:46 debug #727 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/20ce9a30b5a9a15d12e8fa680d1616e0111a55cab2190556d18aa032b70c59ce/main.spi 00:11:47 verbose #13423 > > 00:11:47 verbose #13424 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:47 verbose #13425 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:47 verbose #13426 > > │ ### item │ 00:11:47 verbose #13427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:47 verbose #13428 > > 00:11:47 verbose #13429 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:47 verbose #13430 > > inl item forall k v. (k : k) (map : map k v) : v = 00:11:47 verbose #13431 > > $'!map.[[!k]]' 00:11:47 verbose #13432 > 00:11:46 debug #728 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e22816a3298f28be7fc90c8101c03f0c596781ff287f3c3ec7e91eb51617dced/main.spi 00:11:47 verbose #13433 > > 00:11:47 verbose #13434 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:47 verbose #13435 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:47 verbose #13436 > > │ ### of_array │ 00:11:47 verbose #13437 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:47 verbose #13438 > > 00:11:47 verbose #13439 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:47 verbose #13440 > > inl of_array forall k v. (array : a _ (k * v)) : map k v = 00:11:47 verbose #13441 > > $'!array |> Array.map (fun (struct (a, b)) -> a, b) |> Map.ofArray' 00:11:47 verbose #13442 > 00:11:46 debug #729 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/31773be5e65d51d2a107fc482f20f897deb886cea403ddc553049c8eb615d8dd/main.spi 00:11:47 verbose #13443 > 00:00:06 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 12286 } 00:11:47 verbose #13444 > 00:00:06 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:47 verbose #13445 > 00:00:07 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.ipynb to html 00:11:47 verbose #13446 > 00:00:07 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:11:47 verbose #13447 > 00:00:07 verbose #7 ! validate(nb) 00:11:48 verbose #13448 > 00:00:07 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:11:48 verbose #13449 > 00:00:07 verbose #9 ! return _pygments_highlight( 00:11:48 verbose #13450 > 00:00:07 verbose #10 ! [NbConvertApp] Writing 301372 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.html 00:11:48 verbose #13451 > 00:00:07 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:11:48 verbose #13452 > 00:00:07 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:11:48 verbose #13453 > 00:00:07 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/mapm.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:48 verbose #13454 > 00:00:08 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:11:48 verbose #13455 > 00:00:08 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:11:48 verbose #13456 > 00:00:08 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 13237 } 00:11:48 debug #13457 runtime.execute_with_options_async / { exit_code = 0; output_length = 16380 } 00:11:48 debug #18 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path mapm.dib --retries 3 00:11:48 debug #13458 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path optionm'.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:11:48 verbose #13459 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "optionm'.dib", "--retries", "3"])) } 00:11:48 verbose #13460 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:11:50 verbose #13461 > > 00:11:50 verbose #13462 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:50 verbose #13463 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:50 verbose #13464 > > │ # optionm' │ 00:11:50 verbose #13465 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:52 verbose #13466 > > 00:11:52 verbose #13467 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:52 verbose #13468 > > open rust 00:11:52 verbose #13469 > > open rust_operators 00:11:53 verbose #13470 > 00:11:52 debug #730 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd47537238fcdc924c2a6b0a99d4f87ecbbde40a43ba8772a0907b5bf4a50e9d/main.spi 00:11:53 verbose #13471 > > 00:11:53 verbose #13472 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:53 verbose #13473 > > //// test 00:11:53 verbose #13474 > > 00:11:53 verbose #13475 > > open testing 00:11:53 verbose #13476 > 00:11:53 debug #731 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f990f43922e45080129606975ec74b3f88780cb3b27c2ae1151c776db6e5e262/main.spi 00:11:53 verbose #13477 > > 00:11:53 verbose #13478 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:53 verbose #13479 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:53 verbose #13480 > > │ ## optionm' │ 00:11:53 verbose #13481 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:53 verbose #13482 > > 00:11:53 verbose #13483 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:53 verbose #13484 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:53 verbose #13485 > > │ ### default_value │ 00:11:53 verbose #13486 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:53 verbose #13487 > > 00:11:53 verbose #13488 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:53 verbose #13489 > > inl default_value d = 00:11:53 verbose #13490 > > optionm.defaultWith d 00:11:53 verbose #13491 > 00:11:53 debug #732 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15491795f5bf9644457494ef0342ae858a8aab5704c2379a4c280550bf9f3193/main.spi 00:11:53 verbose #13492 > > 00:11:53 verbose #13493 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:53 verbose #13494 > > //// test 00:11:53 verbose #13495 > > 00:11:53 verbose #13496 > > None 00:11:53 verbose #13497 > > |> default_value 3i32 00:11:53 verbose #13498 > > |> _assert_eq 3i32 00:11:53 verbose #13499 > 00:11:53 debug #733 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1a81c85773fe422453b745c6420ba5125c316a64bf03dcec69ac84b3aefb359c/main.spi 00:11:54 verbose #13500 > > 00:11:54 verbose #13501 > > ╭─[ 478.90ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:54 verbose #13502 > > │ assert_eq / actual: 3 / expected: 3 │ 00:11:54 verbose #13503 > > │ │ 00:11:54 verbose #13504 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:54 verbose #13505 > > 00:11:54 verbose #13506 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:54 verbose #13507 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:54 verbose #13508 > > │ ### (/??) │ 00:11:54 verbose #13509 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:54 verbose #13510 > > 00:11:54 verbose #13511 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:54 verbose #13512 > > inl (/??) a b = 00:11:54 verbose #13513 > > a |> default_value b 00:11:54 verbose #13514 > 00:11:53 debug #734 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/50b906b2efeecb3856483875c9a57005bd50804cd50b8473112caf3eec6e13b1/main.spi 00:11:54 verbose #13515 > > 00:11:54 verbose #13516 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:54 verbose #13517 > > //// test 00:11:54 verbose #13518 > > 00:11:54 verbose #13519 > > None /?? 3i32 00:11:54 verbose #13520 > > |> _assert_eq 3i32 00:11:54 verbose #13521 > 00:11:53 debug #735 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/128918064316dbfa78f58a43a3c8f3ed2845053761b9fbf6aefaabdeec3c5eed/main.spi 00:11:54 verbose #13522 > > 00:11:54 verbose #13523 > > ╭─[ 89.81ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:54 verbose #13524 > > │ assert_eq / actual: 3 / expected: 3 │ 00:11:54 verbose #13525 > > │ │ 00:11:54 verbose #13526 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:54 verbose #13527 > > 00:11:54 verbose #13528 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:54 verbose #13529 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:54 verbose #13530 > > │ ### default_with │ 00:11:54 verbose #13531 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:54 verbose #13532 > > 00:11:54 verbose #13533 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:54 verbose #13534 > > inl default_with fn = function 00:11:54 verbose #13535 > > | Some x => x 00:11:54 verbose #13536 > > | None => fn () 00:11:54 verbose #13537 > 00:11:53 debug #736 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/664cf1c641091866450434715838d205452b8d4b6bde4c4a69e810eab75860c6/main.spi 00:11:54 verbose #13538 > > 00:11:54 verbose #13539 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:54 verbose #13540 > > //// test 00:11:54 verbose #13541 > > 00:11:54 verbose #13542 > > None 00:11:54 verbose #13543 > > |> default_with fun () => 3i32 00:11:54 verbose #13544 > > |> _assert_eq 3i32 00:11:54 verbose #13545 > 00:11:54 debug #737 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ffa2bb76668ecb69c8b6ca3a629193264889d8cd49f40e74d0b5f28c2e7af786/main.spi 00:11:54 verbose #13546 > > 00:11:54 verbose #13547 > > ╭─[ 88.88ms - stdout ]─────────────────────────────────────────────────────────╮ 00:11:54 verbose #13548 > > │ assert_eq / actual: 3 / expected: 3 │ 00:11:54 verbose #13549 > > │ │ 00:11:54 verbose #13550 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:54 verbose #13551 > > 00:11:54 verbose #13552 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:54 verbose #13553 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:54 verbose #13554 > > │ ### choose │ 00:11:54 verbose #13555 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:54 verbose #13556 > > 00:11:54 verbose #13557 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:54 verbose #13558 > > inl choose fn a b = 00:11:54 verbose #13559 > > match a, b with 00:11:54 verbose #13560 > > | Some x, Some y => fn x y |> Some 00:11:54 verbose #13561 > > | _ => None 00:11:54 verbose #13562 > 00:11:54 debug #738 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b8a3776fb27c5519d96ae9cc6de26702ec3db4c831092f9e38fc0f7d2fe13926/main.spi 00:11:54 verbose #13563 > > 00:11:54 verbose #13564 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:54 verbose #13565 > > //// test 00:11:54 verbose #13566 > > 00:11:54 verbose #13567 > > (Some 2i32, Some 3) 00:11:54 verbose #13568 > > ||> choose (+) 00:11:54 verbose #13569 > > |> _assert_eq (Some 5) 00:11:54 verbose #13570 > 00:11:54 debug #739 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ffb7c48ca7e5acf1e70bc0cfaa2ef003367b4331ba7079ae4dd7ed7862e070d8/main.spi 00:11:55 verbose #13571 > > 00:11:55 verbose #13572 > > ╭─[ 582.85ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:55 verbose #13573 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:11:55 verbose #13574 > > │ │ 00:11:55 verbose #13575 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13576 > > 00:11:55 verbose #13577 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13578 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13579 > > │ ### iter │ 00:11:55 verbose #13580 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13581 > > 00:11:55 verbose #13582 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13583 > > inl iter fn = function 00:11:55 verbose #13584 > > | Some x => fn x 00:11:55 verbose #13585 > > | None => () 00:11:55 verbose #13586 > 00:11:54 debug #740 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e15d98968044560a3c65c1b59cc31564feac7412dd376208bfa0b8fa5002e272/main.spi 00:11:55 verbose #13587 > > 00:11:55 verbose #13588 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13589 > > //// test 00:11:55 verbose #13590 > > 00:11:55 verbose #13591 > > inl n = mut 1i32 00:11:55 verbose #13592 > > inl fn = 00:11:55 verbose #13593 > > fun n' => 00:11:55 verbose #13594 > > n <- *n + n' 00:11:55 verbose #13595 > > Some 1i32 |> iter fn 00:11:55 verbose #13596 > > None |> iter fn 00:11:55 verbose #13597 > > *n 00:11:55 verbose #13598 > > |> _assert_eq 2i32 00:11:55 verbose #13599 > 00:11:54 debug #741 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5eca052ea30b8328f9b254eba625290899b6ad250c17c3199d421f4add642dcd/main.spi 00:11:55 verbose #13600 > > 00:11:55 verbose #13601 > > ╭─[ 192.27ms - stdout ]────────────────────────────────────────────────────────╮ 00:11:55 verbose #13602 > > │ assert_eq / actual: 2 / expected: 2 │ 00:11:55 verbose #13603 > > │ │ 00:11:55 verbose #13604 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13605 > > 00:11:55 verbose #13606 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13607 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13608 > > │ ### flatten │ 00:11:55 verbose #13609 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13610 > > 00:11:55 verbose #13611 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13612 > > inl flatten x = 00:11:55 verbose #13613 > > match x with 00:11:55 verbose #13614 > > | Some (Some x) => Some x 00:11:55 verbose #13615 > > | _ => None 00:11:55 verbose #13616 > 00:11:55 debug #742 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc3431f249bb057b3b580bfd89d70f0fd75c1b478ac4fc20bc9f260727ac4bdc/main.spi 00:11:55 verbose #13617 > > 00:11:55 verbose #13618 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13619 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13620 > > │ ## fsharp │ 00:11:55 verbose #13621 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13622 > > 00:11:55 verbose #13623 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13624 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13625 > > │ ### option' │ 00:11:55 verbose #13626 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13627 > > 00:11:55 verbose #13628 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13629 > > nominal option' t = $"backend_switch `({ Fsharp : $"`t option"; Python : t })" 00:11:55 verbose #13630 > 00:11:55 debug #743 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b2aa47a71b983f46a1d0ef50f20074497e0f2364a19e09a70c6b33f7938e4858/main.spi 00:11:55 verbose #13631 > > 00:11:55 verbose #13632 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13633 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13634 > > │ ### none' │ 00:11:55 verbose #13635 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13636 > > 00:11:55 verbose #13637 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13638 > > inl none' forall t. () : option' t = 00:11:55 verbose #13639 > > $'None' 00:11:55 verbose #13640 > 00:11:55 debug #744 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a0e825e274880b03def70e5859a5b0d64e0b72ae9b70bee7312f2dad49f452ac/main.spi 00:11:55 verbose #13641 > > 00:11:55 verbose #13642 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13643 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13644 > > │ ### some' │ 00:11:55 verbose #13645 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13646 > > 00:11:55 verbose #13647 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13648 > > inl some' forall t. (x : t) : option' t = 00:11:55 verbose #13649 > > backend_switch { 00:11:55 verbose #13650 > > Fsharp = fun () => $'Some !x ' : option' t 00:11:55 verbose #13651 > > Python = fun () => $'!x # some\' ' : option' t 00:11:55 verbose #13652 > > } 00:11:55 verbose #13653 > 00:11:55 debug #745 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/19ed3229a75fb4f198cbbc09451f5b4c344d6bd98c353d833aced109c115b66a/main.spi 00:11:55 verbose #13654 > > 00:11:55 verbose #13655 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13656 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13657 > > │ ### default_value' │ 00:11:55 verbose #13658 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13659 > > 00:11:55 verbose #13660 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13661 > > inl default_value' forall t. (value : t) (x : option' t) : t = 00:11:55 verbose #13662 > > backend_switch { 00:11:55 verbose #13663 > > Fsharp = fun () => $'!x |> Option.defaultValue !value ' : t 00:11:55 verbose #13664 > > Python = fun () => $'!x or !value ' : t 00:11:55 verbose #13665 > > } 00:11:55 verbose #13666 > 00:11:55 debug #746 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7619850644c10e32fcd1d2ce14ea1ff11c518c69982f4a7a4394799da41784a2/main.spi 00:11:55 verbose #13667 > > 00:11:55 verbose #13668 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13669 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13670 > > │ ### box │ 00:11:55 verbose #13671 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13672 > > 00:11:55 verbose #13673 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13674 > > inl box forall t. (x : option t) : option' t = 00:11:55 verbose #13675 > > // x 00:11:55 verbose #13676 > > // |> optionm.map some' 00:11:55 verbose #13677 > > // |> default_with none' 00:11:55 verbose #13678 > > match x with 00:11:55 verbose #13679 > > | Some x => some' x 00:11:55 verbose #13680 > > | None => none' () 00:11:55 verbose #13681 > 00:11:55 debug #747 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3f380d09a9dd735f5cdabf66b540dbf72125e741dd91f215acd92f9f66f05075/main.spi 00:11:55 verbose #13682 > > 00:11:55 verbose #13683 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:55 verbose #13684 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:55 verbose #13685 > > │ ### map │ 00:11:55 verbose #13686 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:55 verbose #13687 > > 00:11:55 verbose #13688 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:55 verbose #13689 > > inl map forall t u. (fn : t -> u) (x : option' t) : option' u = 00:11:55 verbose #13690 > > backend_switch { 00:11:55 verbose #13691 > > Fsharp = fun () => 00:11:55 verbose #13692 > > inl result : option' u = none' () 00:11:55 verbose #13693 > > $'let _!result = ref !result ' 00:11:55 verbose #13694 > > $'match !x with' 00:11:55 verbose #13695 > > $'| Some x -> (' 00:11:55 verbose #13696 > > $'(fun () ->' 00:11:55 verbose #13697 > > $'(fun () ->' 00:11:55 verbose #13698 > > inl x = dyn $'x' 00:11:55 verbose #13699 > > x |> fn |> emit_unit 00:11:55 verbose #13700 > > $')' 00:11:55 verbose #13701 > > $'|> fun x -> x () |> Some' 00:11:55 verbose #13702 > > $') () ) | None -> None' 00:11:55 verbose #13703 > > $'|> fun x -> _!result.Value <- x' 00:11:55 verbose #13704 > > $'_!result.Value ' : option' u 00:11:55 verbose #13705 > > Python = fun () => 00:11:55 verbose #13706 > > if x =. none' () 00:11:55 verbose #13707 > > then none' () 00:11:55 verbose #13708 > > else fn $'!x ' |> fun x => $'!x ' : option' u 00:11:55 verbose #13709 > > } 00:11:55 verbose #13710 > 00:11:55 debug #748 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/461b202b6ac50f1970fb1749d5c4277004b197fd217bc8902f770f19ad880003/main.spi 00:11:56 verbose #13711 > > 00:11:56 verbose #13712 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:56 verbose #13713 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:56 verbose #13714 > > │ ### map'' │ 00:11:56 verbose #13715 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:56 verbose #13716 > > 00:11:56 verbose #13717 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:56 verbose #13718 > > inl map'' forall t u. (fn : t -> u) (x : option' t) : option' u = 00:11:56 verbose #13719 > > backend_switch { 00:11:56 verbose #13720 > > Fsharp = fun () => $'!x |> Option.map !fn ' : option' u 00:11:56 verbose #13721 > > Python = fun () => x |> map fn 00:11:56 verbose #13722 > > } 00:11:56 verbose #13723 > 00:11:55 debug #749 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e915f51b7dd6439ebf9e8854bde58b86257b0f2f79422082bec0d014bfd4808d/main.spi 00:11:56 verbose #13724 > > 00:11:56 verbose #13725 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:11:56 verbose #13726 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:11:56 verbose #13727 > > │ ### unbox │ 00:11:56 verbose #13728 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:11:56 verbose #13729 > > 00:11:56 verbose #13730 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:56 verbose #13731 > > inl unbox forall t. (x : option' t) : option t = 00:11:56 verbose #13732 > > x |> map Some |> default_value' None 00:11:56 verbose #13733 > > // inl some x : option t = Some x 00:11:56 verbose #13734 > > // inl some = join some 00:11:56 verbose #13735 > > // inl none : option t = None 00:11:56 verbose #13736 > > // $'!x |> Option.map !some |> Option.defaultValue !none ' 00:11:56 verbose #13737 > 00:11:55 debug #750 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/17f5bc8f5bc754f746a744199bdea72a98baa3d62e377b76ca4aa526cab79f62/main.spi 00:11:56 verbose #13738 > > 00:11:56 verbose #13739 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:11:56 verbose #13740 > > //// test 00:11:56 verbose #13741 > > ///! fsharp 00:11:56 verbose #13742 > > ///! cuda 00:11:56 verbose #13743 > > ///! rust 00:11:56 verbose #13744 > > ///! typescript 00:11:56 verbose #13745 > > ///! python 00:11:56 verbose #13746 > > 00:11:56 verbose #13747 > > inl x = Some 3i32 00:11:56 verbose #13748 > > inl y : option i32 = None 00:11:56 verbose #13749 > > inl x' = x |> box |> unbox 00:11:56 verbose #13750 > > inl y' = y |> box |> map id |> unbox 00:11:56 verbose #13751 > > (x', y') |> _assert_eq' (x, y) 00:11:56 verbose #13752 > 00:11:55 debug #751 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/068dbc27f6c650ae03188aeee85c6cec3fc3d4002683047b0ab88ef2b7de23a7/main.spi 00:11:56 verbose #13753 > 00:11:55 debug #752 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c343732a2dd5a08a1cbf0c1b127afdbca105d44f92387c0f33f1be444dbcdd70/main.spi 00:12:08 verbose #13754 > > 00:12:08 verbose #13755 > > ╭─[ 12.53s - return value ]────────────────────────────────────────────────────╮ 00:12:08 verbose #13756 > > │ .py output (Cuda): │ 00:12:08 verbose #13757 > > │ assert_eq' / actual: (US0_0(v0=3), US0_1()) / expected: (US0_0(v0=3), │ 00:12:08 verbose #13758 > > │ US0_1()) │ 00:12:08 verbose #13759 > > │ │ 00:12:08 verbose #13760 > > │ .rs output: │ 00:12:08 verbose #13761 > > │ assert_eq' / actual: (US0_0(3), US0_1) / expected: (US0_0(3), US0_1) │ 00:12:08 verbose #13762 > > │ │ 00:12:08 verbose #13763 > > │ .ts output: │ 00:12:08 verbose #13764 > > │ assert_eq' / actual: US0_0 3,US0_1 / expected: US0_0 3,US0_1 │ 00:12:08 verbose #13765 > > │ │ 00:12:08 verbose #13766 > > │ .py output: │ 00:12:08 verbose #13767 > > │ assert_eq' / actual: (US0_0 3, US0_1) / expected: (US0_0 3, US0_1) │ 00:12:08 verbose #13768 > > │ │ 00:12:08 verbose #13769 > > │ │ 00:12:08 verbose #13770 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:08 verbose #13771 > > 00:12:08 verbose #13772 > > ╭─[ 12.53s - stdout ]──────────────────────────────────────────────────────────╮ 00:12:08 verbose #13773 > > │ .fsx output: │ 00:12:08 verbose #13774 > > │ assert_eq' / actual: struct (US0_0 3, US0_1) / expected: struct (US0_0 3, │ 00:12:08 verbose #13775 > > │ US0_1) │ 00:12:08 verbose #13776 > > │ │ 00:12:08 verbose #13777 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:08 verbose #13778 > > 00:12:08 verbose #13779 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:08 verbose #13780 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:08 verbose #13781 > > │ ### of_obj │ 00:12:08 verbose #13782 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:08 verbose #13783 > > 00:12:08 verbose #13784 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:08 verbose #13785 > > inl of_obj forall t. (x : t) : option' t = 00:12:08 verbose #13786 > > backend_switch { 00:12:08 verbose #13787 > > Fsharp = fun () => 00:12:08 verbose #13788 > > $'let mutable _!x = None' 00:12:08 verbose #13789 > > $'#if \!FABLE_COMPILER && \!WASM && \!CONTRACT' 00:12:08 verbose #13790 > > ((x |> $'Option.ofObj') : option' t) |> emit_unit 00:12:08 verbose #13791 > > $'#else' 00:12:08 verbose #13792 > > $'Some !x ' 00:12:08 verbose #13793 > > $'#endif' 00:12:08 verbose #13794 > > $'|> fun x -> _!x <- Some x' 00:12:08 verbose #13795 > > $'match _!x with Some x -> x | None -> failwith "optionm\'.of_obj 00:12:08 verbose #13796 > > _!x=None"' : option' t 00:12:08 verbose #13797 > > Python = fun () => 00:12:08 verbose #13798 > > $'!x ' : option' t 00:12:08 verbose #13799 > > } 00:12:08 verbose #13800 > 00:12:08 debug #753 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a697f67e634fbd7185fd592a942daaea6af79dda18287f743bcc7d0004914b81/main.spi 00:12:08 verbose #13801 > > 00:12:08 verbose #13802 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:08 verbose #13803 > > //// test 00:12:08 verbose #13804 > > ///! fsharp 00:12:08 verbose #13805 > > ///! cuda 00:12:08 verbose #13806 > > ////! rust // attempted to zero-initialize type `alloc::sync::Arc<dyn 00:12:08 verbose #13807 > > core::any::Any>`, which is invalid 00:12:08 verbose #13808 > > ///! typescript 00:12:08 verbose #13809 > > ///! python 00:12:08 verbose #13810 > > 00:12:08 verbose #13811 > > null () 00:12:08 verbose #13812 > > |> of_obj 00:12:08 verbose #13813 > > |> unbox 00:12:08 verbose #13814 > > |> _assert_eq (None : option string) 00:12:08 verbose #13815 > 00:12:08 debug #754 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dd455a65e0c8dd8730b2af663f8ab04da5176f4b7b9ad4777c2a6fdc00a84d97/main.spi 00:12:08 verbose #13816 > 00:12:08 debug #755 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8de65bd5c33b81cca30948bf701d1bf61150b7d32442d9f8890de214f7d65fdf/main.spi 00:12:17 verbose #13817 > > 00:12:17 verbose #13818 > > ╭─[ 8.56s - return value ]─────────────────────────────────────────────────────╮ 00:12:17 verbose #13819 > > │ .py output (Cuda): │ 00:12:17 verbose #13820 > > │ assert_eq / actual: US0_1() / expected: US0_1() │ 00:12:17 verbose #13821 > > │ │ 00:12:17 verbose #13822 > > │ .ts output: │ 00:12:17 verbose #13823 > > │ assert_eq / actual: US0_1 / expected: US0_1 │ 00:12:17 verbose #13824 > > │ │ 00:12:17 verbose #13825 > > │ .py output: │ 00:12:17 verbose #13826 > > │ assert_eq / actual: US0_1 / expected: US0_1 │ 00:12:17 verbose #13827 > > │ │ 00:12:17 verbose #13828 > > │ │ 00:12:17 verbose #13829 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:17 verbose #13830 > > 00:12:17 verbose #13831 > > ╭─[ 8.56s - stdout ]───────────────────────────────────────────────────────────╮ 00:12:17 verbose #13832 > > │ .fsx output: │ 00:12:17 verbose #13833 > > │ assert_eq / actual: US0_1 / expected: US0_1 │ 00:12:17 verbose #13834 > > │ │ 00:12:17 verbose #13835 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:17 verbose #13836 > > 00:12:17 verbose #13837 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:17 verbose #13838 > > //// test 00:12:17 verbose #13839 > > ///! fsharp 00:12:17 verbose #13840 > > ///! cuda 00:12:17 verbose #13841 > > ///! rust 00:12:17 verbose #13842 > > ///! typescript 00:12:17 verbose #13843 > > ///! python 00:12:17 verbose #13844 > > 00:12:17 verbose #13845 > > "" 00:12:17 verbose #13846 > > |> of_obj 00:12:17 verbose #13847 > > |> unbox 00:12:17 verbose #13848 > > |> _assert_eq' (Some "") 00:12:17 verbose #13849 > 00:12:17 debug #756 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7ff77606a616ab0593db3d9a8be490dd92236db65912cbbd364b364b0cf2302b/main.spi 00:12:17 verbose #13850 > 00:12:17 debug #757 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f81206df0c5b7478d7aea8a47696fa138b457907fa1dc5ca0c8c1747581c5ad0/main.spi 00:12:29 verbose #13851 > > 00:12:29 verbose #13852 > > ╭─[ 11.72s - return value ]────────────────────────────────────────────────────╮ 00:12:29 verbose #13853 > > │ .py output (Cuda): │ 00:12:29 verbose #13854 > > │ assert_eq' / actual: US0_0(v0='') / expected: US0_0(v0='') │ 00:12:29 verbose #13855 > > │ │ 00:12:29 verbose #13856 > > │ .rs output: │ 00:12:29 verbose #13857 > > │ assert_eq' / actual: US0_0("") / expected: US0_0("") │ 00:12:29 verbose #13858 > > │ │ 00:12:29 verbose #13859 > > │ .ts output: │ 00:12:29 verbose #13860 > > │ assert_eq' / actual: US0_0 / expected: US0_0 │ 00:12:29 verbose #13861 > > │ │ 00:12:29 verbose #13862 > > │ .py output: │ 00:12:29 verbose #13863 > > │ assert_eq' / actual: US0_0 "" / expected: US0_0 "" │ 00:12:29 verbose #13864 > > │ │ 00:12:29 verbose #13865 > > │ │ 00:12:29 verbose #13866 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13867 > > 00:12:29 verbose #13868 > > ╭─[ 11.72s - stdout ]──────────────────────────────────────────────────────────╮ 00:12:29 verbose #13869 > > │ .fsx output: │ 00:12:29 verbose #13870 > > │ assert_eq' / actual: US0_0 "" / expected: US0_0 "" │ 00:12:29 verbose #13871 > > │ │ 00:12:29 verbose #13872 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13873 > > 00:12:29 verbose #13874 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13875 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13876 > > │ ### flatten' │ 00:12:29 verbose #13877 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13878 > > 00:12:29 verbose #13879 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13880 > > inl flatten' x = 00:12:29 verbose #13881 > > x 00:12:29 verbose #13882 > > |> unbox 00:12:29 verbose #13883 > > |> optionm.map unbox 00:12:29 verbose #13884 > > |> flatten 00:12:29 verbose #13885 > 00:12:28 debug #758 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/81ca5a14242158775d3de0c3255ca905f3071f53bf9fb0ec0f517711fcc4acc2/main.spi 00:12:29 verbose #13886 > > 00:12:29 verbose #13887 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13888 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13889 > > │ ## rust │ 00:12:29 verbose #13890 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13891 > > 00:12:29 verbose #13892 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13893 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13894 > > │ ### try' │ 00:12:29 verbose #13895 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13896 > > 00:12:29 verbose #13897 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13898 > > inl try' forall t. (x : option' t) : t = 00:12:29 verbose #13899 > > !\\(x, $'"$0?"') 00:12:29 verbose #13900 > 00:12:28 debug #759 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/437fc5bb3cc9740d5e441074827d4ed9d169b448a37b19a44df58ae9de628ecd/main.spi 00:12:29 verbose #13901 > > 00:12:29 verbose #13902 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13903 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13904 > > │ ### map' │ 00:12:29 verbose #13905 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13906 > > 00:12:29 verbose #13907 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13908 > > inl map' forall t u. (fn : t -> u) (x : option' t) : option' u = 00:12:29 verbose #13909 > > (!\($'"true; let _result = !x.map(|x| { //"') : bool) |> ignore 00:12:29 verbose #13910 > > (!\\(fn !\($'"x"'), $'"true; $0 })"') : bool) |> ignore 00:12:29 verbose #13911 > > !\($'"_result"') 00:12:29 verbose #13912 > 00:12:28 debug #760 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c886771d2324eb0e1d1c1b9da938a5895b095451cdcb3f354507e608de5a6021/main.spi 00:12:29 verbose #13913 > > 00:12:29 verbose #13914 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13915 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13916 > > │ ### unwrap │ 00:12:29 verbose #13917 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13918 > > 00:12:29 verbose #13919 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13920 > > inl unwrap forall t. (x : option' t) : t = 00:12:29 verbose #13921 > > !\\(x, $'"$0.unwrap()"') 00:12:29 verbose #13922 > 00:12:29 debug #761 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4a06b78d02f834808abf914b42cc32b28b8ce5225014eec44beb7338ab76f5ff/main.spi 00:12:29 verbose #13923 > > 00:12:29 verbose #13924 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13925 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13926 > > │ ### take │ 00:12:29 verbose #13927 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13928 > > 00:12:29 verbose #13929 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13930 > > inl take forall t. (x : option' t) : option' t = 00:12:29 verbose #13931 > > (!\\(x, $'"true; let mut !x = !x"') : bool) |> ignore 00:12:29 verbose #13932 > > !\\(x, $'"Option::take(&mut $0)"') 00:12:29 verbose #13933 > 00:12:29 debug #762 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/57fe484d348cbd5278a7ef9ecea98587b4577ddab1fca46d74e168ce3ad9edb3/main.spi 00:12:29 verbose #13934 > > 00:12:29 verbose #13935 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13936 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13937 > > │ ### take_ref │ 00:12:29 verbose #13938 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13939 > > 00:12:29 verbose #13940 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13941 > > inl take_ref forall t. (x : rust.ref (option' t)) : option' t = 00:12:29 verbose #13942 > > (!\\(x, $'"true; let mut !x = !x"') : bool) |> ignore 00:12:29 verbose #13943 > > !\\(x, $'"Option::take(&mut $0)"') 00:12:29 verbose #13944 > 00:12:29 debug #763 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8f05af9a5ac89b478fd7bd865a479c13b01f200250c5bf2ab6335edbe8115ac2/main.spi 00:12:29 verbose #13945 > > 00:12:29 verbose #13946 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13947 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13948 > > │ ### take_ref_mut │ 00:12:29 verbose #13949 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13950 > > 00:12:29 verbose #13951 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13952 > > inl take_ref_mut forall t. (x : rust.ref (rust.mut' (option' t))) : option' t = 00:12:29 verbose #13953 > > !\\(x, $'"Option::take($0)"') 00:12:29 verbose #13954 > 00:12:29 debug #764 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4bc92801d68678320465b4acf12db9bec7c81f1448aa3554a78bd4c43b00fdf2/main.spi 00:12:29 verbose #13955 > > 00:12:29 verbose #13956 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13957 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13958 > > │ ### as_ref │ 00:12:29 verbose #13959 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13960 > > 00:12:29 verbose #13961 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13962 > > inl as_ref forall t. (x : rust.ref (option' t)) : option' (rust.ref t) = 00:12:29 verbose #13963 > > !\\(x, $'"$0.as_ref()"') 00:12:29 verbose #13964 > 00:12:29 debug #765 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa541e15531e0066a13ea9acaa75f7f753973374c3b3e9f7ef8ae51894b443a2/main.spi 00:12:29 verbose #13965 > > 00:12:29 verbose #13966 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13967 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13968 > > │ ### as_mut │ 00:12:29 verbose #13969 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13970 > > 00:12:29 verbose #13971 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13972 > > inl as_mut forall t. (x : rust.ref (rust.mut' (option' t))) : option' (rust.ref 00:12:29 verbose #13973 > > (rust.mut' t)) = 00:12:29 verbose #13974 > > !\\(x, $'"$0.as_mut()"') 00:12:29 verbose #13975 > 00:12:29 debug #766 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2671bb5e4bcfe20102b55080c5d51261f99d8f7b9563ddfcc8c30b9fc0223cf5/main.spi 00:12:29 verbose #13976 > > 00:12:29 verbose #13977 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:29 verbose #13978 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:29 verbose #13979 > > │ ### unwrap_or │ 00:12:29 verbose #13980 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:29 verbose #13981 > > 00:12:29 verbose #13982 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:29 verbose #13983 > > inl unwrap_or forall t. (def : t) (x : option' t) : t = 00:12:29 verbose #13984 > > !\($'"!x.unwrap_or(!def)"') 00:12:29 verbose #13985 > 00:12:29 debug #767 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5391f89ef31a463479b8e8e227247aaad6a20034fabeae10a0baf8d03da54ab1/main.spi 00:12:30 verbose #13986 > > 00:12:30 verbose #13987 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:30 verbose #13988 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:30 verbose #13989 > > │ ### and_then │ 00:12:30 verbose #13990 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:30 verbose #13991 > > 00:12:30 verbose #13992 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:30 verbose #13993 > > inl and_then forall t u. (fn : t -> option' u) (x : option' t) : option' u = 00:12:30 verbose #13994 > > !\\((x, fn), $'"$0.and_then(|x| $1(x))"') 00:12:30 verbose #13995 > 00:12:29 debug #768 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d65557b682d0b4fb313597974eff511016de7c180f8aef1f6e3fe58bf36c6a7a/main.spi 00:12:30 verbose #13996 > > 00:12:30 verbose #13997 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:30 verbose #13998 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:30 verbose #13999 > > │ ### rc_upgrade │ 00:12:30 verbose #14000 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:30 verbose #14001 > > 00:12:30 verbose #14002 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:30 verbose #14003 > > inl rc_upgrade forall t. (x : rust.weak_rc t) : option' (rust.rc t) = 00:12:30 verbose #14004 > > !\\(x, $'"std::rc::Weak::upgrade(&$0)"') 00:12:30 verbose #14005 > 00:12:29 debug #769 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b4c3d51df77b839ae74e1c2ac0b4c78365242e9a95f13647d243765451282fab/main.spi 00:12:30 verbose #14006 > > 00:12:30 verbose #14007 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:30 verbose #14008 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:30 verbose #14009 > > │ ### rc_into_inner │ 00:12:30 verbose #14010 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:30 verbose #14011 > > 00:12:30 verbose #14012 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:30 verbose #14013 > > inl rc_into_inner forall t. (x : rust.rc t) : option' t = 00:12:30 verbose #14014 > > !\\(x, $'"std::rc::Rc::into_inner($0)"') 00:12:30 verbose #14015 > 00:12:29 debug #770 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/448d09e7c8083f3f8bab86d541e24e02da50a4e4663edf3f794152c1c4f2b556/main.spi 00:12:30 verbose #14016 > > 00:12:30 verbose #14017 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:30 verbose #14018 > > //// test 00:12:30 verbose #14019 > > ///! rust 00:12:30 verbose #14020 > > 00:12:30 verbose #14021 > > rust.new_rc 0i32 00:12:30 verbose #14022 > > |> rc_into_inner 00:12:30 verbose #14023 > > |> unbox 00:12:30 verbose #14024 > > |> _assert_eq' (Some 0i32) 00:12:30 verbose #14025 > 00:12:29 debug #771 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/558946448150113feccf8a5cf7549ee8c478e1c123a11eae4215836e7a3c5a99/main.spi 00:12:37 verbose #14026 > > 00:12:37 verbose #14027 > > ╭─[ 7.10s - return value ]─────────────────────────────────────────────────────╮ 00:12:37 verbose #14028 > > │ assert_eq' / actual: US0_0(0) / expected: US0_0(0) │ 00:12:37 verbose #14029 > > │ │ 00:12:37 verbose #14030 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:37 verbose #14031 > 00:00:48 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 30495 } 00:12:37 verbose #14032 > 00:00:48 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:12:38 verbose #14033 > 00:00:49 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.ipynb to html 00:12:38 verbose #14034 > 00:00:49 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:12:38 verbose #14035 > 00:00:49 verbose #7 ! validate(nb) 00:12:38 verbose #14036 > 00:00:49 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:12:38 verbose #14037 > 00:00:49 verbose #9 ! return _pygments_highlight( 00:12:38 verbose #14038 > 00:00:49 verbose #10 ! [NbConvertApp] Writing 341894 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/optionm'.dib.html 00:12:38 verbose #14039 > 00:00:49 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 900 } 00:12:38 verbose #14040 > 00:00:49 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 900 } 00:12:38 verbose #14041 > 00:00:49 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/optionm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/optionm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:12:39 verbose #14042 > 00:00:50 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:12:39 verbose #14043 > 00:00:50 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:12:39 verbose #14044 > 00:00:50 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 31454 } 00:12:39 debug #14045 runtime.execute_with_options_async / { exit_code = 0; output_length = 35313 } 00:12:39 debug #19 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path optionm'.dib --retries 3 00:12:39 debug #14046 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path listm'.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:12:39 verbose #14047 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "listm'.dib", "--retries", "3"])) } 00:12:39 verbose #14048 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:12:40 verbose #14049 > > 00:12:40 verbose #14050 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:40 verbose #14051 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:40 verbose #14052 > > │ # listm' │ 00:12:40 verbose #14053 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:43 verbose #14054 > > 00:12:43 verbose #14055 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:43 verbose #14056 > > //// test 00:12:43 verbose #14057 > > 00:12:43 verbose #14058 > > open testing 00:12:43 verbose #14059 > 00:12:42 debug #772 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:12:43 verbose #14060 > > 00:12:43 verbose #14061 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:43 verbose #14062 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:43 verbose #14063 > > │ ## listm' │ 00:12:43 verbose #14064 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:43 verbose #14065 > > 00:12:43 verbose #14066 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:43 verbose #14067 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:43 verbose #14068 > > │ ### append │ 00:12:43 verbose #14069 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:43 verbose #14070 > > 00:12:43 verbose #14071 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:43 verbose #14072 > > instance append list t = 00:12:43 verbose #14073 > > listm.append 00:12:43 verbose #14074 > 00:12:43 debug #773 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ac2d50a7d27726add1bcb0372fd8edbfedd5a4cebc54a7d7ed47565e7d48af7a/main.spi 00:12:43 verbose #14075 > > 00:12:43 verbose #14076 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:43 verbose #14077 > > //// test 00:12:43 verbose #14078 > > 00:12:43 verbose #14079 > > [[ "a"; "b" ]] ++ [[ "c"; "d" ]] 00:12:43 verbose #14080 > > |> _assert_eq [[ "a"; "b"; "c"; "d" ]] 00:12:43 verbose #14081 > 00:12:43 debug #774 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86af39ebf815404325b75ab00b3547380beba07b357114185b526c84d0b4f4f6/main.spi 00:12:44 verbose #14082 > > 00:12:44 verbose #14083 > > ╭─[ 784.77ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:44 verbose #14084 > > │ assert_eq / actual: UH0_1 ("a", UH0_1 ("b", UH0_1 ("c", UH0_1 ("d", │ 00:12:44 verbose #14085 > > │ UH0_0)))) / expected: UH0_1 ("a", UH0_1 ("b", UH0_1 ("c", UH0_1 ("d", │ 00:12:44 verbose #14086 > > │ UH0_0)))) │ 00:12:44 verbose #14087 > > │ │ 00:12:44 verbose #14088 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:44 verbose #14089 > > 00:12:44 verbose #14090 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:44 verbose #14091 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:44 verbose #14092 > > │ ### collect │ 00:12:44 verbose #14093 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:44 verbose #14094 > > 00:12:44 verbose #14095 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:44 verbose #14096 > > inl collect forall t r. (fn : t -> list r) (items : list t) : list r = 00:12:44 verbose #14097 > > items 00:12:44 verbose #14098 > > |> listm.map fn 00:12:44 verbose #14099 > > |> listm.fold (++) [[]] 00:12:44 verbose #14100 > 00:12:44 debug #775 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6cab2bfe4d19f0c9cf526dce2e91a9144ee99603a6a751acad047b780a7baea5/main.spi 00:12:44 verbose #14101 > > 00:12:44 verbose #14102 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:44 verbose #14103 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:44 verbose #14104 > > │ ### init_series │ 00:12:44 verbose #14105 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:44 verbose #14106 > > 00:12:44 verbose #14107 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:44 verbose #14108 > > inl init_series start end inc = 00:12:44 verbose #14109 > > inl total : f64 = conv ((end - start) / inc) + 1 00:12:44 verbose #14110 > > listm.init total (conv >> (*) inc >> (+) start) 00:12:44 verbose #14111 > 00:12:44 debug #776 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4b70a8dcaf3befefe66bd978a8288673ed6710c1d5b3835e55cbc61c93c782c9/main.spi 00:12:44 verbose #14112 > > 00:12:44 verbose #14113 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:44 verbose #14114 > > //// test 00:12:44 verbose #14115 > > 00:12:44 verbose #14116 > > init_series 0 1 0.5 00:12:44 verbose #14117 > > |> _assert_eq [[ 0f64; 0.5; 1 ]] 00:12:44 verbose #14118 > 00:12:44 debug #777 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a8c05ad6c161fc5da481fcb1e6f63d49be5509308075539183f2aff86f0a418a/main.spi 00:12:44 verbose #14119 > > 00:12:44 verbose #14120 > > ╭─[ 130.52ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:44 verbose #14121 > > │ assert_eq / actual: UH0_1 (0.0, UH0_1 (0.5, UH0_1 (1.0, UH0_0))) / expected: │ 00:12:44 verbose #14122 > > │ UH0_1 (0.0, UH0_1 (0.5, UH0_1 (1.0, UH0_0))) │ 00:12:44 verbose #14123 > > │ │ 00:12:44 verbose #14124 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:44 verbose #14125 > > 00:12:44 verbose #14126 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:44 verbose #14127 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:44 verbose #14128 > > │ ### try_item │ 00:12:44 verbose #14129 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:44 verbose #14130 > > 00:12:44 verbose #14131 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:44 verbose #14132 > > inl rec try_item i = function 00:12:44 verbose #14133 > > | Cons (x, _) when i = 0 => Some x 00:12:44 verbose #14134 > > | Cons (_, xs) => try_item (i - 1) xs 00:12:44 verbose #14135 > > | Nil => None 00:12:44 verbose #14136 > 00:12:44 debug #778 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ece2c0cff2a4144396eb7af0cefb80fadfc988ab05fbb632ecea95afcb34fef/main.spi 00:12:45 verbose #14137 > > 00:12:45 verbose #14138 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:45 verbose #14139 > > //// test 00:12:45 verbose #14140 > > 00:12:45 verbose #14141 > > listm.init 10i32 id 00:12:45 verbose #14142 > > |> try_item 9i32 00:12:45 verbose #14143 > > |> _assert_eq (Some 9) 00:12:45 verbose #14144 > 00:12:44 debug #779 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4ddf0276108369c630833744f1dad952a4c26d5e0ecf0089874bb3a30180b4c8/main.spi 00:12:45 verbose #14145 > > 00:12:45 verbose #14146 > > ╭─[ 147.27ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:45 verbose #14147 > > │ assert_eq / actual: US0_0 9 / expected: US0_0 9 │ 00:12:45 verbose #14148 > > │ │ 00:12:45 verbose #14149 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:45 verbose #14150 > > 00:12:45 verbose #14151 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:45 verbose #14152 > > //// test 00:12:45 verbose #14153 > > 00:12:45 verbose #14154 > > listm.init 10i32 id 00:12:45 verbose #14155 > > |> try_item 10i32 00:12:45 verbose #14156 > > |> _assert_eq None 00:12:45 verbose #14157 > 00:12:44 debug #780 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97607e27ddbf94644fc1cd2cdfbe47241417004887a52b9c622d9078f2588f7b/main.spi 00:12:45 verbose #14158 > > 00:12:45 verbose #14159 > > ╭─[ 106.01ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:45 verbose #14160 > > │ assert_eq / actual: US0_1 / expected: US0_1 │ 00:12:45 verbose #14161 > > │ │ 00:12:45 verbose #14162 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:45 verbose #14163 > > 00:12:45 verbose #14164 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:45 verbose #14165 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:45 verbose #14166 > > │ ### item │ 00:12:45 verbose #14167 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:45 verbose #14168 > > 00:12:45 verbose #14169 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:45 verbose #14170 > > inl item i = 00:12:45 verbose #14171 > > try_item i >> optionm.value 00:12:45 verbose #14172 > 00:12:44 debug #781 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/09eee9e762823abd1bcef11058bacaecb52b4643288953048a5b2217369a89b1/main.spi 00:12:45 verbose #14173 > > 00:12:45 verbose #14174 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:45 verbose #14175 > > //// test 00:12:45 verbose #14176 > > 00:12:45 verbose #14177 > > listm.init 10i32 id 00:12:45 verbose #14178 > > |> item 9i32 00:12:45 verbose #14179 > > |> _assert_eq 9 00:12:45 verbose #14180 > 00:12:44 debug #782 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ac6612e0e4c898638d1cbfafee9775e114d94b77844d42ea552b483bf69e75eb/main.spi 00:12:45 verbose #14181 > > 00:12:45 verbose #14182 > > ╭─[ 481.26ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:45 verbose #14183 > > │ assert_eq / actual: 9 / expected: 9 │ 00:12:45 verbose #14184 > > │ │ 00:12:45 verbose #14185 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:45 verbose #14186 > > 00:12:45 verbose #14187 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:45 verbose #14188 > > //// test 00:12:45 verbose #14189 > > 00:12:45 verbose #14190 > > fun () => 00:12:45 verbose #14191 > > listm.init 10i32 id 00:12:45 verbose #14192 > > |> item 10i32 00:12:45 verbose #14193 > > |> ignore 00:12:45 verbose #14194 > > |> _throws 00:12:45 verbose #14195 > > |> optionm.map sm'.format_exception 00:12:45 verbose #14196 > > |> _assert_eq (Some "System.Exception: Option does not have a value.") 00:12:45 verbose #14197 > 00:12:45 debug #783 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9efe014a1bb64aa6050ac3179df7b67e222efc310825ea3639f983e24a2092a6/main.spi 00:12:46 verbose #14198 > > 00:12:46 verbose #14199 > > ╭─[ 335.38ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:46 verbose #14200 > > │ assert_eq / actual: US1_0 "System.Exception: Option does not have a value." │ 00:12:46 verbose #14201 > > │ / expected: US1_0 "System.Exception: Option does not have a value." │ 00:12:46 verbose #14202 > > │ │ 00:12:46 verbose #14203 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14204 > > 00:12:46 verbose #14205 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:46 verbose #14206 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:46 verbose #14207 > > │ ### try_item_ │ 00:12:46 verbose #14208 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14209 > > 00:12:46 verbose #14210 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14211 > > let rec try_item_ i = function 00:12:46 verbose #14212 > > | Cons (x, _) when i = 0 => Some x 00:12:46 verbose #14213 > > | Cons (_, xs) => try_item_ (i - 1) xs 00:12:46 verbose #14214 > > | Nil => None 00:12:46 verbose #14215 > 00:12:45 debug #784 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c5c84714f74da96fda60b04e2049ee226f55faf56e0304d03c01aa9d0d29a65a/main.spi 00:12:46 verbose #14216 > > 00:12:46 verbose #14217 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:46 verbose #14218 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:46 verbose #14219 > > │ ### item_ │ 00:12:46 verbose #14220 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14221 > > 00:12:46 verbose #14222 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14223 > > inl item_ i = 00:12:46 verbose #14224 > > try_item_ i >> optionm.value 00:12:46 verbose #14225 > 00:12:45 debug #785 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ec8d97a24caf5ba89408e5824cf34365bd9ee9a04c3163dca5e54f5889a0b4af/main.spi 00:12:46 verbose #14226 > > 00:12:46 verbose #14227 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:46 verbose #14228 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:46 verbose #14229 > > │ ### sum │ 00:12:46 verbose #14230 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14231 > > 00:12:46 verbose #14232 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14233 > > inl sum list = 00:12:46 verbose #14234 > > list |> listm.fold (+) 0 00:12:46 verbose #14235 > 00:12:45 debug #786 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8d16d7149b84e2452fe5e8d0038a8b7248e58bd7189534c4f53ed11221478261/main.spi 00:12:46 verbose #14236 > > 00:12:46 verbose #14237 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14238 > > //// test 00:12:46 verbose #14239 > > 00:12:46 verbose #14240 > > listm.init 10i32 id 00:12:46 verbose #14241 > > |> sum 00:12:46 verbose #14242 > > |> _assert_eq 45 00:12:46 verbose #14243 > 00:12:45 debug #787 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a7110fb0a4fb98c8ebeaf774577d30899dcd2afd4810e3181215398426cee8a2/main.spi 00:12:46 verbose #14244 > > 00:12:46 verbose #14245 > > ╭─[ 90.03ms - stdout ]─────────────────────────────────────────────────────────╮ 00:12:46 verbose #14246 > > │ assert_eq / actual: 45 / expected: 45 │ 00:12:46 verbose #14247 > > │ │ 00:12:46 verbose #14248 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14249 > > 00:12:46 verbose #14250 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:46 verbose #14251 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:46 verbose #14252 > > │ ### unzip │ 00:12:46 verbose #14253 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14254 > > 00:12:46 verbose #14255 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14256 > > inl unzip list = 00:12:46 verbose #14257 > > (([[]], [[]]), list) 00:12:46 verbose #14258 > > ||> listm.fold fun (acc_x, acc_y) (x, y) => 00:12:46 verbose #14259 > > x :: acc_x, y :: acc_y 00:12:46 verbose #14260 > > |> fun x, y => 00:12:46 verbose #14261 > > x |> listm.rev, y |> listm.rev 00:12:46 verbose #14262 > 00:12:46 debug #788 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2ed906661c54e10a79be7b7ae9b5600b05ab6dfd80c7975248acbc11aa6e2a7e/main.spi 00:12:46 verbose #14263 > > 00:12:46 verbose #14264 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14265 > > //// test 00:12:46 verbose #14266 > > 00:12:46 verbose #14267 > > listm.init 10i32 id 00:12:46 verbose #14268 > > |> listm.map (fun x => x, x) 00:12:46 verbose #14269 > > |> unzip 00:12:46 verbose #14270 > > |> fun x, y => 00:12:46 verbose #14271 > > x |> sum 00:12:46 verbose #14272 > > |> _assert_eq 45 00:12:46 verbose #14273 > > 00:12:46 verbose #14274 > > y |> sum 00:12:46 verbose #14275 > > |> _assert_eq 45 00:12:46 verbose #14276 > 00:12:46 debug #789 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77f1c00d88f54ea461a23baef9f89ecd729eb33b7fd1eb4748170efe6bf71abb/main.spi 00:12:46 verbose #14277 > > 00:12:46 verbose #14278 > > ╭─[ 106.45ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:46 verbose #14279 > > │ assert_eq / actual: 45 / expected: 45 │ 00:12:46 verbose #14280 > > │ assert_eq / actual: 45 / expected: 45 │ 00:12:46 verbose #14281 > > │ │ 00:12:46 verbose #14282 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14283 > > 00:12:46 verbose #14284 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:46 verbose #14285 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:46 verbose #14286 > > │ ### try_index_of │ 00:12:46 verbose #14287 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14288 > > 00:12:46 verbose #14289 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14290 > > inl try_index_of item list = 00:12:46 verbose #14291 > > inl rec loop i = function 00:12:46 verbose #14292 > > | [[]] => None 00:12:46 verbose #14293 > > | x :: xs => 00:12:46 verbose #14294 > > if x = item 00:12:46 verbose #14295 > > then Some i 00:12:46 verbose #14296 > > else loop (i + 1) xs 00:12:46 verbose #14297 > > loop 0 list 00:12:46 verbose #14298 > > 00:12:46 verbose #14299 > > inl index_of item = 00:12:46 verbose #14300 > > try_index_of item >> optionm.value 00:12:46 verbose #14301 > > 00:12:46 verbose #14302 > > inl try_index_of_ item list = 00:12:46 verbose #14303 > > let rec loop i = function 00:12:46 verbose #14304 > > | [[]] => None 00:12:46 verbose #14305 > > | x :: xs => 00:12:46 verbose #14306 > > if x = item 00:12:46 verbose #14307 > > then Some i 00:12:46 verbose #14308 > > else loop (i + 1) xs 00:12:46 verbose #14309 > > loop 0 list 00:12:46 verbose #14310 > > 00:12:46 verbose #14311 > > inl index_of_ item = 00:12:46 verbose #14312 > > try_index_of_ item >> optionm.value 00:12:46 verbose #14313 > > 00:12:46 verbose #14314 > > inl try_index_of__ item list = 00:12:46 verbose #14315 > > inl i = mut 0 00:12:46 verbose #14316 > > inl list = mut list 00:12:46 verbose #14317 > > inl result = mut None 00:12:46 verbose #14318 > > let rec loop () = 00:12:46 verbose #14319 > > match *list with 00:12:46 verbose #14320 > > | [[]] => result <- None 00:12:46 verbose #14321 > > | x :: xs => 00:12:46 verbose #14322 > > if x = item 00:12:46 verbose #14323 > > then result <- Some *i 00:12:46 verbose #14324 > > else 00:12:46 verbose #14325 > > i <- *i + 1 00:12:46 verbose #14326 > > list <- xs 00:12:46 verbose #14327 > > loop () 00:12:46 verbose #14328 > > loop () 00:12:46 verbose #14329 > > *result 00:12:46 verbose #14330 > > 00:12:46 verbose #14331 > > inl index_of__ item = 00:12:46 verbose #14332 > > try_index_of__ item >> optionm.value 00:12:46 verbose #14333 > 00:12:46 debug #790 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9410c20181f7476afe2394d55a1a43bb9e0c0b93ef9ab94da6bebd574bdbb1ac/main.spi 00:12:46 verbose #14334 > > 00:12:46 verbose #14335 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14336 > > //// test 00:12:46 verbose #14337 > > 00:12:46 verbose #14338 > > listm.init 10i32 id 00:12:46 verbose #14339 > > |> index_of 5i32 00:12:46 verbose #14340 > > |> _assert_eq 5i32 00:12:46 verbose #14341 > 00:12:46 debug #791 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2748a0c24e0c5ff6cfc2364d7881e828f3e6484e31a9118c35f31efa43dcedb5/main.spi 00:12:46 verbose #14342 > > 00:12:46 verbose #14343 > > ╭─[ 90.68ms - stdout ]─────────────────────────────────────────────────────────╮ 00:12:46 verbose #14344 > > │ assert_eq / actual: 5 / expected: 5 │ 00:12:46 verbose #14345 > > │ │ 00:12:46 verbose #14346 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14347 > > 00:12:46 verbose #14348 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14349 > > //// test 00:12:46 verbose #14350 > > 00:12:46 verbose #14351 > > listm.init 10i32 id 00:12:46 verbose #14352 > > |> try_index_of 10i32 00:12:46 verbose #14353 > > |> _assert_eq (None : option i32) 00:12:46 verbose #14354 > 00:12:46 debug #792 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c700ac5e4646093f8d07ccd158e1be1fb43a76fd8d8402f4152eb478f87d2d22/main.spi 00:12:46 verbose #14355 > > 00:12:46 verbose #14356 > > ╭─[ 119.51ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:46 verbose #14357 > > │ assert_eq / actual: US0_1 / expected: US0_1 │ 00:12:46 verbose #14358 > > │ │ 00:12:46 verbose #14359 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14360 > > 00:12:46 verbose #14361 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:46 verbose #14362 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:46 verbose #14363 > > │ ### try_find │ 00:12:46 verbose #14364 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:46 verbose #14365 > > 00:12:46 verbose #14366 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:46 verbose #14367 > > inl try_find fn list = 00:12:46 verbose #14368 > > inl rec loop = function 00:12:46 verbose #14369 > > | [[]] => None 00:12:46 verbose #14370 > > | x :: xs => 00:12:46 verbose #14371 > > if fn x 00:12:46 verbose #14372 > > then Some x 00:12:46 verbose #14373 > > else loop xs 00:12:46 verbose #14374 > > loop list 00:12:46 verbose #14375 > > 00:12:46 verbose #14376 > > inl try_find_ fn list = 00:12:46 verbose #14377 > > let rec loop = function 00:12:46 verbose #14378 > > | [[]] => None 00:12:46 verbose #14379 > > | x :: xs => 00:12:46 verbose #14380 > > if fn x 00:12:46 verbose #14381 > > then Some x 00:12:46 verbose #14382 > > else loop xs 00:12:46 verbose #14383 > > loop list 00:12:47 verbose #14384 > 00:12:46 debug #793 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dfe320ac8ab68776ed36f0bf7fdcc5a87a13f2ea28e1ceb759e2fd90ac65a3c2/main.spi 00:12:47 verbose #14385 > > 00:12:47 verbose #14386 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14387 > > //// test 00:12:47 verbose #14388 > > 00:12:47 verbose #14389 > > listm.init 10i32 id 00:12:47 verbose #14390 > > |> try_find ((=) 5i32) 00:12:47 verbose #14391 > > |> _assert_eq (Some 5i32) 00:12:47 verbose #14392 > 00:12:46 debug #794 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/da6df0c57eccfd46ec73c74d96f89420d247e56daf27900ab9c909c12444bcf4/main.spi 00:12:47 verbose #14393 > > 00:12:47 verbose #14394 > > ╭─[ 116.61ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:47 verbose #14395 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:12:47 verbose #14396 > > │ │ 00:12:47 verbose #14397 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14398 > > 00:12:47 verbose #14399 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14400 > > inl find x = 00:12:47 verbose #14401 > > try_find x >> optionm.value 00:12:47 verbose #14402 > > 00:12:47 verbose #14403 > > inl find_ x = 00:12:47 verbose #14404 > > try_find_ x >> optionm.value 00:12:47 verbose #14405 > 00:12:46 debug #795 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a1821aec9fa5e2801b042726b550b210f3fd0f77e057319c773b3280cb11d566/main.spi 00:12:47 verbose #14406 > > 00:12:47 verbose #14407 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14408 > > //// test 00:12:47 verbose #14409 > > 00:12:47 verbose #14410 > > listm.init 10i32 id 00:12:47 verbose #14411 > > |> find ((=) 5i32) 00:12:47 verbose #14412 > > |> _assert_eq 5i32 00:12:47 verbose #14413 > 00:12:46 debug #796 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/54626bb7db8bf25e66e400bc0b2672653abb74fb28b030403992c48ae3d5e2de/main.spi 00:12:47 verbose #14414 > > 00:12:47 verbose #14415 > > ╭─[ 99.81ms - stdout ]─────────────────────────────────────────────────────────╮ 00:12:47 verbose #14416 > > │ assert_eq / actual: 5 / expected: 5 │ 00:12:47 verbose #14417 > > │ │ 00:12:47 verbose #14418 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14419 > > 00:12:47 verbose #14420 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:47 verbose #14421 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:47 verbose #14422 > > │ ### choose │ 00:12:47 verbose #14423 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14424 > > 00:12:47 verbose #14425 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14426 > > inl choose f l = 00:12:47 verbose #14427 > > (l, [[]]) 00:12:47 verbose #14428 > > ||> listm.foldBack fun x acc => 00:12:47 verbose #14429 > > match f x with 00:12:47 verbose #14430 > > | Some y => y :: acc 00:12:47 verbose #14431 > > | None => acc 00:12:47 verbose #14432 > 00:12:46 debug #797 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bc27e102a1774cd3266dc3e0000828fdb7417375f7bf974a23d5f2131a1e54cd/main.spi 00:12:47 verbose #14433 > > 00:12:47 verbose #14434 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14435 > > //// test 00:12:47 verbose #14436 > > 00:12:47 verbose #14437 > > listm.init 10i32 id 00:12:47 verbose #14438 > > |> choose (fun x => if x % 2 = 0 then Some x else None) 00:12:47 verbose #14439 > > |> _assert_eq [[ 0; 2; 4; 6; 8 ]] 00:12:47 verbose #14440 > 00:12:47 debug #798 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8cba64b56c6f2a47619e841da8cf886d09ad2ea634606f60871d38ddc60ed326/main.spi 00:12:47 verbose #14441 > > 00:12:47 verbose #14442 > > ╭─[ 121.51ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:47 verbose #14443 > > │ assert_eq / actual: UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, │ 00:12:47 verbose #14444 > > │ UH0_0))))) / expected: UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, │ 00:12:47 verbose #14445 > > │ UH0_0))))) │ 00:12:47 verbose #14446 > > │ │ 00:12:47 verbose #14447 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14448 > > 00:12:47 verbose #14449 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:47 verbose #14450 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:47 verbose #14451 > > │ ### filter │ 00:12:47 verbose #14452 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14453 > > 00:12:47 verbose #14454 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14455 > > inl filter forall t. (fn : t -> bool) (list : list t) : list t = 00:12:47 verbose #14456 > > (list, Nil) 00:12:47 verbose #14457 > > ||> listm.foldBack fun x acc => 00:12:47 verbose #14458 > > if fn x then x :: acc else acc 00:12:47 verbose #14459 > 00:12:47 debug #799 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7c89e2877f6980ba0b691c887bd82f3505751f120357d2f8ec1196db746a0bec/main.spi 00:12:47 verbose #14460 > > 00:12:47 verbose #14461 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:47 verbose #14462 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:47 verbose #14463 > > │ ### zip_with │ 00:12:47 verbose #14464 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14465 > > 00:12:47 verbose #14466 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14467 > > inl zip_with fn xs ys = 00:12:47 verbose #14468 > > inl rec loop acc xs ys = 00:12:47 verbose #14469 > > match xs, ys with 00:12:47 verbose #14470 > > | Cons (x, xs), Cons (y, ys) => 00:12:47 verbose #14471 > > loop (fn x y :: acc) xs ys 00:12:47 verbose #14472 > > | _ => listm.rev acc 00:12:47 verbose #14473 > > loop [[]] xs ys 00:12:47 verbose #14474 > > 00:12:47 verbose #14475 > > inl zip_with_ fn xs ys = 00:12:47 verbose #14476 > > let rec loop acc xs ys = 00:12:47 verbose #14477 > > match xs, ys with 00:12:47 verbose #14478 > > | Cons (x, xs), Cons (y, ys) => 00:12:47 verbose #14479 > > loop (fn x y :: acc) xs ys 00:12:47 verbose #14480 > > | _ => listm.rev acc 00:12:47 verbose #14481 > > loop [[]] xs ys 00:12:47 verbose #14482 > 00:12:47 debug #800 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e72df7220c23bed98ed14a55ce842f6a6aa059186e76dcc7a201a2cfb70ccc8f/main.spi 00:12:47 verbose #14483 > > 00:12:47 verbose #14484 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14485 > > //// test 00:12:47 verbose #14486 > > 00:12:47 verbose #14487 > > ([[ 1i32; 2; 3 ]], [[ 4; 5; 6 ]]) 00:12:47 verbose #14488 > > ||> zip_with (+) 00:12:47 verbose #14489 > > |> _assert_eq [[ 5; 7; 9 ]] 00:12:47 verbose #14490 > 00:12:47 debug #801 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/14da4286ed89be4b37a7c48e1ca86e8e63672fe3918696599958ade30b811e54/main.spi 00:12:47 verbose #14491 > > 00:12:47 verbose #14492 > > ╭─[ 123.90ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:47 verbose #14493 > > │ assert_eq / actual: UH0_1 (5, UH0_1 (7, UH0_1 (9, UH0_0))) / expected: UH0_1 │ 00:12:47 verbose #14494 > > │ (5, UH0_1 (7, UH0_1 (9, UH0_0))) │ 00:12:47 verbose #14495 > > │ │ 00:12:47 verbose #14496 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14497 > > 00:12:47 verbose #14498 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:47 verbose #14499 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:47 verbose #14500 > > │ ### zip │ 00:12:47 verbose #14501 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:47 verbose #14502 > > 00:12:47 verbose #14503 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14504 > > inl zip xs ys = 00:12:47 verbose #14505 > > zip_with pair xs ys 00:12:47 verbose #14506 > > 00:12:47 verbose #14507 > > inl zip_ xs ys = 00:12:47 verbose #14508 > > zip_with_ pair xs ys 00:12:47 verbose #14509 > 00:12:47 debug #802 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e2e0f7f80191515ef21f7a5c0e07187fac8a46ed7f0131c404cd85aa1893c5f3/main.spi 00:12:47 verbose #14510 > > 00:12:47 verbose #14511 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:47 verbose #14512 > > //// test 00:12:47 verbose #14513 > > 00:12:47 verbose #14514 > > ([[ 1i32; 2; 3 ]], [[ 4i32; 5; 6 ]]) 00:12:47 verbose #14515 > > ||> zip 00:12:47 verbose #14516 > > |> _assert_eq [[ 1, 4; 2, 5; 3, 6 ]] 00:12:48 verbose #14517 > 00:12:47 debug #803 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2092e6581b1b53dae5464546f30538c71f315e378806230ffed6e6ce63a07381/main.spi 00:12:48 verbose #14518 > > 00:12:48 verbose #14519 > > ╭─[ 183.59ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:48 verbose #14520 > > │ assert_eq / actual: UH0_1 (1, 4, UH0_1 (2, 5, UH0_1 (3, 6, UH0_0))) / │ 00:12:48 verbose #14521 > > │ expected: UH0_1 (1, 4, UH0_1 (2, 5, UH0_1 (3, 6, UH0_0))) │ 00:12:48 verbose #14522 > > │ │ 00:12:48 verbose #14523 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14524 > > 00:12:48 verbose #14525 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:48 verbose #14526 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:48 verbose #14527 > > │ ### indexed │ 00:12:48 verbose #14528 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14529 > > 00:12:48 verbose #14530 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14531 > > inl indexed list = 00:12:48 verbose #14532 > > (([[]], 0), list) 00:12:48 verbose #14533 > > ||> listm.fold fun (acc, i) x => 00:12:48 verbose #14534 > > (i, x) :: acc, i + 1 00:12:48 verbose #14535 > > |> fst 00:12:48 verbose #14536 > > |> listm.rev 00:12:48 verbose #14537 > 00:12:47 debug #804 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7790cdd4e704a1546e4155eaa513eb2684859039b9eca39bc7a542285c21f6de/main.spi 00:12:48 verbose #14538 > > 00:12:48 verbose #14539 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14540 > > //// test 00:12:48 verbose #14541 > > 00:12:48 verbose #14542 > > listm.init 5i32 ((*) 2) 00:12:48 verbose #14543 > > |> indexed 00:12:48 verbose #14544 > > |> _assert_eq [[ 0i32, 0; 1, 2; 2, 4; 3, 6; 4, 8 ]] 00:12:48 verbose #14545 > 00:12:47 debug #805 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/48b8239b3a9a61573ff10c54c56cae3352a51b0dd7ae36fb43851fec470b97f4/main.spi 00:12:48 verbose #14546 > > 00:12:48 verbose #14547 > > ╭─[ 130.84ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:48 verbose #14548 > > │ assert_eq / actual: UH0_1 (0, 0, UH0_1 (1, 2, UH0_1 (2, 4, UH0_1 (3, 6, │ 00:12:48 verbose #14549 > > │ UH0_1 (4, 8, UH0_0))))) / expected: UH0_1 (0, 0, UH0_1 (1, 2, UH0_1 (2, 4, │ 00:12:48 verbose #14550 > > │ UH0_1 (3, 6, UH0_1 (4, 8, UH0_0))))) │ 00:12:48 verbose #14551 > > │ │ 00:12:48 verbose #14552 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14553 > > 00:12:48 verbose #14554 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:48 verbose #14555 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:48 verbose #14556 > > │ ### group_by │ 00:12:48 verbose #14557 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14558 > > 00:12:48 verbose #14559 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14560 > > inl group_by fn list = 00:12:48 verbose #14561 > > (list, [[]]) 00:12:48 verbose #14562 > > ||> listm.foldBack fun x acc => 00:12:48 verbose #14563 > > inl xk = fn x 00:12:48 verbose #14564 > > inl found, new_acc = 00:12:48 verbose #14565 > > ((false, [[]]), acc) 00:12:48 verbose #14566 > > ||> listm.fold fun (found, acc') (k, xs) => 00:12:48 verbose #14567 > > if k = xk 00:12:48 verbose #14568 > > then true, (k, x :: xs) :: acc' 00:12:48 verbose #14569 > > else found, (k, xs) :: acc' 00:12:48 verbose #14570 > > if found 00:12:48 verbose #14571 > > then new_acc 00:12:48 verbose #14572 > > else (xk, [[ x ]]) :: new_acc 00:12:48 verbose #14573 > 00:12:47 debug #806 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/195e6ad65fcb0882a9afd68cf1e99a00f941af283e8ec6d9b56f501a381b5d13/main.spi 00:12:48 verbose #14574 > > 00:12:48 verbose #14575 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14576 > > //// test 00:12:48 verbose #14577 > > 00:12:48 verbose #14578 > > listm.init 10i32 id 00:12:48 verbose #14579 > > |> group_by (fun x => x % 2 = 0) 00:12:48 verbose #14580 > > |> _assert_eq [[ true, [[ 0; 2; 4; 6; 8 ]]; false, [[ 1; 3; 5; 7; 9 ]] ]] 00:12:48 verbose #14581 > 00:12:48 debug #807 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/92a891871c62ff507482306f406c9ffc02859257b9f695f5f880f829e2aa625c/main.spi 00:12:48 verbose #14582 > > 00:12:48 verbose #14583 > > ╭─[ 171.55ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:48 verbose #14584 > > │ assert_eq / actual: UH1_1 │ 00:12:48 verbose #14585 > > │ (true, UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, UH0_0))))), │ 00:12:48 verbose #14586 > > │ UH1_1 │ 00:12:48 verbose #14587 > > │ (false, UH0_1 (1, UH0_1 (3, UH0_1 (5, UH0_1 (7, UH0_1 (9, UH0_0))))), │ 00:12:48 verbose #14588 > > │ UH1_0)) / expected: UH1_1 │ 00:12:48 verbose #14589 > > │ (true, UH0_1 (0, UH0_1 (2, UH0_1 (4, UH0_1 (6, UH0_1 (8, UH0_0))))), │ 00:12:48 verbose #14590 > > │ UH1_1 │ 00:12:48 verbose #14591 > > │ (false, UH0_1 (1, UH0_1 (3, UH0_1 (5, UH0_1 (7, UH0_1 (9, UH0_0))))), │ 00:12:48 verbose #14592 > > │ UH1_0)) │ 00:12:48 verbose #14593 > > │ │ 00:12:48 verbose #14594 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14595 > > 00:12:48 verbose #14596 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:48 verbose #14597 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:48 verbose #14598 > > │ ### forall' │ 00:12:48 verbose #14599 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14600 > > 00:12:48 verbose #14601 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14602 > > inl forall' fn (head :: tail) = 00:12:48 verbose #14603 > > (true, tail) 00:12:48 verbose #14604 > > ||> listm.fold fun acc x => 00:12:48 verbose #14605 > > acc && x = head 00:12:48 verbose #14606 > 00:12:48 debug #808 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4b9d2d1ff5bfcf87f01a2aa0cc43982fe88fd6c85f7f968c30b142c45aa2fe98/main.spi 00:12:48 verbose #14607 > > 00:12:48 verbose #14608 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14609 > > //// test 00:12:48 verbose #14610 > > 00:12:48 verbose #14611 > > [[ 1i32; 1; 1; 1; 1 ]] 00:12:48 verbose #14612 > > |> forall' ((=) 1i32) 00:12:48 verbose #14613 > > |> _assert_eq true 00:12:48 verbose #14614 > 00:12:48 debug #809 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1e274c07f1e0d30263eae35dd53ecdf071733f2fd87bc4bb66ca415ff91bb91e/main.spi 00:12:48 verbose #14615 > > 00:12:48 verbose #14616 > > ╭─[ 103.33ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:48 verbose #14617 > > │ assert_eq / actual: true / expected: true │ 00:12:48 verbose #14618 > > │ │ 00:12:48 verbose #14619 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14620 > > 00:12:48 verbose #14621 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:48 verbose #14622 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:48 verbose #14623 > > │ ### last │ 00:12:48 verbose #14624 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:48 verbose #14625 > > 00:12:48 verbose #14626 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14627 > > inl last list = 00:12:48 verbose #14628 > > list 00:12:48 verbose #14629 > > |> listm.rev 00:12:48 verbose #14630 > > |> item 0i32 00:12:48 verbose #14631 > 00:12:48 debug #810 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b818ebef9e709fa2747c8affd06d9e430875f66132f7e3656a1942ee4293cc8f/main.spi 00:12:48 verbose #14632 > > 00:12:48 verbose #14633 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:48 verbose #14634 > > //// test 00:12:48 verbose #14635 > > 00:12:48 verbose #14636 > > listm.init 10i32 id 00:12:48 verbose #14637 > > |> last 00:12:48 verbose #14638 > > |> _assert_eq 9 00:12:48 verbose #14639 > 00:12:48 debug #811 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ba6754a77758facec97723b3d569d9109cb6015ecd9d9efec438e2a95c6ec886/main.spi 00:12:49 verbose #14640 > > 00:12:49 verbose #14641 > > ╭─[ 100.39ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:49 verbose #14642 > > │ assert_eq / actual: 9 / expected: 9 │ 00:12:49 verbose #14643 > > │ │ 00:12:49 verbose #14644 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14645 > > 00:12:49 verbose #14646 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:49 verbose #14647 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:49 verbose #14648 > > │ ### try_pick │ 00:12:49 verbose #14649 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14650 > > 00:12:49 verbose #14651 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14652 > > inl try_pick fn list = 00:12:49 verbose #14653 > > inl rec body fn = function 00:12:49 verbose #14654 > > | [[]] => None 00:12:49 verbose #14655 > > | x :: xs => 00:12:49 verbose #14656 > > match fn x with 00:12:49 verbose #14657 > > | Some y => Some y 00:12:49 verbose #14658 > > | None => loop xs 00:12:49 verbose #14659 > > and inl loop list = 00:12:49 verbose #14660 > > if var_is list |> not 00:12:49 verbose #14661 > > then body fn list 00:12:49 verbose #14662 > > else 00:12:49 verbose #14663 > > inl fn = join fn 00:12:49 verbose #14664 > > inl list = dyn list 00:12:49 verbose #14665 > > join body fn list 00:12:49 verbose #14666 > > loop list 00:12:49 verbose #14667 > 00:12:48 debug #812 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44699bcd3e14dfe2949bedb41b2099f064971d5ef69c22fc0470e7880cde34fb/main.spi 00:12:49 verbose #14668 > > 00:12:49 verbose #14669 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14670 > > //// test 00:12:49 verbose #14671 > > 00:12:49 verbose #14672 > > listm.init 10i32 id 00:12:49 verbose #14673 > > |> try_pick (fun x => if x = 5i32 then Some x else None) 00:12:49 verbose #14674 > > |> _assert_eq (Some 5i32) 00:12:49 verbose #14675 > 00:12:48 debug #813 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9e412b3deeacf64930140305b47ade398b853cf7bbec13c5a887858e63195a59/main.spi 00:12:49 verbose #14676 > > 00:12:49 verbose #14677 > > ╭─[ 134.92ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:49 verbose #14678 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:12:49 verbose #14679 > > │ │ 00:12:49 verbose #14680 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14681 > > 00:12:49 verbose #14682 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:49 verbose #14683 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:49 verbose #14684 > > │ ### exists' │ 00:12:49 verbose #14685 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14686 > > 00:12:49 verbose #14687 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14688 > > inl exists' f x = 00:12:49 verbose #14689 > > inl length_x : i64 = x |> listm.length 00:12:49 verbose #14690 > > let rec loop i = 00:12:49 verbose #14691 > > if i >= length_x 00:12:49 verbose #14692 > > then false 00:12:49 verbose #14693 > > elif x |> item i |> f 00:12:49 verbose #14694 > > then true 00:12:49 verbose #14695 > > else loop (i + 1) 00:12:49 verbose #14696 > > loop 0 00:12:49 verbose #14697 > 00:12:48 debug #814 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ac298a668672d93f64eb8e9ffca419fec4833723f905c1644e1737c9dce3573d/main.spi 00:12:49 verbose #14698 > > 00:12:49 verbose #14699 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14700 > > //// test 00:12:49 verbose #14701 > > 00:12:49 verbose #14702 > > [[ 'a'; 'b'; 'c' ]] 00:12:49 verbose #14703 > > |> exists' fun x => x = 'b' 00:12:49 verbose #14704 > > |> _assert_eq true 00:12:49 verbose #14705 > > 00:12:49 verbose #14706 > > [[ 'a'; 'b' ]] 00:12:49 verbose #14707 > > |> exists' fun x => x = 'c' 00:12:49 verbose #14708 > > |> _assert_eq false 00:12:49 verbose #14709 > > 00:12:49 verbose #14710 > > [[]] 00:12:49 verbose #14711 > > |> exists' fun x => x = 'a' 00:12:49 verbose #14712 > > |> _assert_eq false 00:12:49 verbose #14713 > 00:12:48 debug #815 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9c5445379b3e3455f365331f6d0ba17fb6e14aad833a707aa55760256d6653dd/main.spi 00:12:49 verbose #14714 > > 00:12:49 verbose #14715 > > ╭─[ 179.53ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:49 verbose #14716 > > │ assert_eq / actual: true / expected: true │ 00:12:49 verbose #14717 > > │ assert_eq / actual: false / expected: false │ 00:12:49 verbose #14718 > > │ assert_eq / actual: false / expected: false │ 00:12:49 verbose #14719 > > │ │ 00:12:49 verbose #14720 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14721 > > 00:12:49 verbose #14722 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:49 verbose #14723 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:49 verbose #14724 > > │ ## fsharp │ 00:12:49 verbose #14725 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14726 > > 00:12:49 verbose #14727 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:49 verbose #14728 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:49 verbose #14729 > > │ ### list' │ 00:12:49 verbose #14730 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14731 > > 00:12:49 verbose #14732 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14733 > > nominal list' t = $"backend_switch `({ Fsharp : $'`t list'; Python : 00:12:49 verbose #14734 > > $'List[[`t]]' })" 00:12:49 verbose #14735 > 00:12:49 debug #816 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc41ed68f166c8007ab7e930b199a9f0376a0d8b7220eef3fadee76cf688923b/main.spi 00:12:49 verbose #14736 > > 00:12:49 verbose #14737 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14738 > > inl empty' forall t. () : list' t = 00:12:49 verbose #14739 > > $'[[]]' 00:12:49 verbose #14740 > 00:12:49 debug #817 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4228352ff945d47ad00895cc766c80681c03fafb00fbff735a6baf3db88b291c/main.spi 00:12:49 verbose #14741 > > 00:12:49 verbose #14742 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14743 > > inl cons' forall t. (head : t) (tail : list' t) : list' t = 00:12:49 verbose #14744 > > backend_switch { 00:12:49 verbose #14745 > > Fsharp = fun () => $'!head :: !tail ' : list' t 00:12:49 verbose #14746 > > Python = fun () => 00:12:49 verbose #14747 > > $'!tail.insert(0, !head)' 00:12:49 verbose #14748 > > $'!tail ' : list' t 00:12:49 verbose #14749 > > } 00:12:49 verbose #14750 > 00:12:49 debug #818 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/51124402b26b82a57afc07366f5a9c8c41df375cb4713a1e59655bd6965bd02e/main.spi 00:12:49 verbose #14751 > > 00:12:49 verbose #14752 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:49 verbose #14753 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:49 verbose #14754 > > │ ### box │ 00:12:49 verbose #14755 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14756 > > 00:12:49 verbose #14757 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14758 > > inl box forall t. (list : list t) : list' t = 00:12:49 verbose #14759 > > (list, empty' ()) 00:12:49 verbose #14760 > > ||> listm.foldBack fun x acc => 00:12:49 verbose #14761 > > acc |> cons' x 00:12:49 verbose #14762 > 00:12:49 debug #819 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/35ab1849b21ae783fc28309cce0eccbaac352daf4df53b1259fe24c6fb12b11b/main.spi 00:12:49 verbose #14763 > > 00:12:49 verbose #14764 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:49 verbose #14765 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:49 verbose #14766 > > │ ### fold' │ 00:12:49 verbose #14767 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:49 verbose #14768 > > 00:12:49 verbose #14769 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:49 verbose #14770 > > inl fold' forall t u. (fn : t -> u) (init : list u) (list : list' t) : list u = 00:12:49 verbose #14771 > > backend_switch { 00:12:49 verbose #14772 > > Fsharp = fun () => 00:12:49 verbose #14773 > > (init, list) 00:12:49 verbose #14774 > > ||> $'List.fold' join fun acc x => Cons (fn x, acc) 00:12:49 verbose #14775 > > : list u 00:12:49 verbose #14776 > > Python = fun () => 00:12:49 verbose #14777 > > $'x = !init ' 00:12:49 verbose #14778 > > $'for x in !list: x = !fn(x)' 00:12:49 verbose #14779 > > $'x' : list u 00:12:49 verbose #14780 > > } 00:12:49 verbose #14781 > 00:12:49 debug #820 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/41eed85454897c606d69ab05d696a6e8eaa1e5d47028a65daa36c12b72a4c57b/main.spi 00:12:50 verbose #14782 > > 00:12:50 verbose #14783 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:50 verbose #14784 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:50 verbose #14785 > > │ ### fold_back' │ 00:12:50 verbose #14786 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14787 > > 00:12:50 verbose #14788 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14789 > > inl fold_back' forall t u. (fn : t -> u) (list : list' t) (init : list u) : list 00:12:50 verbose #14790 > > u = 00:12:50 verbose #14791 > > backend_switch { 00:12:50 verbose #14792 > > Fsharp = fun () => 00:12:50 verbose #14793 > > (list, init) 00:12:50 verbose #14794 > > ||> $'List.foldBack' join fun x acc => Cons (fn x, acc) 00:12:50 verbose #14795 > > : list u 00:12:50 verbose #14796 > > Python = fun () => 00:12:50 verbose #14797 > > $'x = !init ' 00:12:50 verbose #14798 > > $'for x in reversed(!list): x = !fn(x)' 00:12:50 verbose #14799 > > $'x' : list u 00:12:50 verbose #14800 > > } 00:12:50 verbose #14801 > 00:12:49 debug #821 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b5ba365603ae86a2e4752c6bec5c8755597c68e2e4492e12fe6e9650c66f4682/main.spi 00:12:50 verbose #14802 > > 00:12:50 verbose #14803 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:50 verbose #14804 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:50 verbose #14805 > > │ ### filter' │ 00:12:50 verbose #14806 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14807 > > 00:12:50 verbose #14808 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14809 > > inl filter' forall t. (fn : t -> bool) (list : list' t) : list' t = 00:12:50 verbose #14810 > > backend_switch { 00:12:50 verbose #14811 > > Fsharp = fun () => list |> $'"List.filter !fn"' : list' t 00:12:50 verbose #14812 > > Python = fun () => $'list(filter(!fn, !list))' : list' t 00:12:50 verbose #14813 > > } 00:12:50 verbose #14814 > 00:12:49 debug #822 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/519d116cfb210de81a8d77b9265008d585244714099a9c4249297fd49bb72c3f/main.spi 00:12:50 verbose #14815 > > 00:12:50 verbose #14816 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:50 verbose #14817 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:50 verbose #14818 > > │ ### map │ 00:12:50 verbose #14819 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14820 > > 00:12:50 verbose #14821 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14822 > > inl map forall t u. (fn : t -> u) (list : list' t) : list' u = 00:12:50 verbose #14823 > > backend_switch { 00:12:50 verbose #14824 > > Fsharp = fun () => list |> $'List.map' fn : list' u 00:12:50 verbose #14825 > > Python = fun () => $'list(map(!fn, !list))' : list' u 00:12:50 verbose #14826 > > } 00:12:50 verbose #14827 > 00:12:49 debug #823 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/999b4a8a741111821ee91ab04f56cb357cf8c4974c9beaa0e450825e5a3cef55/main.spi 00:12:50 verbose #14828 > > 00:12:50 verbose #14829 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:50 verbose #14830 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:50 verbose #14831 > > │ ### unbox │ 00:12:50 verbose #14832 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14833 > > 00:12:50 verbose #14834 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14835 > > inl unbox forall t. (list : list' t) : list t = 00:12:50 verbose #14836 > > (list, Nil) 00:12:50 verbose #14837 > > ||> fold_back' id 00:12:50 verbose #14838 > 00:12:49 debug #824 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/259beec62d897679f5f2d7bfbc413aeb2ba147c53575a2ce4b572e2f3f8cb111/main.spi 00:12:50 verbose #14839 > > 00:12:50 verbose #14840 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:50 verbose #14841 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:50 verbose #14842 > > │ ### distinct' │ 00:12:50 verbose #14843 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14844 > > 00:12:50 verbose #14845 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14846 > > inl distinct' forall t. (list : list' t) : list' t = 00:12:50 verbose #14847 > > backend_switch { 00:12:50 verbose #14848 > > Fsharp = fun () => list |> $'List.distinct' : list' t 00:12:50 verbose #14849 > > Python = fun () => $'list(set(!list))' : list' t 00:12:50 verbose #14850 > > } 00:12:50 verbose #14851 > 00:12:49 debug #825 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5ea3172eca6510064925eb2bb736f43799fbd09049af3faedddd2d6b654a73fd/main.spi 00:12:50 verbose #14852 > > 00:12:50 verbose #14853 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14854 > > //// test 00:12:50 verbose #14855 > > 00:12:50 verbose #14856 > > [[ "1"; "2"; "2"; "3" ]] 00:12:50 verbose #14857 > > |> box 00:12:50 verbose #14858 > > |> distinct' 00:12:50 verbose #14859 > > |> unbox 00:12:50 verbose #14860 > > |> _assert_eq [[ "1"; "2"; "3" ]] 00:12:50 verbose #14861 > 00:12:50 debug #826 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/08b005aedc9eba44762be4f5a7e9c4527a2d911f59a9715ababb2e08c0636a9d/main.spi 00:12:50 verbose #14862 > > 00:12:50 verbose #14863 > > ╭─[ 162.57ms - stdout ]────────────────────────────────────────────────────────╮ 00:12:50 verbose #14864 > > │ assert_eq / actual: UH0_1 ("1", UH0_1 ("2", UH0_1 ("3", UH0_0))) / expected: │ 00:12:50 verbose #14865 > > │ UH0_1 ("1", UH0_1 ("2", UH0_1 ("3", UH0_0))) │ 00:12:50 verbose #14866 > > │ │ 00:12:50 verbose #14867 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14868 > > 00:12:50 verbose #14869 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:50 verbose #14870 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:50 verbose #14871 > > │ ### to_array' │ 00:12:50 verbose #14872 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:50 verbose #14873 > > 00:12:50 verbose #14874 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:50 verbose #14875 > > inl to_array' forall t. (items : list' t) : array_base t = 00:12:50 verbose #14876 > > backend_switch { 00:12:50 verbose #14877 > > Fsharp = fun () => items |> $'List.toArray' : array_base t 00:12:50 verbose #14878 > > Python = fun () => $'cp.array(!items)' : array_base t 00:12:50 verbose #14879 > > } 00:12:50 verbose #14880 > 00:12:50 debug #827 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9fa875c208245b60c0430c5074806f3035b1b924967cc598429aaf4ecbee6017/main.spi 00:12:50 verbose #14881 > 00:00:11 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 38599 } 00:12:50 verbose #14882 > 00:00:11 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:12:51 verbose #14883 > 00:00:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.ipynb to html 00:12:51 verbose #14884 > 00:00:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:12:51 verbose #14885 > 00:00:12 verbose #7 ! validate(nb) 00:12:51 verbose #14886 > 00:00:12 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:12:51 verbose #14887 > 00:00:12 verbose #9 ! return _pygments_highlight( 00:12:52 verbose #14888 > 00:00:13 verbose #10 ! [NbConvertApp] Writing 380298 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/listm'.dib.html 00:12:52 verbose #14889 > 00:00:13 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 896 } 00:12:52 verbose #14890 > 00:00:13 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 896 } 00:12:52 verbose #14891 > 00:00:13 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/listm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/listm''.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:12:52 verbose #14892 > 00:00:13 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:12:52 verbose #14893 > 00:00:13 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:12:52 verbose #14894 > 00:00:13 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 39554 } 00:12:52 debug #14895 runtime.execute_with_options_async / { exit_code = 0; output_length = 43891 } 00:12:52 debug #20 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path listm'.dib --retries 3 00:12:52 debug #14896 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path reflection.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:12:52 verbose #14897 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "reflection.dib", "--retries", "3"])) } 00:12:52 verbose #14898 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:12:54 verbose #14899 > > 00:12:54 verbose #14900 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:54 verbose #14901 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:54 verbose #14902 > > │ # reflection │ 00:12:54 verbose #14903 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:56 verbose #14904 > > 00:12:56 verbose #14905 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:56 verbose #14906 > > //// test 00:12:56 verbose #14907 > > 00:12:56 verbose #14908 > > open testing 00:12:56 verbose #14909 > 00:12:56 debug #828 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:12:57 verbose #14910 > > 00:12:57 verbose #14911 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:57 verbose #14912 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:57 verbose #14913 > > │ ## reflection │ 00:12:57 verbose #14914 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:57 verbose #14915 > > 00:12:57 verbose #14916 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:12:57 verbose #14917 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:12:57 verbose #14918 > > │ ### get_union_fields │ 00:12:57 verbose #14919 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:12:57 verbose #14920 > > 00:12:57 verbose #14921 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:57 verbose #14922 > > inl get_union_fields forall union_type. () : list (string * union_type) = 00:12:57 verbose #14923 > > real 00:12:57 verbose #14924 > > real_core.union_to_record 00:12:57 verbose #14925 > > `union_type 00:12:57 verbose #14926 > > forall union_record_type. => 00:12:57 verbose #14927 > > real_core.record_type_fold 00:12:57 verbose #14928 > > fun acc key => 00:12:57 verbose #14929 > > forall value. => 00:12:57 verbose #14930 > > inl item = real_core.nominal_create `union_type 00:12:57 verbose #14931 > > (key, ()) 00:12:57 verbose #14932 > > inl key' = real_sm'.symbol_to_string `(`key) 00:12:57 verbose #14933 > > (::) `(string * union_type) (key', item) acc 00:12:57 verbose #14934 > > (Nil `(string * union_type)) 00:12:57 verbose #14935 > > `union_record_type 00:12:57 verbose #14936 > 00:12:56 debug #829 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/474e08872511d8605cecc2e70a6243211a296a51fc1796f350e312a4756c3e8d/main.spi 00:12:57 verbose #14937 > > 00:12:57 verbose #14938 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:12:57 verbose #14939 > > //// test 00:12:57 verbose #14940 > > ///! fsharp 00:12:57 verbose #14941 > > ///! rust 00:12:57 verbose #14942 > > ///! typescript 00:12:57 verbose #14943 > > ///! python 00:12:57 verbose #14944 > > 00:12:57 verbose #14945 > > get_union_fields () 00:12:57 verbose #14946 > > |> listm'.box 00:12:57 verbose #14947 > > |> listm'.to_array' 00:12:57 verbose #14948 > > |> a 00:12:57 verbose #14949 > > |> am'.sort_by snd 00:12:57 verbose #14950 > > |> fun (a x : _ int _) => x 00:12:57 verbose #14951 > > |> _assert_eq' ;[[ "Native", Native; "Wasm", Wasm; "Contract", Contract ]] 00:12:57 verbose #14952 > 00:12:56 debug #830 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d42090b14173d4e442559e63aa331b7dd7157da039e8c170aa077a82766775c5/main.spi 00:13:09 verbose #14953 > > 00:13:09 verbose #14954 > > ╭─[ 12.24s - return value ]────────────────────────────────────────────────────╮ 00:13:09 verbose #14955 > > │ .rs output: │ 00:13:09 verbose #14956 > > │ assert_eq' / actual: Array(MutCell([("Native", US0_0), ("Wasm", US0_1), │ 00:13:09 verbose #14957 > > │ ("Contract", US0_2)])) / expected: Array(MutCell([("Native", US0_0), │ 00:13:09 verbose #14958 > > │ ("Wasm", US0_1), ("Contract", US0_2)])) │ 00:13:09 verbose #14959 > > │ │ 00:13:09 verbose #14960 > > │ .ts output: │ 00:13:09 verbose #14961 > > │ assert_eq' / actual: Native,US0_0,Wasm,US0_1,Contract,US0_2 / expected: │ 00:13:09 verbose #14962 > > │ Native,US0_0,Wasm,US0_1,Contract,US0_2 │ 00:13:09 verbose #14963 > > │ │ 00:13:09 verbose #14964 > > │ .py output: │ 00:13:09 verbose #14965 > > │ assert_eq' / actual: [('Native', US0_0), ('Wasm', US0_1), ('Contract', │ 00:13:09 verbose #14966 > > │ US0_2)] / expected: [('Native', US0_0), ('Wasm', US0_1), ('Contract', │ 00:13:09 verbose #14967 > > │ US0_2)] │ 00:13:09 verbose #14968 > > │ │ 00:13:09 verbose #14969 > > │ │ 00:13:09 verbose #14970 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:09 verbose #14971 > > 00:13:09 verbose #14972 > > ╭─[ 12.24s - stdout ]──────────────────────────────────────────────────────────╮ 00:13:09 verbose #14973 > > │ .fsx output: │ 00:13:09 verbose #14974 > > │ assert_eq' / actual: [|struct ("Native", US0_0); struct ("Wasm", US0_1); │ 00:13:09 verbose #14975 > > │ struct ("Contract", US0_2)|] / expected: [|struct ("Native", US0_0); struct │ 00:13:09 verbose #14976 > > │ ("Wasm", US0_1); struct ("Contract", US0_2)|] │ 00:13:09 verbose #14977 > > │ │ 00:13:09 verbose #14978 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:09 verbose #14979 > > 00:13:09 verbose #14980 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:09 verbose #14981 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:09 verbose #14982 > > │ ### get_union_fields_untag │ 00:13:09 verbose #14983 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:09 verbose #14984 > > 00:13:09 verbose #14985 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:09 verbose #14986 > > inl get_union_fields_untag forall union_type. () : list (string * union_type) = 00:13:09 verbose #14987 > > real 00:13:09 verbose #14988 > > real_core.union_to_record 00:13:09 verbose #14989 > > `union_type 00:13:09 verbose #14990 > > forall union_record_type. => 00:13:09 verbose #14991 > > inl result = 00:13:09 verbose #14992 > > real_core.record_type_fold_back 00:13:09 verbose #14993 > > fun _key => 00:13:09 verbose #14994 > > forall value. (acc, (i : i32)) => 00:13:09 verbose #14995 > > inl key, item : (string * union_type) = 00:13:09 verbose #14996 > > real_core.union_untag `union_type i 00:13:09 verbose #14997 > > (fun key => forall value. => 00:13:09 verbose #14998 > > inl key' = real_sm'.symbol_to_string 00:13:09 verbose #14999 > > `(`key) 00:13:09 verbose #15000 > > key', real_core.nominal_create 00:13:09 verbose #15001 > > `union_type (key, ()) 00:13:09 verbose #15002 > > ) 00:13:09 verbose #15003 > > (fun _ => failwith `(string * 00:13:09 verbose #15004 > > union_type) "reflection.get_union_fields_untag / invalid tag") 00:13:09 verbose #15005 > > (::) `(string * union_type) (key, item) acc, (+) 00:13:09 verbose #15006 > > `i32 i 1 00:13:09 verbose #15007 > > `union_record_type 00:13:09 verbose #15008 > > (Nil `(string * union_type), 0i32) 00:13:09 verbose #15009 > > inl result = fst `(list (string * union_type)) `i32 result 00:13:09 verbose #15010 > > listm.rev `(string * union_type) result 00:13:09 verbose #15011 > 00:13:09 debug #831 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/30fc8ba0cbe8a8d0c80c1b9253d11db0a622ab536855196661a7228160bafa9c/main.spi 00:13:09 verbose #15012 > > 00:13:09 verbose #15013 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:09 verbose #15014 > > //// test 00:13:09 verbose #15015 > > ///! fsharp 00:13:09 verbose #15016 > > ///! rust 00:13:09 verbose #15017 > > ///! typescript 00:13:09 verbose #15018 > > ///! python 00:13:09 verbose #15019 > > 00:13:09 verbose #15020 > > get_union_fields_untag () 00:13:09 verbose #15021 > > |> listm'.box 00:13:09 verbose #15022 > > |> listm'.to_array' 00:13:09 verbose #15023 > > |> _assert_eq' ;[[ "Native", Native; "Wasm", Wasm; "Contract", Contract ]] 00:13:09 verbose #15024 > 00:13:09 debug #832 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a1f0be2c27f87e69454bb0543b3734a2e01daab0d5642138f66fa69c5060f1db/main.spi 00:13:21 verbose #15025 > > 00:13:21 verbose #15026 > > ╭─[ 11.44s - return value ]────────────────────────────────────────────────────╮ 00:13:21 verbose #15027 > > │ .rs output: │ 00:13:21 verbose #15028 > > │ assert_eq' / actual: Array(MutCell([("Native", US0_0), ("Wasm", US0_1), │ 00:13:21 verbose #15029 > > │ ("Contract", US0_2)])) / expected: Array(MutCell([("Native", US0_0), │ 00:13:21 verbose #15030 > > │ ("Wasm", US0_1), ("Contract", US0_2)])) │ 00:13:21 verbose #15031 > > │ │ 00:13:21 verbose #15032 > > │ .ts output: │ 00:13:21 verbose #15033 > > │ assert_eq' / actual: Native,US0_0,Wasm,US0_1,Contract,US0_2 / expected: │ 00:13:21 verbose #15034 > > │ Native,US0_0,Wasm,US0_1,Contract,US0_2 │ 00:13:21 verbose #15035 > > │ │ 00:13:21 verbose #15036 > > │ .py output: │ 00:13:21 verbose #15037 > > │ assert_eq' / actual: [('Native', US0_0), ('Wasm', US0_1), ('Contract', │ 00:13:21 verbose #15038 > > │ US0_2)] / expected: [('Native', US0_0), ('Wasm', US0_1), ('Contract', │ 00:13:21 verbose #15039 > > │ US0_2)] │ 00:13:21 verbose #15040 > > │ │ 00:13:21 verbose #15041 > > │ │ 00:13:21 verbose #15042 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15043 > > 00:13:21 verbose #15044 > > ╭─[ 11.44s - stdout ]──────────────────────────────────────────────────────────╮ 00:13:21 verbose #15045 > > │ .fsx output: │ 00:13:21 verbose #15046 > > │ assert_eq' / actual: [|struct ("Native", US0_0); struct ("Wasm", US0_1); │ 00:13:21 verbose #15047 > > │ struct ("Contract", US0_2)|] / expected: [|struct ("Native", US0_0); struct │ 00:13:21 verbose #15048 > > │ ("Wasm", US0_1); struct ("Contract", US0_2)|] │ 00:13:21 verbose #15049 > > │ │ 00:13:21 verbose #15050 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15051 > > 00:13:21 verbose #15052 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:21 verbose #15053 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:21 verbose #15054 > > │ ### union_try_pick │ 00:13:21 verbose #15055 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15056 > > 00:13:21 verbose #15057 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:21 verbose #15058 > > inl union_try_pick forall t. (key : string) : option t = 00:13:21 verbose #15059 > > real get_union_fields_untag `t () 00:13:21 verbose #15060 > > |> listm'.try_pick fun key', x => 00:13:21 verbose #15061 > > if key' = key 00:13:21 verbose #15062 > > then Some x 00:13:21 verbose #15063 > > else None 00:13:21 verbose #15064 > 00:13:20 debug #833 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2e82ef62ce3ab9cf967f507288ed9d841f685ec45e648463d9124fadcbc8f5ad/main.spi 00:13:21 verbose #15065 > > 00:13:21 verbose #15066 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:21 verbose #15067 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:21 verbose #15068 > > │ ### union_to_string │ 00:13:21 verbose #15069 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15070 > > 00:13:21 verbose #15071 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:21 verbose #15072 > > inl union_to_string forall t. (x : t) : string = 00:13:21 verbose #15073 > > real get_union_fields_untag `t () 00:13:21 verbose #15074 > > |> listm'.try_pick fun key, x' => 00:13:21 verbose #15075 > > if x' = x 00:13:21 verbose #15076 > > then Some key 00:13:21 verbose #15077 > > else None 00:13:21 verbose #15078 > > |> optionm.value 00:13:21 verbose #15079 > 00:13:20 debug #834 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/df2181e8dbb4027cbb9690aeb0d65ad3f0f3d4f8b5cd82cb9f2a0c41e46f061c/main.spi 00:13:21 verbose #15080 > > 00:13:21 verbose #15081 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:21 verbose #15082 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:21 verbose #15083 > > │ ### nameof │ 00:13:21 verbose #15084 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15085 > > 00:13:21 verbose #15086 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:21 verbose #15087 > > inl nameof forall t. (x : t) : string = 00:13:21 verbose #15088 > > real 00:13:21 verbose #15089 > > real_core.record_type_fold_back 00:13:21 verbose #15090 > > fun key => 00:13:21 verbose #15091 > > forall value. _ => 00:13:21 verbose #15092 > > real_sm'.symbol_to_string `(`key) 00:13:21 verbose #15093 > > `t 00:13:21 verbose #15094 > > "" 00:13:21 verbose #15095 > 00:13:20 debug #835 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/316b27680b7358069a0cefd1fb8c1c62dd95b2e83dafcc8eeb934689eec5055b/main.spi 00:13:21 verbose #15096 > > 00:13:21 verbose #15097 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:21 verbose #15098 > > //// test 00:13:21 verbose #15099 > > 00:13:21 verbose #15100 > > { test1 = ""; test2 = "" } 00:13:21 verbose #15101 > > |> nameof 00:13:21 verbose #15102 > > |> _assert_eq' "test1" 00:13:21 verbose #15103 > 00:13:21 debug #836 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c688b8d1094e35699d423dfcd4bf069813c9aea026f480ca18d1014c68228676/main.spi 00:13:21 verbose #15104 > > 00:13:21 verbose #15105 > > ╭─[ 432.78ms - stdout ]────────────────────────────────────────────────────────╮ 00:13:21 verbose #15106 > > │ assert_eq' / actual: "test1" / expected: "test1" │ 00:13:21 verbose #15107 > > │ │ 00:13:21 verbose #15108 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15109 > > 00:13:21 verbose #15110 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:21 verbose #15111 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:21 verbose #15112 > > │ ### get_record_fields │ 00:13:21 verbose #15113 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:21 verbose #15114 > > 00:13:21 verbose #15115 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:21 verbose #15116 > > inl get_record_fields forall t u. (x : t) : list (string * u) = 00:13:21 verbose #15117 > > real 00:13:21 verbose #15118 > > real_core.record_type_fold_back 00:13:21 verbose #15119 > > fun key => 00:13:21 verbose #15120 > > forall u'. acc => 00:13:21 verbose #15121 > > inl k = real_sm'.symbol_to_string `(`key) 00:13:21 verbose #15122 > > inl v = x key 00:13:21 verbose #15123 > > (::) `(string * u') (k, v) acc 00:13:21 verbose #15124 > > `t 00:13:21 verbose #15125 > > (Nil `(string * u)) 00:13:21 verbose #15126 > 00:13:21 debug #837 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b1887902d7dd057c56f0372373807bda7ed7fbd86b31007b83f64021c098c060/main.spi 00:13:21 verbose #15127 > > 00:13:21 verbose #15128 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:21 verbose #15129 > > //// test 00:13:21 verbose #15130 > > 00:13:21 verbose #15131 > > { a = "1"; b = "2" } 00:13:21 verbose #15132 > > |> get_record_fields 00:13:21 verbose #15133 > > |> _assert_eq' [[ "a", "1"; "b", "2" ]] 00:13:21 verbose #15134 > 00:13:21 debug #838 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/468268be4fcda8d2eba250638d91b65f6cdd908530bd9fcacdfbe728d8efcd46/main.spi 00:13:22 verbose #15135 > > 00:13:22 verbose #15136 > > ╭─[ 137.54ms - stdout ]────────────────────────────────────────────────────────╮ 00:13:22 verbose #15137 > > │ assert_eq' / actual: UH0_1 ("a", "1", UH0_1 ("b", "2", UH0_0)) / expected: │ 00:13:22 verbose #15138 > > │ UH0_1 ("a", "1", UH0_1 ("b", "2", UH0_0)) │ 00:13:22 verbose #15139 > > │ │ 00:13:22 verbose #15140 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:22 verbose #15141 > 00:00:29 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 13721 } 00:13:22 verbose #15142 > 00:00:29 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:13:22 verbose #15143 > 00:00:30 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.ipynb to html 00:13:22 verbose #15144 > 00:00:30 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:13:22 verbose #15145 > 00:00:30 verbose #7 ! validate(nb) 00:13:23 verbose #15146 > 00:00:30 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:13:23 verbose #15147 > 00:00:30 verbose #9 ! return _pygments_highlight( 00:13:23 verbose #15148 > 00:00:30 verbose #10 ! [NbConvertApp] Writing 298429 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.html 00:13:23 verbose #15149 > 00:00:30 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 904 } 00:13:23 verbose #15150 > 00:00:30 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 904 } 00:13:23 verbose #15151 > 00:00:30 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/reflection.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:13:23 verbose #15152 > 00:00:30 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:13:23 verbose #15153 > 00:00:30 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:13:23 verbose #15154 > 00:00:30 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 14684 } 00:13:23 debug #15155 runtime.execute_with_options_async / { exit_code = 0; output_length = 17965 } 00:13:23 debug #21 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path reflection.dib --retries 3 00:13:23 debug #15156 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path base.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:13:23 verbose #15157 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "base.dib", "--retries", "3"])) } 00:13:23 verbose #15158 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/base.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/base.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/base.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/base.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:13:25 verbose #15159 > > 00:13:25 verbose #15160 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:25 verbose #15161 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:25 verbose #15162 > > │ # base │ 00:13:25 verbose #15163 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:27 verbose #15164 > > 00:13:27 verbose #15165 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:27 verbose #15166 > > //// test 00:13:27 verbose #15167 > > 00:13:27 verbose #15168 > > open testing 00:13:28 verbose #15169 > 00:13:27 debug #839 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:13:28 verbose #15170 > > 00:13:28 verbose #15171 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15172 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15173 > > │ ## execution │ 00:13:28 verbose #15174 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15175 > > 00:13:28 verbose #15176 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15177 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15178 > > │ ### emit │ 00:13:28 verbose #15179 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15180 > > 00:13:28 verbose #15181 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15182 > > inl emit forall t. (x : t) : t = 00:13:28 verbose #15183 > > $'!x ' 00:13:28 verbose #15184 > 00:13:27 debug #840 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/648b92af66c7db6a77722a4a6300f8b9819861d85a6afe069d09153158c2e8fb/main.spi 00:13:28 verbose #15185 > > 00:13:28 verbose #15186 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15187 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15188 > > │ ### emit_unit │ 00:13:28 verbose #15189 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15190 > > 00:13:28 verbose #15191 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15192 > > inl emit_unit forall t. (x : t) : () = 00:13:28 verbose #15193 > > $'!x ' 00:13:28 verbose #15194 > 00:13:28 debug #841 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a68981bb224e67662ae65b1efd646f57c712748e5adb5a7453c50f0cb03cb098/main.spi 00:13:28 verbose #15195 > > 00:13:28 verbose #15196 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15197 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15198 > > │ ### use │ 00:13:28 verbose #15199 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15200 > > 00:13:28 verbose #15201 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15202 > > inl use forall t. (x : t) : t = 00:13:28 verbose #15203 > > $'use !x = !x ' : () 00:13:28 verbose #15204 > > $'!x ' 00:13:28 verbose #15205 > 00:13:28 debug #842 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/255dc504edb81506a2836ae4ca98dc7ae9f1c46b0aa971409c339af5c43180db/main.spi 00:13:28 verbose #15206 > > 00:13:28 verbose #15207 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15208 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15209 > > │ ## target │ 00:13:28 verbose #15210 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15211 > > 00:13:28 verbose #15212 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15213 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15214 > > │ ### backend_switch │ 00:13:28 verbose #15215 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15216 > > 00:13:28 verbose #15217 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15218 > > inl backend_switch forall t. x : t = 00:13:28 verbose #15219 > > real 00:13:28 verbose #15220 > > inl backend key : t = 00:13:28 verbose #15221 > > inl s = real_core.string_lit_to_symbol key 00:13:28 verbose #15222 > > real_core.record_type_try_find `(`x) s 00:13:28 verbose #15223 > > (forall v'. => (x s) ()) 00:13:28 verbose #15224 > > (fun () => $'' : t) 00:13:28 verbose #15225 > > !!!!BackendSwitch ( 00:13:28 verbose #15226 > > ("Fsharp", backend "Fsharp"), 00:13:28 verbose #15227 > > ("Python", backend "Python"), 00:13:28 verbose #15228 > > ("Cuda", backend "Cuda") 00:13:28 verbose #15229 > > ) 00:13:28 verbose #15230 > 00:13:28 debug #843 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9054738f9d81744854b1b3685214364aa68b910cf4837f26208db48e06f2b5f1/main.spi 00:13:28 verbose #15231 > > 00:13:28 verbose #15232 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15233 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15234 > > │ ### target_runtime │ 00:13:28 verbose #15235 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15236 > > 00:13:28 verbose #15237 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15238 > > union target_runtime = 00:13:28 verbose #15239 > > | Native 00:13:28 verbose #15240 > > | Wasm 00:13:28 verbose #15241 > > | Contract 00:13:28 verbose #15242 > 00:13:28 debug #844 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6de5deb231ab8703150b71c20a5ffb753dc6ec6a6b755eff1bc556125ae92f88/main.spi 00:13:28 verbose #15243 > > 00:13:28 verbose #15244 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15245 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15246 > > │ ### target │ 00:13:28 verbose #15247 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15248 > > 00:13:28 verbose #15249 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15250 > > union target = 00:13:28 verbose #15251 > > | Fsharp : target_runtime 00:13:28 verbose #15252 > > | Cuda : target_runtime 00:13:28 verbose #15253 > > | Rust : target_runtime 00:13:28 verbose #15254 > > | TypeScript : target_runtime 00:13:28 verbose #15255 > > | Python : target_runtime 00:13:28 verbose #15256 > 00:13:28 debug #845 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/212555e699979423ab21936100a02d5c099ee43a8d755a9b1207a996416acfd4/main.spi 00:13:28 verbose #15257 > > 00:13:28 verbose #15258 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:28 verbose #15259 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:28 verbose #15260 > > │ ### run_target │ 00:13:28 verbose #15261 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:28 verbose #15262 > > 00:13:28 verbose #15263 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15264 > > inl run_target forall t. (fn : target -> (() -> t)) : t = 00:13:28 verbose #15265 > > backend_switch { 00:13:28 verbose #15266 > > Fsharp = fun () => 00:13:28 verbose #15267 > > inl result = dyn true 00:13:28 verbose #15268 > > $'let mutable _!result : `t option = None ' 00:13:28 verbose #15269 > > $'\n#if FABLE_COMPILER || WASM || CONTRACT' 00:13:28 verbose #15270 > > $'\n#if FABLE_COMPILER_RUST && \!WASM && \!CONTRACT' 00:13:28 verbose #15271 > > fn (Rust Native) () |> emit_unit 00:13:28 verbose #15272 > > $'#endif\n#if FABLE_COMPILER_RUST && WASM' 00:13:28 verbose #15273 > > fn (Rust Wasm) () |> emit_unit 00:13:28 verbose #15274 > > $'#endif\n#if FABLE_COMPILER_RUST && CONTRACT' 00:13:28 verbose #15275 > > fn (Rust Contract) () |> emit_unit 00:13:28 verbose #15276 > > $'#endif\n#if FABLE_COMPILER_TYPESCRIPT' 00:13:28 verbose #15277 > > fn (TypeScript Native) () |> emit_unit 00:13:28 verbose #15278 > > $'#endif\n#if FABLE_COMPILER_PYTHON' 00:13:28 verbose #15279 > > fn (Python Native) () |> emit_unit 00:13:28 verbose #15280 > > $'#endif\n#else' 00:13:28 verbose #15281 > > fn (Fsharp Native) () |> emit_unit 00:13:28 verbose #15282 > > $'#endif' 00:13:28 verbose #15283 > > $'|> fun x -> _!result <- Some x' 00:13:28 verbose #15284 > > $'match _!result with Some x -> x | None -> failwith 00:13:28 verbose #15285 > > "base.run_target / _!result=None"' : t 00:13:28 verbose #15286 > > Python = fun () => 00:13:28 verbose #15287 > > fn (Cuda Native) () 00:13:28 verbose #15288 > > } 00:13:28 verbose #15289 > 00:13:28 debug #846 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ec9d9a62af58dcd02418544d13f7a6635a4531a196d687ba51746386148db6ad/main.spi 00:13:28 verbose #15290 > > 00:13:28 verbose #15291 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:28 verbose #15292 > > //// test 00:13:28 verbose #15293 > > ///! fsharp 00:13:28 verbose #15294 > > ///! cuda 00:13:28 verbose #15295 > > ///! rust 00:13:28 verbose #15296 > > ///! typescript 00:13:28 verbose #15297 > > ///! python 00:13:28 verbose #15298 > > 00:13:28 verbose #15299 > > run_target function 00:13:28 verbose #15300 > > | Fsharp (Native) => fun () => $'1uy' 00:13:28 verbose #15301 > > | Cuda (Native) => fun () => $'1' 00:13:28 verbose #15302 > > | Rust (Native) => fun () => $'1uy' 00:13:28 verbose #15303 > > | TypeScript (Native) => fun () => $'1uy' 00:13:28 verbose #15304 > > | Python (Native) => fun () => $'1uy' 00:13:28 verbose #15305 > > | _ => fun () => $'2uy' 00:13:28 verbose #15306 > > |> _assert_eq 1u8 00:13:28 verbose #15307 > 00:13:28 debug #847 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4696a6a0d4d784f39adbf2c40a9db43644a1e331f06871dee08058604ac80e46/main.spi 00:13:28 verbose #15308 > 00:13:28 debug #848 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6293d3133dd9a0ff624513efbeb48f5fcab4c3324dd72086780e7b072a515ac3/main.spi 00:13:41 verbose #15309 > > 00:13:41 verbose #15310 > > ╭─[ 12.06s - return value ]────────────────────────────────────────────────────╮ 00:13:41 verbose #15311 > > │ .py output (Cuda): │ 00:13:41 verbose #15312 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:41 verbose #15313 > > │ │ 00:13:41 verbose #15314 > > │ .rs output: │ 00:13:41 verbose #15315 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:41 verbose #15316 > > │ │ 00:13:41 verbose #15317 > > │ .ts output: │ 00:13:41 verbose #15318 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:41 verbose #15319 > > │ │ 00:13:41 verbose #15320 > > │ .py output: │ 00:13:41 verbose #15321 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:41 verbose #15322 > > │ │ 00:13:41 verbose #15323 > > │ │ 00:13:41 verbose #15324 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:41 verbose #15325 > > 00:13:41 verbose #15326 > > ╭─[ 12.06s - stdout ]──────────────────────────────────────────────────────────╮ 00:13:41 verbose #15327 > > │ .fsx output: │ 00:13:41 verbose #15328 > > │ assert_eq / actual: 1uy / expected: 1uy │ 00:13:41 verbose #15329 > > │ │ 00:13:41 verbose #15330 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:41 verbose #15331 > > 00:13:41 verbose #15332 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:41 verbose #15333 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:41 verbose #15334 > > │ ## function │ 00:13:41 verbose #15335 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:41 verbose #15336 > > 00:13:41 verbose #15337 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:41 verbose #15338 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:41 verbose #15339 > > │ ### invoke │ 00:13:41 verbose #15340 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:41 verbose #15341 > > 00:13:41 verbose #15342 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:41 verbose #15343 > > inl invoke fn = 00:13:41 verbose #15344 > > fn () 00:13:41 verbose #15345 > 00:13:40 debug #849 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e478234a9538e8d8c293229bb5adc0f58638aa7100031a93d3f7c005f9bfb4be/main.spi 00:13:41 verbose #15346 > > 00:13:41 verbose #15347 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:41 verbose #15348 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:41 verbose #15349 > > │ ### lazy │ 00:13:41 verbose #15350 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:41 verbose #15351 > > 00:13:41 verbose #15352 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:41 verbose #15353 > > nominal lazy t = $'Lazy<`t>' 00:13:41 verbose #15354 > 00:13:40 debug #850 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ea13f2b990cabb2a5305e46948074770465f889126d419caf2cf87669ab5caf4/main.spi 00:13:41 verbose #15355 > > 00:13:41 verbose #15356 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:41 verbose #15357 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:41 verbose #15358 > > │ ### memoize │ 00:13:41 verbose #15359 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:41 verbose #15360 > > 00:13:41 verbose #15361 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:41 verbose #15362 > > nominal lazy t = $'Lazy<`t>' 00:13:41 verbose #15363 > > 00:13:41 verbose #15364 > > inl memoize forall t. (fn : () -> t) : () -> t = 00:13:41 verbose #15365 > > inl fn = join fn 00:13:41 verbose #15366 > > backend_switch { 00:13:41 verbose #15367 > > Fsharp = fun () => 00:13:41 verbose #15368 > > inl result : lazy t = $'lazy !fn ()' 00:13:41 verbose #15369 > > fun () => $'!result.Value' : t 00:13:41 verbose #15370 > > Python = fun () => 00:13:41 verbose #15371 > > inl result = mut None 00:13:41 verbose #15372 > > inl computed = mut false 00:13:41 verbose #15373 > > fun () => 00:13:41 verbose #15374 > > if *computed 00:13:41 verbose #15375 > > then *result 00:13:41 verbose #15376 > > else 00:13:41 verbose #15377 > > result <- fn () |> Some 00:13:41 verbose #15378 > > computed <- true 00:13:41 verbose #15379 > > *result 00:13:41 verbose #15380 > > |> optionm.value 00:13:41 verbose #15381 > > } 00:13:41 verbose #15382 > 00:13:40 debug #851 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/79b670314107b71eda7bde7c58f9755efee43bac71ba4195e68b16b2e85131a9/main.spi 00:13:41 verbose #15383 > > 00:13:41 verbose #15384 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:41 verbose #15385 > > //// test 00:13:41 verbose #15386 > > ///! fsharp 00:13:41 verbose #15387 > > ///! cuda 00:13:41 verbose #15388 > > ///! rust 00:13:41 verbose #15389 > > ///! typescript 00:13:41 verbose #15390 > > ///! python 00:13:41 verbose #15391 > > 00:13:41 verbose #15392 > > inl count = mut 0i32 00:13:41 verbose #15393 > > inl add = 00:13:41 verbose #15394 > > fun () => 00:13:41 verbose #15395 > > count <- *count + 1 00:13:41 verbose #15396 > > count 00:13:41 verbose #15397 > > |> memoize 00:13:41 verbose #15398 > > 00:13:41 verbose #15399 > > add () |> ignore 00:13:41 verbose #15400 > > add () |> ignore 00:13:41 verbose #15401 > > add () |> ignore 00:13:41 verbose #15402 > > 00:13:41 verbose #15403 > > *count 00:13:41 verbose #15404 > > |> _assert_eq 1 00:13:41 verbose #15405 > 00:13:40 debug #852 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a3ddcc73b8dd9c6267e8a93e7c632e23a066230f1ef0f0b9d2334d6e38364f25/main.spi 00:13:41 verbose #15406 > 00:13:40 debug #853 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/73a6f3c0d59895f3a323acc7b8e41cea04a658cdea2a362fe7b1d0dd03a75d52/main.spi 00:13:52 verbose #15407 > > 00:13:52 verbose #15408 > > ╭─[ 11.47s - return value ]────────────────────────────────────────────────────╮ 00:13:52 verbose #15409 > > │ .py output (Cuda): │ 00:13:52 verbose #15410 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:52 verbose #15411 > > │ │ 00:13:52 verbose #15412 > > │ .rs output: │ 00:13:52 verbose #15413 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:52 verbose #15414 > > │ │ 00:13:52 verbose #15415 > > │ .ts output: │ 00:13:52 verbose #15416 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:52 verbose #15417 > > │ │ 00:13:52 verbose #15418 > > │ .py output: │ 00:13:52 verbose #15419 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:52 verbose #15420 > > │ │ 00:13:52 verbose #15421 > > │ │ 00:13:52 verbose #15422 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:52 verbose #15423 > > 00:13:52 verbose #15424 > > ╭─[ 11.47s - stdout ]──────────────────────────────────────────────────────────╮ 00:13:52 verbose #15425 > > │ .fsx output: │ 00:13:52 verbose #15426 > > │ assert_eq / actual: 1 / expected: 1 │ 00:13:52 verbose #15427 > > │ │ 00:13:52 verbose #15428 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:52 verbose #15429 > > 00:13:52 verbose #15430 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:52 verbose #15431 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:52 verbose #15432 > > │ ### capture │ 00:13:52 verbose #15433 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:52 verbose #15434 > > 00:13:52 verbose #15435 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:52 verbose #15436 > > inl capture forall t. (fn : () -> t) : t = 00:13:52 verbose #15437 > > inl result = dyn true 00:13:52 verbose #15438 > > $'let mutable _!result : `t option = None ' 00:13:52 verbose #15439 > > $'(' 00:13:52 verbose #15440 > > $'(fun () ->' 00:13:52 verbose #15441 > > $'(fun () ->' 00:13:52 verbose #15442 > > fn () |> emit_unit 00:13:52 verbose #15443 > > $')' 00:13:52 verbose #15444 > > $'|> fun x -> x ()' 00:13:52 verbose #15445 > > $') () )' 00:13:52 verbose #15446 > > $'|> fun x -> _!result <- Some x' 00:13:52 verbose #15447 > > $'match _!result with Some x -> x | None -> failwith "base.capture 00:13:52 verbose #15448 > > _!result=None"' 00:13:52 verbose #15449 > 00:13:52 debug #854 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/088b85f58e2daed78ef4e28ee8720d97444f48b9c2d8b87680a4d64919c48c8c/main.spi 00:13:52 verbose #15450 > > 00:13:52 verbose #15451 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:52 verbose #15452 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:52 verbose #15453 > > │ ## arithmetic │ 00:13:52 verbose #15454 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:52 verbose #15455 > > 00:13:52 verbose #15456 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:13:52 verbose #15457 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:13:52 verbose #15458 > > │ ### (+.) │ 00:13:52 verbose #15459 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:13:52 verbose #15460 > > 00:13:52 verbose #15461 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:52 verbose #15462 > > inl (+.) forall t. (a : t) (b : t) : t = 00:13:52 verbose #15463 > > $'!a + !b ' 00:13:52 verbose #15464 > 00:13:52 debug #855 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f88bc935aeed3306e7a710679d99702754ed10bed775060ee076c792f6fefd06/main.spi 00:13:52 verbose #15465 > > 00:13:52 verbose #15466 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:13:52 verbose #15467 > > //// test 00:13:52 verbose #15468 > > ///! fsharp 00:13:52 verbose #15469 > > ///! cuda 00:13:52 verbose #15470 > > ///! rust 00:13:52 verbose #15471 > > ///! typescript 00:13:52 verbose #15472 > > ///! python 00:13:52 verbose #15473 > > 00:13:52 verbose #15474 > > ($'3' : i32) +. ($'-6' : i32) 00:13:52 verbose #15475 > > |> _assert_eq -3i32 00:13:52 verbose #15476 > 00:13:52 debug #856 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe50388b02b6d97770ae2e693d428f23fbfba6929643f8a0d73aa6fa4069fc76/main.spi 00:13:52 verbose #15477 > 00:13:52 debug #857 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/df35fafda58ac1fa1be830acbdb2facc8ca919959d668463bb148b5fd77277d4/main.spi 00:14:04 verbose #15478 > > 00:14:04 verbose #15479 > > ╭─[ 11.82s - return value ]────────────────────────────────────────────────────╮ 00:14:04 verbose #15480 > > │ .py output (Cuda): │ 00:14:04 verbose #15481 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:04 verbose #15482 > > │ │ 00:14:04 verbose #15483 > > │ .rs output: │ 00:14:04 verbose #15484 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:04 verbose #15485 > > │ │ 00:14:04 verbose #15486 > > │ .ts output: │ 00:14:04 verbose #15487 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:04 verbose #15488 > > │ │ 00:14:04 verbose #15489 > > │ .py output: │ 00:14:04 verbose #15490 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:04 verbose #15491 > > │ │ 00:14:04 verbose #15492 > > │ │ 00:14:04 verbose #15493 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:04 verbose #15494 > > 00:14:04 verbose #15495 > > ╭─[ 11.82s - stdout ]──────────────────────────────────────────────────────────╮ 00:14:04 verbose #15496 > > │ .fsx output: │ 00:14:04 verbose #15497 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:04 verbose #15498 > > │ │ 00:14:04 verbose #15499 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:04 verbose #15500 > > 00:14:04 verbose #15501 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:04 verbose #15502 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:04 verbose #15503 > > │ ### (-.) │ 00:14:04 verbose #15504 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:04 verbose #15505 > > 00:14:04 verbose #15506 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:04 verbose #15507 > > inl (-.) forall t. (a : t) (b : t) : t = 00:14:04 verbose #15508 > > $'!a - !b ' 00:14:04 verbose #15509 > 00:14:04 debug #858 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c1ff3ae3cc78d3abf4a8683ffa886a7a12c10f9f150daf8661bb11b96a46f617/main.spi 00:14:04 verbose #15510 > > 00:14:04 verbose #15511 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:04 verbose #15512 > > //// test 00:14:04 verbose #15513 > > ///! fsharp 00:14:04 verbose #15514 > > ///! cuda 00:14:04 verbose #15515 > > ///! rust 00:14:04 verbose #15516 > > ///! typescript 00:14:04 verbose #15517 > > ///! python 00:14:04 verbose #15518 > > 00:14:04 verbose #15519 > > ($'3' : i32) -. ($'6' : i32) 00:14:04 verbose #15520 > > |> _assert_eq -3i32 00:14:04 verbose #15521 > 00:14:04 debug #859 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c8cecb4e0319207640d394bdc0b52ce5f1fdfbe5ef4442b694b641e1a1424332/main.spi 00:14:04 verbose #15522 > 00:14:04 debug #860 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cf9086b060f67d464484632dc50ce8b359fe4094d8945ae51d4d561778d3d0b7/main.spi 00:14:15 verbose #15523 > > 00:14:15 verbose #15524 > > ╭─[ 10.87s - return value ]────────────────────────────────────────────────────╮ 00:14:15 verbose #15525 > > │ .py output (Cuda): │ 00:14:15 verbose #15526 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:15 verbose #15527 > > │ │ 00:14:15 verbose #15528 > > │ .rs output: │ 00:14:15 verbose #15529 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:15 verbose #15530 > > │ │ 00:14:15 verbose #15531 > > │ .ts output: │ 00:14:15 verbose #15532 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:15 verbose #15533 > > │ │ 00:14:15 verbose #15534 > > │ .py output: │ 00:14:15 verbose #15535 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:15 verbose #15536 > > │ │ 00:14:15 verbose #15537 > > │ │ 00:14:15 verbose #15538 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:15 verbose #15539 > > 00:14:15 verbose #15540 > > ╭─[ 10.87s - stdout ]──────────────────────────────────────────────────────────╮ 00:14:15 verbose #15541 > > │ .fsx output: │ 00:14:15 verbose #15542 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:15 verbose #15543 > > │ │ 00:14:15 verbose #15544 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:15 verbose #15545 > > 00:14:15 verbose #15546 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:15 verbose #15547 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:15 verbose #15548 > > │ ### (*.) │ 00:14:15 verbose #15549 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:15 verbose #15550 > > 00:14:15 verbose #15551 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:15 verbose #15552 > > inl (*.) forall t. (a : t) (b : t) : t = 00:14:15 verbose #15553 > > $'!a * !b ' 00:14:15 verbose #15554 > 00:14:15 debug #861 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2773ddcd203ab8f85cdcf228fce8a9c6ac5a16e721e9d102c0bf66f441c97c84/main.spi 00:14:15 verbose #15555 > > 00:14:15 verbose #15556 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:15 verbose #15557 > > //// test 00:14:15 verbose #15558 > > ///! fsharp 00:14:15 verbose #15559 > > ///! cuda 00:14:15 verbose #15560 > > ///! rust 00:14:15 verbose #15561 > > ///! typescript 00:14:15 verbose #15562 > > ///! python 00:14:15 verbose #15563 > > 00:14:15 verbose #15564 > > ($'3' : i32) *. ($'-1' : i32) 00:14:15 verbose #15565 > > |> _assert_eq -3i32 00:14:15 verbose #15566 > 00:14:15 debug #862 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f29852ed548fec5827e886734d011f83ad3e8708fb68e22e06a03f6a62638275/main.spi 00:14:15 verbose #15567 > 00:14:15 debug #863 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/06aa84768bb1c8ab9e202422c8728ef1e3c7262ffa64663f01425eccef0b5d4a/main.spi 00:14:27 verbose #15568 > > 00:14:27 verbose #15569 > > ╭─[ 11.32s - return value ]────────────────────────────────────────────────────╮ 00:14:27 verbose #15570 > > │ .py output (Cuda): │ 00:14:27 verbose #15571 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:27 verbose #15572 > > │ │ 00:14:27 verbose #15573 > > │ .rs output: │ 00:14:27 verbose #15574 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:27 verbose #15575 > > │ │ 00:14:27 verbose #15576 > > │ .ts output: │ 00:14:27 verbose #15577 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:27 verbose #15578 > > │ │ 00:14:27 verbose #15579 > > │ .py output: │ 00:14:27 verbose #15580 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:27 verbose #15581 > > │ │ 00:14:27 verbose #15582 > > │ │ 00:14:27 verbose #15583 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:27 verbose #15584 > > 00:14:27 verbose #15585 > > ╭─[ 11.32s - stdout ]──────────────────────────────────────────────────────────╮ 00:14:27 verbose #15586 > > │ .fsx output: │ 00:14:27 verbose #15587 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:27 verbose #15588 > > │ │ 00:14:27 verbose #15589 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:27 verbose #15590 > > 00:14:27 verbose #15591 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:27 verbose #15592 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:27 verbose #15593 > > │ ### (/.) │ 00:14:27 verbose #15594 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:27 verbose #15595 > > 00:14:27 verbose #15596 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:27 verbose #15597 > > inl (/.) forall t. (a : t) (b : t) : t = 00:14:27 verbose #15598 > > $'!a / !b ' 00:14:27 verbose #15599 > 00:14:26 debug #864 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/791039f6c21951b43618f8116a01db6ceec102a6736ce7fbdf5bfe5bef5f5ee1/main.spi 00:14:27 verbose #15600 > > 00:14:27 verbose #15601 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:27 verbose #15602 > > //// test 00:14:27 verbose #15603 > > ///! fsharp 00:14:27 verbose #15604 > > ///! cuda 00:14:27 verbose #15605 > > ///! rust 00:14:27 verbose #15606 > > ///! typescript 00:14:27 verbose #15607 > > ///! python 00:14:27 verbose #15608 > > 00:14:27 verbose #15609 > > ($'-3' : i32) /. ($'1' : i32) 00:14:27 verbose #15610 > > |> _assert_eq -3i32 00:14:27 verbose #15611 > 00:14:26 debug #865 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b57a1bae56af6eb981d706953524585c943eb9c83d679d108138b5d0098e39ab/main.spi 00:14:27 verbose #15612 > 00:14:26 debug #866 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1b2dcca12dc3ff18919af81e584cab45f02f36b0a78ff408d1748c756a9af342/main.spi 00:14:37 verbose #15613 > > 00:14:37 verbose #15614 > > ╭─[ 10.74s - return value ]────────────────────────────────────────────────────╮ 00:14:37 verbose #15615 > > │ .py output (Cuda): │ 00:14:37 verbose #15616 > > │ assert_eq / actual: -3.0 / expected: -3 │ 00:14:37 verbose #15617 > > │ │ 00:14:37 verbose #15618 > > │ .rs output: │ 00:14:37 verbose #15619 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:37 verbose #15620 > > │ │ 00:14:37 verbose #15621 > > │ .ts output: │ 00:14:37 verbose #15622 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:37 verbose #15623 > > │ │ 00:14:37 verbose #15624 > > │ .py output: │ 00:14:37 verbose #15625 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:37 verbose #15626 > > │ │ 00:14:37 verbose #15627 > > │ │ 00:14:37 verbose #15628 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:37 verbose #15629 > > 00:14:37 verbose #15630 > > ╭─[ 10.74s - stdout ]──────────────────────────────────────────────────────────╮ 00:14:37 verbose #15631 > > │ .fsx output: │ 00:14:37 verbose #15632 > > │ assert_eq / actual: -3 / expected: -3 │ 00:14:37 verbose #15633 > > │ │ 00:14:37 verbose #15634 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:37 verbose #15635 > > 00:14:37 verbose #15636 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:37 verbose #15637 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:37 verbose #15638 > > │ ## comparison │ 00:14:37 verbose #15639 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:37 verbose #15640 > > 00:14:37 verbose #15641 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:37 verbose #15642 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:37 verbose #15643 > > │ ### (=.) │ 00:14:37 verbose #15644 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:37 verbose #15645 > > 00:14:37 verbose #15646 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:37 verbose #15647 > > inl (=.) forall t. (a : t) (b : t) : bool = 00:14:37 verbose #15648 > > backend_switch { 00:14:37 verbose #15649 > > Fsharp = fun () => $'!a = !b ' : bool 00:14:37 verbose #15650 > > Python = fun () => $'!a == !b ' : bool 00:14:37 verbose #15651 > > } 00:14:37 verbose #15652 > 00:14:37 debug #867 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a8c0f0e5762a08ff379cf14df0ca4d81252b98b982d1dcd086227143307ac49d/main.spi 00:14:37 verbose #15653 > > 00:14:37 verbose #15654 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:37 verbose #15655 > > //// test 00:14:37 verbose #15656 > > ///! fsharp 00:14:37 verbose #15657 > > ///! cuda 00:14:37 verbose #15658 > > ///! rust 00:14:37 verbose #15659 > > ///! typescript 00:14:37 verbose #15660 > > ///! python 00:14:37 verbose #15661 > > 00:14:37 verbose #15662 > > ($'-3' : i32) =. ($'-3' : i32) 00:14:37 verbose #15663 > > |> _assert_eq true 00:14:37 verbose #15664 > 00:14:37 debug #868 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/500cc873ed4b082c06a2fe8eedb4eaa8d4c525da2642e769486935293f3ee5c7/main.spi 00:14:37 verbose #15665 > 00:14:37 debug #869 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86953148dd24772448afe681fe264e07b3e837eb14b60331b5dec0a8fb6daecf/main.spi 00:14:48 verbose #15666 > > 00:14:48 verbose #15667 > > ╭─[ 10.63s - return value ]────────────────────────────────────────────────────╮ 00:14:48 verbose #15668 > > │ .py output (Cuda): │ 00:14:48 verbose #15669 > > │ assert_eq / actual: True / expected: True │ 00:14:48 verbose #15670 > > │ │ 00:14:48 verbose #15671 > > │ .rs output: │ 00:14:48 verbose #15672 > > │ assert_eq / actual: true / expected: true │ 00:14:48 verbose #15673 > > │ │ 00:14:48 verbose #15674 > > │ .ts output: │ 00:14:48 verbose #15675 > > │ assert_eq / actual: true / expected: true │ 00:14:48 verbose #15676 > > │ │ 00:14:48 verbose #15677 > > │ .py output: │ 00:14:48 verbose #15678 > > │ assert_eq / actual: true / expected: true │ 00:14:48 verbose #15679 > > │ │ 00:14:48 verbose #15680 > > │ │ 00:14:48 verbose #15681 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:48 verbose #15682 > > 00:14:48 verbose #15683 > > ╭─[ 10.63s - stdout ]──────────────────────────────────────────────────────────╮ 00:14:48 verbose #15684 > > │ .fsx output: │ 00:14:48 verbose #15685 > > │ assert_eq / actual: true / expected: true │ 00:14:48 verbose #15686 > > │ │ 00:14:48 verbose #15687 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:48 verbose #15688 > > 00:14:48 verbose #15689 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:48 verbose #15690 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:48 verbose #15691 > > │ ### (<>.) │ 00:14:48 verbose #15692 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:48 verbose #15693 > > 00:14:48 verbose #15694 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:48 verbose #15695 > > inl (<>.) forall t. (a : t) (b : t) : bool = 00:14:48 verbose #15696 > > backend_switch { 00:14:48 verbose #15697 > > Fsharp = fun () => $'!a <> !b ' : bool 00:14:48 verbose #15698 > > Python = fun () => $'!a \!= !b ' : bool 00:14:48 verbose #15699 > > } 00:14:48 verbose #15700 > 00:14:48 debug #870 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e0e33c4652e429b2ea000ae4e3345f8b63bd16219cec5189f4293a84e1aca058/main.spi 00:14:48 verbose #15701 > > 00:14:48 verbose #15702 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:48 verbose #15703 > > //// test 00:14:48 verbose #15704 > > ///! fsharp 00:14:48 verbose #15705 > > ///! cuda 00:14:48 verbose #15706 > > ///! rust 00:14:48 verbose #15707 > > ///! typescript 00:14:48 verbose #15708 > > ///! python 00:14:48 verbose #15709 > > 00:14:48 verbose #15710 > > ($'-3' : i32) <>. ($'3' : i32) 00:14:48 verbose #15711 > > |> _assert_eq true 00:14:48 verbose #15712 > 00:14:48 debug #871 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1aebc32c2d1deedf4465deed496832edd0d06e49b0fa5c06ff3edf2cb92d1fb1/main.spi 00:14:48 verbose #15713 > 00:14:48 debug #872 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22c7a55c6b1254de19eb61d973e9052e0bc6b613e01af70ff63535801730d3c1/main.spi 00:14:59 verbose #15714 > > 00:14:59 verbose #15715 > > ╭─[ 10.72s - return value ]────────────────────────────────────────────────────╮ 00:14:59 verbose #15716 > > │ .py output (Cuda): │ 00:14:59 verbose #15717 > > │ assert_eq / actual: True / expected: True │ 00:14:59 verbose #15718 > > │ │ 00:14:59 verbose #15719 > > │ .rs output: │ 00:14:59 verbose #15720 > > │ assert_eq / actual: true / expected: true │ 00:14:59 verbose #15721 > > │ │ 00:14:59 verbose #15722 > > │ .ts output: │ 00:14:59 verbose #15723 > > │ assert_eq / actual: true / expected: true │ 00:14:59 verbose #15724 > > │ │ 00:14:59 verbose #15725 > > │ .py output: │ 00:14:59 verbose #15726 > > │ assert_eq / actual: true / expected: true │ 00:14:59 verbose #15727 > > │ │ 00:14:59 verbose #15728 > > │ │ 00:14:59 verbose #15729 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:59 verbose #15730 > > 00:14:59 verbose #15731 > > ╭─[ 10.73s - stdout ]──────────────────────────────────────────────────────────╮ 00:14:59 verbose #15732 > > │ .fsx output: │ 00:14:59 verbose #15733 > > │ assert_eq / actual: true / expected: true │ 00:14:59 verbose #15734 > > │ │ 00:14:59 verbose #15735 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:59 verbose #15736 > > 00:14:59 verbose #15737 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:14:59 verbose #15738 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:14:59 verbose #15739 > > │ ## (<>..) │ 00:14:59 verbose #15740 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:14:59 verbose #15741 > > 00:14:59 verbose #15742 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:59 verbose #15743 > > inl (<>..) a b = 00:14:59 verbose #15744 > > fun () => a = b 00:14:59 verbose #15745 > > |> dyn 00:14:59 verbose #15746 > > |> invoke 00:14:59 verbose #15747 > > |> not 00:14:59 verbose #15748 > 00:14:59 debug #873 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1f17c43ae9476ac6d38aeb8b2026cff24d60c670e07920f2ac63eb6c3ff985bc/main.spi 00:14:59 verbose #15749 > > 00:14:59 verbose #15750 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:14:59 verbose #15751 > > //// test 00:14:59 verbose #15752 > > ///! fsharp 00:14:59 verbose #15753 > > ///! cuda 00:14:59 verbose #15754 > > ///! rust 00:14:59 verbose #15755 > > ///! typescript 00:14:59 verbose #15756 > > ///! python 00:14:59 verbose #15757 > > 00:14:59 verbose #15758 > > ($'-3' : i32) <>.. ($'3' : i32) 00:14:59 verbose #15759 > > |> _assert_eq true 00:14:59 verbose #15760 > 00:14:59 debug #874 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3ce9e44857698914d6eb16dbf69d23cd90384c978eef6d65b828479dac79d50a/main.spi 00:14:59 verbose #15761 > 00:14:59 debug #875 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bece00be37b4eefa5731a508b29fc3a585b7038031c241b8529ea4eec64053e4/main.spi 00:15:10 verbose #15762 > > 00:15:10 verbose #15763 > > ╭─[ 11.13s - return value ]────────────────────────────────────────────────────╮ 00:15:10 verbose #15764 > > │ .py output (Cuda): │ 00:15:10 verbose #15765 > > │ assert_eq / actual: True / expected: True │ 00:15:10 verbose #15766 > > │ │ 00:15:10 verbose #15767 > > │ .rs output: │ 00:15:10 verbose #15768 > > │ assert_eq / actual: true / expected: true │ 00:15:10 verbose #15769 > > │ │ 00:15:10 verbose #15770 > > │ .ts output: │ 00:15:10 verbose #15771 > > │ assert_eq / actual: true / expected: true │ 00:15:10 verbose #15772 > > │ │ 00:15:10 verbose #15773 > > │ .py output: │ 00:15:10 verbose #15774 > > │ assert_eq / actual: true / expected: true │ 00:15:10 verbose #15775 > > │ │ 00:15:10 verbose #15776 > > │ │ 00:15:10 verbose #15777 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15778 > > 00:15:10 verbose #15779 > > ╭─[ 11.13s - stdout ]──────────────────────────────────────────────────────────╮ 00:15:10 verbose #15780 > > │ .fsx output: │ 00:15:10 verbose #15781 > > │ assert_eq / actual: true / expected: true │ 00:15:10 verbose #15782 > > │ │ 00:15:10 verbose #15783 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15784 > > 00:15:10 verbose #15785 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15786 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15787 > > │ ## composition │ 00:15:10 verbose #15788 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15789 > > 00:15:10 verbose #15790 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15791 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15792 > > │ ### append │ 00:15:10 verbose #15793 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15794 > > 00:15:10 verbose #15795 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:10 verbose #15796 > > prototype append t : t -> t -> t 00:15:10 verbose #15797 > 00:15:10 debug #876 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/11178265e9355209d0a61672fdb0e2d9461cf37053b379727c9fea32f5c12136/main.spi 00:15:10 verbose #15798 > > 00:15:10 verbose #15799 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15800 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15801 > > │ ### (++) │ 00:15:10 verbose #15802 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15803 > > 00:15:10 verbose #15804 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:10 verbose #15805 > > inl (++) a b = 00:15:10 verbose #15806 > > b |> append a 00:15:10 verbose #15807 > 00:15:10 debug #877 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8e5aa09ea5ce71ec0745d292809fe5ba095b7486e2959267be167994637ad75c/main.spi 00:15:10 verbose #15808 > > 00:15:10 verbose #15809 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15810 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15811 > > │ ## application │ 00:15:10 verbose #15812 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15813 > > 00:15:10 verbose #15814 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15815 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15816 > > │ ### (||>) │ 00:15:10 verbose #15817 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15818 > > 00:15:10 verbose #15819 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:10 verbose #15820 > > inl (||>) (arg1, arg2) fn = 00:15:10 verbose #15821 > > arg2 |> fn arg1 00:15:10 verbose #15822 > 00:15:10 debug #878 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/21f1c1160789e6a5be28165af3a46cdf36d3d8eeebfb566a27f048db9a52c872/main.spi 00:15:10 verbose #15823 > > 00:15:10 verbose #15824 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15825 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15826 > > │ ### fix_condition │ 00:15:10 verbose #15827 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15828 > > 00:15:10 verbose #15829 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:10 verbose #15830 > > inl fix_condition x a b = 00:15:10 verbose #15831 > > if x () 00:15:10 verbose #15832 > > then a () |> fun x => $'(*' : () 00:15:10 verbose #15833 > > else 00:15:10 verbose #15834 > > $'*) else' : () 00:15:10 verbose #15835 > > b () |> fun x => $'(*' : () 00:15:10 verbose #15836 > > |> fun x => $'*)' : () 00:15:10 verbose #15837 > 00:15:10 debug #879 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/698f1c990db02f5e5454e6562384bd6da2ff08fbf9a3edadfb5ac7e172f29720/main.spi 00:15:10 verbose #15838 > > 00:15:10 verbose #15839 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15840 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15841 > > │ ## type │ 00:15:10 verbose #15842 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15843 > > 00:15:10 verbose #15844 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:10 verbose #15845 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:10 verbose #15846 > > │ ### infer │ 00:15:10 verbose #15847 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:10 verbose #15848 > > 00:15:10 verbose #15849 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:10 verbose #15850 > > nominal infer = $'_' 00:15:10 verbose #15851 > 00:15:10 debug #880 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74f87e3552183ff78550a8759dd7b09e7a2bdc1c8ce5e565f37e34a14603fa5a/main.spi 00:15:11 verbose #15852 > > 00:15:11 verbose #15853 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15854 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15855 > > │ ### any │ 00:15:11 verbose #15856 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15857 > > 00:15:11 verbose #15858 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15859 > > nominal any = $'obj' 00:15:11 verbose #15860 > 00:15:10 debug #881 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97749482f5bea52b204db1472bc6f4406f375ed03b4db9cb37f76820eae3e67d/main.spi 00:15:11 verbose #15861 > > 00:15:11 verbose #15862 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15863 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15864 > > │ ### unit │ 00:15:11 verbose #15865 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15866 > > 00:15:11 verbose #15867 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15868 > > nominal unit = $'unit' 00:15:11 verbose #15869 > 00:15:10 debug #882 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/841de4c9c061c1a7bcac1fc68b4e3d2fa30364cb47a442a8a6ab23dba2fe8f34/main.spi 00:15:11 verbose #15870 > > 00:15:11 verbose #15871 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15872 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15873 > > │ ### null │ 00:15:11 verbose #15874 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15875 > > 00:15:11 verbose #15876 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15877 > > inl null forall t. () : t = 00:15:11 verbose #15878 > > backend_switch { 00:15:11 verbose #15879 > > Fsharp = fun () => $'null |> unbox<`t>' : t 00:15:11 verbose #15880 > > Python = fun () => $'None' : t 00:15:11 verbose #15881 > > } 00:15:11 verbose #15882 > 00:15:10 debug #883 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cdd3023d18d5bfd686ba9e53982369bbc877e99de2a263e382c12e9f8d7020d9/main.spi 00:15:11 verbose #15883 > > 00:15:11 verbose #15884 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15885 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15886 > > │ ### defaultof │ 00:15:11 verbose #15887 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15888 > > 00:15:11 verbose #15889 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15890 > > inl defaultof forall t. () : t = 00:15:11 verbose #15891 > > $'Unchecked.defaultof<`t>' 00:15:11 verbose #15892 > 00:15:10 debug #884 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f840cf05e4e6db327c07b8e51bd527153d786892ad1a7941640b975a7ecbd5ea/main.spi 00:15:11 verbose #15893 > > 00:15:11 verbose #15894 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15895 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15896 > > │ ### choice2' │ 00:15:11 verbose #15897 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15898 > > 00:15:11 verbose #15899 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15900 > > nominal choice2' a b = $'Choice<`a, `b>' 00:15:11 verbose #15901 > 00:15:10 debug #885 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ab6a255666e2a35303381079503d6d1097609dfad99f3342ecb5285c663c26e8/main.spi 00:15:11 verbose #15902 > > 00:15:11 verbose #15903 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15904 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15905 > > │ ### choice2_unbox │ 00:15:11 verbose #15906 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15907 > > 00:15:11 verbose #15908 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15909 > > inl choice2_unbox forall t1 t2. (choice : choice2' t1 t2) : choice2 t1 t2 = 00:15:11 verbose #15910 > > run_target function 00:15:11 verbose #15911 > > | Fsharp (Native) => fun () => 00:15:11 verbose #15912 > > inl c1of2 (x : t1) : _ _ t2 = C1of2 x 00:15:11 verbose #15913 > > inl c2of2 (x : t2) : _ t1 _ = C2of2 x 00:15:11 verbose #15914 > > $'match !choice with Choice1Of2 x -> !c1of2 x | Choice2Of2 x -> 00:15:11 verbose #15915 > > !c2of2 x' 00:15:11 verbose #15916 > > | _ => fun () => null () 00:15:11 verbose #15917 > 00:15:11 debug #886 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/59ada10f237bbc6d70735ec416453655f8550e738a14edef8999d60b9e8bae4b/main.spi 00:15:11 verbose #15918 > > 00:15:11 verbose #15919 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15920 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15921 > > │ ## pair │ 00:15:11 verbose #15922 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15923 > > 00:15:11 verbose #15924 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:11 verbose #15925 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:11 verbose #15926 > > │ ### pair │ 00:15:11 verbose #15927 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:11 verbose #15928 > > 00:15:11 verbose #15929 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15930 > > nominal pair a b = $'(`a * `b)' 00:15:11 verbose #15931 > > 00:15:11 verbose #15932 > > inl pair x y = 00:15:11 verbose #15933 > > x, y 00:15:11 verbose #15934 > 00:15:11 debug #887 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/76ae47e1954720cd6bd9ba24c922ff38fa4b58e72444a820ba45a671ec55566d/main.spi 00:15:11 verbose #15935 > > 00:15:11 verbose #15936 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:11 verbose #15937 > > //// test 00:15:11 verbose #15938 > > ///! fsharp 00:15:11 verbose #15939 > > ///! cuda 00:15:11 verbose #15940 > > ///! rust 00:15:11 verbose #15941 > > ///! typescript 00:15:11 verbose #15942 > > ///! python 00:15:11 verbose #15943 > > 00:15:11 verbose #15944 > > pair 1i32 2i32 00:15:11 verbose #15945 > > |> _assert_eq (1, 2) 00:15:11 verbose #15946 > 00:15:11 debug #888 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca8b483086d0b0ae7d110de6bfe7775f7aae329293c5a680437c7931de214d3d/main.spi 00:15:11 verbose #15947 > 00:15:11 debug #889 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a2910aed703e0200118c326a6520cfb9d030cccd705a3960fd10f7d53aef98f2/main.spi 00:15:22 verbose #15948 > > 00:15:22 verbose #15949 > > ╭─[ 10.69s - return value ]────────────────────────────────────────────────────╮ 00:15:22 verbose #15950 > > │ .py output (Cuda): │ 00:15:22 verbose #15951 > > │ assert_eq / actual: (1, 2) / expected: (1, 2) │ 00:15:22 verbose #15952 > > │ │ 00:15:22 verbose #15953 > > │ .rs output: │ 00:15:22 verbose #15954 > > │ assert_eq / actual: (1, 2) / expected: (1, 2) │ 00:15:22 verbose #15955 > > │ │ 00:15:22 verbose #15956 > > │ .ts output: │ 00:15:22 verbose #15957 > > │ assert_eq / actual: 1,2 / expected: 1,2 │ 00:15:22 verbose #15958 > > │ │ 00:15:22 verbose #15959 > > │ .py output: │ 00:15:22 verbose #15960 > > │ assert_eq / actual: (1, 2) / expected: (1, 2) │ 00:15:22 verbose #15961 > > │ │ 00:15:22 verbose #15962 > > │ │ 00:15:22 verbose #15963 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:22 verbose #15964 > > 00:15:22 verbose #15965 > > ╭─[ 10.69s - stdout ]──────────────────────────────────────────────────────────╮ 00:15:22 verbose #15966 > > │ .fsx output: │ 00:15:22 verbose #15967 > > │ assert_eq / actual: struct (1, 2) / expected: struct (1, 2) │ 00:15:22 verbose #15968 > > │ │ 00:15:22 verbose #15969 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:22 verbose #15970 > > 00:15:22 verbose #15971 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:22 verbose #15972 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:22 verbose #15973 > > │ ### new_pair │ 00:15:22 verbose #15974 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:22 verbose #15975 > > 00:15:22 verbose #15976 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:22 verbose #15977 > > inl new_pair forall a b. (a : a) (b : b) : pair a b = 00:15:22 verbose #15978 > > $'!a, !b ' 00:15:22 verbose #15979 > 00:15:21 debug #890 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c5ad2b60beed19e1f82efea32b9bae7226e9813c3da2a96fbcdc91679e6a50a5/main.spi 00:15:22 verbose #15980 > > 00:15:22 verbose #15981 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:22 verbose #15982 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:22 verbose #15983 > > │ ### from_pair │ 00:15:22 verbose #15984 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:22 verbose #15985 > > 00:15:22 verbose #15986 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:22 verbose #15987 > > inl from_pair forall a b. (pair : pair a b) : a * b = 00:15:22 verbose #15988 > > backend_switch { 00:15:22 verbose #15989 > > Fsharp = fun () => 00:15:22 verbose #15990 > > $'let (a, b) = !pair ' 00:15:22 verbose #15991 > > ($'a' : a), ($'b' : b) 00:15:22 verbose #15992 > > Python = fun () => 00:15:22 verbose #15993 > > $'a, b = !pair ' 00:15:22 verbose #15994 > > ($'a' : a), ($'b' : b) 00:15:22 verbose #15995 > > } 00:15:22 verbose #15996 > 00:15:21 debug #891 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2db9d9e7476e1a48a9b8b23622d8b85008d6bd3940eafffb78e766696263b433/main.spi 00:15:22 verbose #15997 > > 00:15:22 verbose #15998 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:22 verbose #15999 > > //// test 00:15:22 verbose #16000 > > ///! fsharp 00:15:22 verbose #16001 > > ///! cuda 00:15:22 verbose #16002 > > ///! rust 00:15:22 verbose #16003 > > ///! typescript 00:15:22 verbose #16004 > > ///! python 00:15:22 verbose #16005 > > 00:15:22 verbose #16006 > > new_pair "a" (new_pair 1i32 "b") 00:15:22 verbose #16007 > > |> from_pair 00:15:22 verbose #16008 > > |> _assert_eq' ("a", (new_pair 1i32 "b")) 00:15:22 verbose #16009 > 00:15:22 debug #892 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/31bf2ee04046f01af9d49f1a62215a491118ac9448eb45c1ab334bb1b6a682ea/main.spi 00:15:22 verbose #16010 > 00:15:22 debug #893 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aa5c093d674c667d8c3500db3591c724f51e0b40d3cb4c0bd52141f77e41335d/main.spi 00:15:33 verbose #16011 > > 00:15:33 verbose #16012 > > ╭─[ 11.01s - return value ]────────────────────────────────────────────────────╮ 00:15:33 verbose #16013 > > │ .py output (Cuda): │ 00:15:33 verbose #16014 > > │ assert_eq' / actual: ('a', (1, 'b')) / expected: ('a', (1, 'b')) │ 00:15:33 verbose #16015 > > │ │ 00:15:33 verbose #16016 > > │ .rs output: │ 00:15:33 verbose #16017 > > │ assert_eq' / actual: ("a", (1, "b")) / expected: ("a", (1, "b")) │ 00:15:33 verbose #16018 > > │ │ 00:15:33 verbose #16019 > > │ .ts output: │ 00:15:33 verbose #16020 > > │ assert_eq' / actual: a,1,b / expected: a,1,b │ 00:15:33 verbose #16021 > > │ │ 00:15:33 verbose #16022 > > │ .py output: │ 00:15:33 verbose #16023 > > │ assert_eq' / actual: ('a', (1, 'b')) / expected: ('a', (1, 'b')) │ 00:15:33 verbose #16024 > > │ │ 00:15:33 verbose #16025 > > │ │ 00:15:33 verbose #16026 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:33 verbose #16027 > > 00:15:33 verbose #16028 > > ╭─[ 11.01s - stdout ]──────────────────────────────────────────────────────────╮ 00:15:33 verbose #16029 > > │ .fsx output: │ 00:15:33 verbose #16030 > > │ assert_eq' / actual: struct ("a", (1, "b")) / expected: struct ("a", (1, │ 00:15:33 verbose #16031 > > │ "b")) │ 00:15:33 verbose #16032 > > │ │ 00:15:33 verbose #16033 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:33 verbose #16034 > > 00:15:33 verbose #16035 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:33 verbose #16036 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:33 verbose #16037 > > │ ## ref │ 00:15:33 verbose #16038 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:33 verbose #16039 > > 00:15:33 verbose #16040 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:33 verbose #16041 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:33 verbose #16042 > > │ ### ref │ 00:15:33 verbose #16043 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:33 verbose #16044 > > 00:15:33 verbose #16045 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:33 verbose #16046 > > nominal ref t = $'`t ref' 00:15:33 verbose #16047 > 00:15:33 debug #894 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/59a078b48f15e4ccde1dea0d836799c4bfbb7b082db687383ff46238721e3d2c/main.spi 00:15:33 verbose #16048 > > 00:15:33 verbose #16049 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:33 verbose #16050 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:33 verbose #16051 > > │ ### new_ref │ 00:15:33 verbose #16052 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:33 verbose #16053 > > 00:15:33 verbose #16054 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:33 verbose #16055 > > inl new_ref forall t. (x : t) : ref t = 00:15:33 verbose #16056 > > $'ref !x ' 00:15:33 verbose #16057 > 00:15:33 debug #895 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52d625b7cd055f464080333964e5c5f9fadc6c5220e86739f50dcbe95f476836/main.spi 00:15:34 verbose #16058 > > 00:15:34 verbose #16059 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16060 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16061 > > │ ### ref_value │ 00:15:34 verbose #16062 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16063 > > 00:15:34 verbose #16064 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16065 > > inl ref_value forall t. (x : ref t) : t = 00:15:34 verbose #16066 > > $'!x.Value' 00:15:34 verbose #16067 > 00:15:33 debug #896 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a261a719b6d8e98a24de6f7c9d21fc2def282d2da2d088d1e958cfef4814f921/main.spi 00:15:34 verbose #16068 > > 00:15:34 verbose #16069 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16070 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16071 > > │ ### ref_set_value │ 00:15:34 verbose #16072 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16073 > > 00:15:34 verbose #16074 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16075 > > inl ref_set_value forall t. (value : t) (ref : ref t) : ref t = 00:15:34 verbose #16076 > > $'!ref.Value <- !value ' 00:15:34 verbose #16077 > > ref 00:15:34 verbose #16078 > 00:15:33 debug #897 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/94eb3172cad6293896da047a8aaf1553e0e7eb18328cc756c29adf66b2b8941f/main.spi 00:15:34 verbose #16079 > > 00:15:34 verbose #16080 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16081 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16082 > > │ ## convert │ 00:15:34 verbose #16083 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16084 > > 00:15:34 verbose #16085 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16086 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16087 > > │ ### convert │ 00:15:34 verbose #16088 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16089 > > 00:15:34 verbose #16090 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16091 > > inl convert forall t u. (x : t) : u = 00:15:34 verbose #16092 > > backend_switch { 00:15:34 verbose #16093 > > Fsharp = fun () => $'!x |> `u ' : u 00:15:34 verbose #16094 > > Python = fun () => $'!x ' : u 00:15:34 verbose #16095 > > } 00:15:34 verbose #16096 > 00:15:33 debug #898 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ef1453a7c182adfe9237797ebc8f8f38673def064a0f634212619564425eedee/main.spi 00:15:34 verbose #16097 > > 00:15:34 verbose #16098 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16099 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16100 > > │ ### unbox │ 00:15:34 verbose #16101 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16102 > > 00:15:34 verbose #16103 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16104 > > inl unbox forall t u. (x : t) : u = 00:15:34 verbose #16105 > > backend_switch { 00:15:34 verbose #16106 > > Fsharp = fun () => $'!x |> unbox<`u>' : u 00:15:34 verbose #16107 > > Python = fun () => $'!x ' : u 00:15:34 verbose #16108 > > } 00:15:34 verbose #16109 > 00:15:33 debug #899 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bda95bbf64015f10b433bca4dfda841aa24c4f0e293d3ed1bf2e90a9a4a198d5/main.spi 00:15:34 verbose #16110 > > 00:15:34 verbose #16111 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16112 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16113 > > │ ### u8 │ 00:15:34 verbose #16114 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16115 > > 00:15:34 verbose #16116 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16117 > > inl u8 forall t. (x : t) : u8 = 00:15:34 verbose #16118 > > x |> $'uint8' 00:15:34 verbose #16119 > 00:15:33 debug #900 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ec8a0975894dbfbcd66c82c7f965668ec88ff98a7638ec4941c95c494f4291b8/main.spi 00:15:34 verbose #16120 > > 00:15:34 verbose #16121 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16122 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16123 > > │ ### u16 │ 00:15:34 verbose #16124 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16125 > > 00:15:34 verbose #16126 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16127 > > inl u16 forall t. (x : t) : u16 = 00:15:34 verbose #16128 > > x |> $'uint16' 00:15:34 verbose #16129 > 00:15:34 debug #901 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/12fb4fb529e8b48b5ba7ecf4a2f67ee19f99a2028df7625c49df90c6a4714b6c/main.spi 00:15:34 verbose #16130 > > 00:15:34 verbose #16131 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16132 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16133 > > │ ### u64 │ 00:15:34 verbose #16134 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16135 > > 00:15:34 verbose #16136 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16137 > > inl u64 forall t. (x : t) : u64 = 00:15:34 verbose #16138 > > x |> $'uint64' 00:15:34 verbose #16139 > 00:15:34 debug #902 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d5a10b54acdcc0e794a92e5d12429c48a26ae6fd2edaf295793e535bad641e6e/main.spi 00:15:34 verbose #16140 > > 00:15:34 verbose #16141 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16142 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16143 > > │ ### i32 │ 00:15:34 verbose #16144 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16145 > > 00:15:34 verbose #16146 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16147 > > inl i32 forall t. (x : t) : i32 = 00:15:34 verbose #16148 > > x |> $'int32' 00:15:34 verbose #16149 > 00:15:34 debug #903 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5bc9fe208b8c8dd373b2227e3edb1d2ee0c61a31401c18e938d27ab9b42b644f/main.spi 00:15:34 verbose #16150 > > 00:15:34 verbose #16151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16153 > > │ ### i64 │ 00:15:34 verbose #16154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16155 > > 00:15:34 verbose #16156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16157 > > inl i64 forall t. (x : t) : i64 = 00:15:34 verbose #16158 > > x |> $'int64' 00:15:34 verbose #16159 > 00:15:34 debug #904 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8a5171648e9716e5e3de8589168faef51f5d74716fa53f3a8c1a457cda1295d5/main.spi 00:15:34 verbose #16160 > > 00:15:34 verbose #16161 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16162 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16163 > > │ ### f32 │ 00:15:34 verbose #16164 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16165 > > 00:15:34 verbose #16166 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16167 > > inl f32 forall t. (x : t) : f32 = 00:15:34 verbose #16168 > > x |> $'float32' 00:15:34 verbose #16169 > 00:15:34 debug #905 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b01fca0e6c86bacf39a4636e94bcb53ceb1f7fe712f21e990d6048f05992c012/main.spi 00:15:34 verbose #16170 > > 00:15:34 verbose #16171 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16172 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16173 > > │ ### f64 │ 00:15:34 verbose #16174 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16175 > > 00:15:34 verbose #16176 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16177 > > inl f64 forall t. (x : t) : f64 = 00:15:34 verbose #16178 > > x |> $'float' 00:15:34 verbose #16179 > 00:15:34 debug #906 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0658ca09c85351cadb16cca922f65f78968e72414bc2242de3e7ad1cd9055844/main.spi 00:15:34 verbose #16180 > > 00:15:34 verbose #16181 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:34 verbose #16182 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:34 verbose #16183 > > │ ### unativeint │ 00:15:34 verbose #16184 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:34 verbose #16185 > > 00:15:34 verbose #16186 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:34 verbose #16187 > > nominal unativeint = $'unativeint' 00:15:34 verbose #16188 > 00:15:34 debug #907 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52b009d5f3019fd7779afa90baea6ffe94ff840c5f07ade402c53fa37d74c8db/main.spi 00:15:35 verbose #16189 > > 00:15:35 verbose #16190 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:35 verbose #16191 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:35 verbose #16192 > > │ ### convert_i32 │ 00:15:35 verbose #16193 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:35 verbose #16194 > > 00:15:35 verbose #16195 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:35 verbose #16196 > > inl convert_i32 forall t. (x : t) : i32 = 00:15:35 verbose #16197 > > x |> $'System.Convert.ToInt32' 00:15:35 verbose #16198 > 00:15:34 debug #908 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15e07b6ef898b55f33fdf6ca15c98ff33df8eb72f3dab31ba19fe7572b565397/main.spi 00:15:35 verbose #16199 > > 00:15:35 verbose #16200 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:35 verbose #16201 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:35 verbose #16202 > > │ ### convert_i32_base │ 00:15:35 verbose #16203 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:35 verbose #16204 > > 00:15:35 verbose #16205 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:35 verbose #16206 > > inl convert_i32_base forall t. (base : i32) (x : t) : i32 = 00:15:35 verbose #16207 > > $'System.Convert.ToInt32 (!x, !base)' 00:15:35 verbose #16208 > 00:15:34 debug #909 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f05a25aff804478ed87bc5235c755ec481c9718412412ba1dd6273d13257279d/main.spi 00:15:35 verbose #16209 > > 00:15:35 verbose #16210 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:35 verbose #16211 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:35 verbose #16212 > > │ ## error │ 00:15:35 verbose #16213 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:35 verbose #16214 > > 00:15:35 verbose #16215 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:35 verbose #16216 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:35 verbose #16217 > > │ ### exn │ 00:15:35 verbose #16218 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:35 verbose #16219 > > 00:15:35 verbose #16220 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:35 verbose #16221 > > nominal exn = $"backend_switch `({ Fsharp : $'exn'; Python : $'BaseException' 00:15:35 verbose #16222 > > })" 00:15:35 verbose #16223 > > 00:15:35 verbose #16224 > > inl exn x = 00:15:35 verbose #16225 > > x |> $'`exn ' 00:15:35 verbose #16226 > 00:15:34 debug #910 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ae26f4b8153e4a50cf5f95b38577d51b9e515d8aa7e838df7b981e1916eb0989/main.spi 00:15:35 verbose #16227 > > 00:15:35 verbose #16228 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:35 verbose #16229 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:35 verbose #16230 > > │ ### try │ 00:15:35 verbose #16231 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:35 verbose #16232 > > 00:15:35 verbose #16233 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:35 verbose #16234 > > inl try forall t. (fn : () -> t) (ex_fn : exn -> option t) : option t = 00:15:35 verbose #16235 > > backend_switch { 00:15:35 verbose #16236 > > Fsharp = fun () => 00:15:35 verbose #16237 > > inl some x : option t = Some x 00:15:35 verbose #16238 > > inl some = dyn some 00:15:35 verbose #16239 > > inl fn = dyn fn 00:15:35 verbose #16240 > > inl ex_fn = dyn ex_fn 00:15:35 verbose #16241 > > $'let result = ref !(None : option t)' 00:15:35 verbose #16242 > > $'try' 00:15:35 verbose #16243 > > $' result.Value <- !fn () |> !some ' 00:15:35 verbose #16244 > > $'with ex ->' 00:15:35 verbose #16245 > > $' result.Value <- !ex_fn ex ' 00:15:35 verbose #16246 > > $'result.Value' : option t 00:15:35 verbose #16247 > > Python = fun () => 00:15:35 verbose #16248 > > $'result = !(None : option t)' 00:15:35 verbose #16249 > > inl fn = dyn fn 00:15:35 verbose #16250 > > inl ex_fn = dyn ex_fn 00:15:35 verbose #16251 > > $'try:' 00:15:35 verbose #16252 > > $' result = !fn()\n \'\'\'' 00:15:35 verbose #16253 > > $'\'\'\'' 00:15:35 verbose #16254 > > $'except Exception as e:' 00:15:35 verbose #16255 > > $' result = !ex_fn(e)' 00:15:35 verbose #16256 > > $'result' : option t 00:15:35 verbose #16257 > > } 00:15:35 verbose #16258 > 00:15:34 debug #911 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f6388a0b6f6b63b2d79daeb9e30e107babca294d2b14f0b9a38ee308f7ae0861/main.spi 00:15:35 verbose #16259 > > 00:15:35 verbose #16260 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:35 verbose #16261 > > //// test 00:15:35 verbose #16262 > > ///! fsharp 00:15:35 verbose #16263 > > ////! cuda // cudaErrorInsufficientDriver: CUDA driver version is insufficient 00:15:35 verbose #16264 > > for CUDA runtime version 00:15:35 verbose #16265 > > ///! rust 00:15:35 verbose #16266 > > ///! typescript 00:15:35 verbose #16267 > > ///! python 00:15:35 verbose #16268 > > 00:15:35 verbose #16269 > > try 00:15:35 verbose #16270 > > fun () => a ;[[ 0i32 ]] |> am'.index 1i32 |> sm'.format 00:15:35 verbose #16271 > > (fun ex => $'!ex ' |> sm'.format_exception |> Some) 00:15:35 verbose #16272 > > |> optionm.value 00:15:35 verbose #16273 > > |> _assert_eq (run_target function 00:15:35 verbose #16274 > > | Fsharp => fun () => "System.IndexOutOfRangeException: Index was outside 00:15:35 verbose #16275 > > the bounds of the array." 00:15:35 verbose #16276 > > | Cuda => fun () => "array index out of range" 00:15:35 verbose #16277 > > | Rust => fun () => "Exception { message: \"index out of bounds: the len is 00:15:35 verbose #16278 > > 1 but the index is 1\" }" 00:15:35 verbose #16279 > > | TypeScript => fun () => "Error: Index was outside the bounds of the 00:15:35 verbose #16280 > > array.\\nParameter name: index" 00:15:35 verbose #16281 > > | Python => fun () => "array index out of range" 00:15:35 verbose #16282 > > ) 00:15:35 verbose #16283 > 00:15:35 debug #912 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/844f33cbbaf941206ecc42e7cdff8cd94cf03e3fe39bf3b669d11e217c1ce1cb/main.spi 00:15:47 verbose #16284 > > 00:15:47 verbose #16285 > > ╭─[ 11.72s - return value ]────────────────────────────────────────────────────╮ 00:15:47 verbose #16286 > > │ .rs output: │ 00:15:47 verbose #16287 > > │ assert_eq / actual: "Exception { message: "index out of bounds: the len is 1 │ 00:15:47 verbose #16288 > > │ but the index is 1" }" / expected: "Exception { message: "index out of │ 00:15:47 verbose #16289 > > │ bounds: the len is 1 but the index is 1" }" │ 00:15:47 verbose #16290 > > │ │ 00:15:47 verbose #16291 > > │ .ts output: │ 00:15:47 verbose #16292 > > │ assert_eq / actual: Error: Index was outside the bounds of the │ 00:15:47 verbose #16293 > > │ array.\nParameter name: index / expected: Error: Index was outside the │ 00:15:47 verbose #16294 > > │ bounds of the array.\nParameter name: index │ 00:15:47 verbose #16295 > > │ │ 00:15:47 verbose #16296 > > │ .py output: │ 00:15:47 verbose #16297 > > │ assert_eq / actual: array index out of range / expected: array index out of │ 00:15:47 verbose #16298 > > │ range │ 00:15:47 verbose #16299 > > │ │ 00:15:47 verbose #16300 > > │ │ 00:15:47 verbose #16301 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:47 verbose #16302 > > 00:15:47 verbose #16303 > > ╭─[ 11.72s - stdout ]──────────────────────────────────────────────────────────╮ 00:15:47 verbose #16304 > > │ .fsx output: │ 00:15:47 verbose #16305 > > │ assert_eq / actual: "System.IndexOutOfRangeException: Index was outside the │ 00:15:47 verbose #16306 > > │ bounds of the array." / expected: "System.IndexOutOfRangeException: Index │ 00:15:47 verbose #16307 > > │ was outside the bounds of the array." │ 00:15:47 verbose #16308 > > │ │ 00:15:47 verbose #16309 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:47 verbose #16310 > > 00:15:47 verbose #16311 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:47 verbose #16312 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:47 verbose #16313 > > │ ### try_unit │ 00:15:47 verbose #16314 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:47 verbose #16315 > > 00:15:47 verbose #16316 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:47 verbose #16317 > > inl try_unit forall t. (fn : () -> ()) (ex_fn : exn -> ()) : t = 00:15:47 verbose #16318 > > $'try' 00:15:47 verbose #16319 > > fn () 00:15:47 verbose #16320 > > |> ignore 00:15:47 verbose #16321 > > $'with ex ->' 00:15:47 verbose #16322 > > ex_fn $'ex' 00:15:47 verbose #16323 > > |> ignore 00:15:47 verbose #16324 > > $'(*' 00:15:47 verbose #16325 > > $'*)' 00:15:47 verbose #16326 > 00:15:46 debug #913 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/428c72a97a67dee75fe6afb54340ac612514018e95c742919633d435f7cb2840/main.spi 00:15:47 verbose #16327 > > 00:15:47 verbose #16328 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:47 verbose #16329 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:47 verbose #16330 > > │ ### try_finally │ 00:15:47 verbose #16331 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:47 verbose #16332 > > 00:15:47 verbose #16333 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:47 verbose #16334 > > inl try_finally forall t. (fn : () -> ()) (finally : () -> ()) : t = 00:15:47 verbose #16335 > > $'try' 00:15:47 verbose #16336 > > fn () 00:15:47 verbose #16337 > > |> ignore 00:15:47 verbose #16338 > > $'finally' 00:15:47 verbose #16339 > > finally () 00:15:47 verbose #16340 > > |> ignore 00:15:47 verbose #16341 > > $'(*' 00:15:47 verbose #16342 > > $'*)' 00:15:47 verbose #16343 > 00:15:46 debug #914 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/59edc2b4f50132a991092ac2cfa0601b1ce51e4ce802853da98461d107d3c774/main.spi 00:15:47 verbose #16344 > 00:02:23 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 67686 } 00:15:47 verbose #16345 > 00:02:23 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/base.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/base.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:15:48 verbose #16346 > 00:02:24 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/base.dib.ipynb to html 00:15:48 verbose #16347 > 00:02:24 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:15:48 verbose #16348 > 00:02:24 verbose #7 ! validate(nb) 00:15:48 verbose #16349 > 00:02:24 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:15:48 verbose #16350 > 00:02:24 verbose #9 ! return _pygments_highlight( 00:15:48 verbose #16351 > 00:02:25 verbose #10 ! [NbConvertApp] Writing 404171 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/base.dib.html 00:15:49 verbose #16352 > 00:02:25 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:15:49 verbose #16353 > 00:02:25 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:15:49 verbose #16354 > 00:02:25 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/base.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/base.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:15:49 verbose #16355 > 00:02:25 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:15:49 verbose #16356 > 00:02:25 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:15:49 verbose #16357 > 00:02:25 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 68637 } 00:15:49 debug #16358 runtime.execute_with_options_async / { exit_code = 0; output_length = 73620 } 00:15:49 debug #22 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path base.dib --retries 3 00:15:49 debug #16359 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path iter.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:15:49 verbose #16360 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "iter.dib", "--retries", "3"])) } 00:15:49 verbose #16361 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:15:50 verbose #16362 > > 00:15:50 verbose #16363 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:50 verbose #16364 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:50 verbose #16365 > > │ # iter │ 00:15:50 verbose #16366 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:53 verbose #16367 > > 00:15:53 verbose #16368 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:53 verbose #16369 > > open rust 00:15:53 verbose #16370 > > open rust_operators 00:15:53 verbose #16371 > 00:15:53 debug #915 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd47537238fcdc924c2a6b0a99d4f87ecbbde40a43ba8772a0907b5bf4a50e9d/main.spi 00:15:53 verbose #16372 > > 00:15:53 verbose #16373 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:53 verbose #16374 > > //// test 00:15:53 verbose #16375 > > 00:15:53 verbose #16376 > > open testing 00:15:53 verbose #16377 > 00:15:53 debug #916 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f990f43922e45080129606975ec74b3f88780cb3b27c2ae1151c776db6e5e262/main.spi 00:15:54 verbose #16378 > > 00:15:54 verbose #16379 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16380 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16381 > > │ ## rust │ 00:15:54 verbose #16382 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16383 > > 00:15:54 verbose #16384 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16385 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16386 > > │ ### iter_enumerate │ 00:15:54 verbose #16387 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16388 > > 00:15:54 verbose #16389 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16390 > > inl iter_enumerate forall t. (iter : into_iterator t) : into_iterator (pair 00:15:54 verbose #16391 > > unativeint t) = 00:15:54 verbose #16392 > > !\($'"!iter.enumerate().map(std::sync::Arc::new)"') 00:15:54 verbose #16393 > 00:15:53 debug #917 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d8a6ea40aa799a8c2bd52cb18ca65c470c54665193ded1294ec6ccbc97f8a86/main.spi 00:15:54 verbose #16394 > > 00:15:54 verbose #16395 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16396 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16397 > > │ ### into_iter │ 00:15:54 verbose #16398 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16399 > > 00:15:54 verbose #16400 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16401 > > inl into_iter forall (t : * -> *) u. (x : t u) : into_iterator u = 00:15:54 verbose #16402 > > !\($'"!x.into_iter()"') 00:15:54 verbose #16403 > 00:15:53 debug #918 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dd395d49bbb9bd6779e94532419fa97dc619145f16f353b7af4a3d6ea1a32496/main.spi 00:15:54 verbose #16404 > > 00:15:54 verbose #16405 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16406 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16407 > > │ ### iter │ 00:15:54 verbose #16408 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16409 > > 00:15:54 verbose #16410 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16411 > > inl iter forall (t : * -> *) u. (x : t u) : into_iterator u = 00:15:54 verbose #16412 > > !\($'"!x.iter()"') 00:15:54 verbose #16413 > 00:15:53 debug #919 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f82440a817cb9be978dc31a9119e5cf44032531723c62972d9484c7261ebad85/main.spi 00:15:54 verbose #16414 > > 00:15:54 verbose #16415 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16416 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16417 > > │ ### iter_map │ 00:15:54 verbose #16418 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16419 > > 00:15:54 verbose #16420 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16421 > > inl iter_map forall t u. (fn : t -> u) (iter : into_iterator t) : into_iterator 00:15:54 verbose #16422 > > u = 00:15:54 verbose #16423 > > !\\(fn, $'"!iter.map(|x| $0(x))"') 00:15:54 verbose #16424 > 00:15:53 debug #920 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/597dc9e9613fd31081cce73308b0e97d4ed04dcbd36c15fc12894f11079a32b0/main.spi 00:15:54 verbose #16425 > > 00:15:54 verbose #16426 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16427 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16428 > > │ ### try_for_each │ 00:15:54 verbose #16429 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16430 > > 00:15:54 verbose #16431 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16432 > > inl try_for_each forall t. (fn : t -> rust.try ()) x : resultm.result' () string 00:15:54 verbose #16433 > > = 00:15:54 verbose #16434 > > (!\($'"true; let mut !x = !x; let _result = !x.try_for_each(|x| { //"') : 00:15:54 verbose #16435 > > bool) |> ignore 00:15:54 verbose #16436 > > (!\\(fn !\($'"x"'), $'"true; $0 }); //"') : bool) |> ignore 00:15:54 verbose #16437 > > !\($'"_result.map_err(|x| x.into())"') 00:15:54 verbose #16438 > 00:15:53 debug #921 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/81dda50b9dde85250087f1c4d6f477047f2ca358e442cd36d8c152a9038fe2c8/main.spi 00:15:54 verbose #16439 > > 00:15:54 verbose #16440 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:15:54 verbose #16441 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:15:54 verbose #16442 > > │ ### enumerate │ 00:15:54 verbose #16443 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:15:54 verbose #16444 > > 00:15:54 verbose #16445 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16446 > > inl enumerate forall dim {int; number} t. (ar : a dim t) : a dim (unativeint * 00:15:54 verbose #16447 > > t) = 00:15:54 verbose #16448 > > inl (a ar) = ar 00:15:54 verbose #16449 > > ar 00:15:54 verbose #16450 > > |> am'.to_vec 00:15:54 verbose #16451 > > |> into_iter 00:15:54 verbose #16452 > > |> iter_enumerate 00:15:54 verbose #16453 > > |> iter_collect 00:15:54 verbose #16454 > > |> am'.vec_map' from_pair 00:15:54 verbose #16455 > > |> am'.from_vec 00:15:54 verbose #16456 > 00:15:54 debug #922 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d9f58abffbc45f92409dc2f18f96a31a78a85f015e82851c3e96692593402802/main.spi 00:15:54 verbose #16457 > > 00:15:54 verbose #16458 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:15:54 verbose #16459 > > //// test 00:15:54 verbose #16460 > > ///! rust 00:15:54 verbose #16461 > > 00:15:54 verbose #16462 > > am'.init_series 0i32 2 1 00:15:54 verbose #16463 > > |> fun x => a x : _ int _ 00:15:54 verbose #16464 > > |> enumerate 00:15:54 verbose #16465 > > |> fun (a x : _ int _) => x 00:15:54 verbose #16466 > > |> _assert_eq' ;[[ convert 0i32, 0; convert 1i32, 1; convert 2i32, 2 ]] 00:15:54 verbose #16467 > 00:15:54 debug #923 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/93e99010781fd589e6967fa8f7bb3af084915e76cb3364150b774e0cdca74551/main.spi 00:16:02 verbose #16468 > > 00:16:02 verbose #16469 > > ╭─[ 7.50s - return value ]─────────────────────────────────────────────────────╮ 00:16:02 verbose #16470 > > │ assert_eq' / actual: Array(MutCell([(0, 0), (1, 1), (2, 2)])) / expected: │ 00:16:02 verbose #16471 > > │ Array(MutCell([(0, 0), (1, 1), (2, 2)])) │ 00:16:02 verbose #16472 > > │ │ 00:16:02 verbose #16473 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:02 verbose #16474 > 00:00:12 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 5798 } 00:16:02 verbose #16475 > 00:00:12 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:02 verbose #16476 > 00:00:13 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.ipynb to html 00:16:02 verbose #16477 > 00:00:13 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:16:02 verbose #16478 > 00:00:13 verbose #7 ! validate(nb) 00:16:03 verbose #16479 > 00:00:13 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:16:03 verbose #16480 > 00:00:13 verbose #9 ! return _pygments_highlight( 00:16:03 verbose #16481 > 00:00:13 verbose #10 ! [NbConvertApp] Writing 286507 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.html 00:16:03 verbose #16482 > 00:00:14 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:16:03 verbose #16483 > 00:00:14 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:16:03 verbose #16484 > 00:00:14 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/iter.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:03 verbose #16485 > 00:00:14 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:16:03 verbose #16486 > 00:00:14 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:16:03 verbose #16487 > 00:00:14 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 6749 } 00:16:03 debug #16488 runtime.execute_with_options_async / { exit_code = 0; output_length = 9718 } 00:16:03 debug #23 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path iter.dib --retries 3 00:16:03 debug #16489 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path wasm.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:03 verbose #16490 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "wasm.dib", "--retries", "3"])) } 00:16:03 verbose #16491 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:16:05 verbose #16492 > > 00:16:05 verbose #16493 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:05 verbose #16494 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:05 verbose #16495 > > │ # wasm │ 00:16:05 verbose #16496 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:07 verbose #16497 > > 00:16:07 verbose #16498 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:07 verbose #16499 > > open rust 00:16:07 verbose #16500 > > open rust_operators 00:16:07 verbose #16501 > 00:16:07 debug #924 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd47537238fcdc924c2a6b0a99d4f87ecbbde40a43ba8772a0907b5bf4a50e9d/main.spi 00:16:08 verbose #16502 > > 00:16:08 verbose #16503 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16504 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16505 > > │ ### rexie │ 00:16:08 verbose #16506 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16507 > > 00:16:08 verbose #16508 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16509 > > nominal rexie = 00:16:08 verbose #16510 > > `( 00:16:08 verbose #16511 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16512 > > Fable.Core.Emit(\"rexie::Rexie\")>]]\n#endif\ntype rexie_Rexie = class end" 00:16:08 verbose #16513 > > $'' : $'rexie_Rexie' 00:16:08 verbose #16514 > > ) 00:16:08 verbose #16515 > 00:16:07 debug #925 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9b3f0988d95e5fc6564e8574b2b6f9da1e66bae3540dfd2fa1760f1611e0719f/main.spi 00:16:08 verbose #16516 > > 00:16:08 verbose #16517 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16518 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16519 > > │ ### rexie_store │ 00:16:08 verbose #16520 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16521 > > 00:16:08 verbose #16522 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16523 > > nominal rexie_store = 00:16:08 verbose #16524 > > `( 00:16:08 verbose #16525 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16526 > > Fable.Core.Emit(\"rexie::Store\")>]]\n#endif\ntype rexie_Store = class end" 00:16:08 verbose #16527 > > $'' : $'rexie_Store' 00:16:08 verbose #16528 > > ) 00:16:08 verbose #16529 > 00:16:07 debug #926 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a0f613c8d43920e0b233e34729a8f68c6b0bfd398ed27cedf00e78ba38e7d787/main.spi 00:16:08 verbose #16530 > > 00:16:08 verbose #16531 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16532 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16533 > > │ ### rexie_transaction │ 00:16:08 verbose #16534 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16535 > > 00:16:08 verbose #16536 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16537 > > nominal rexie_transaction = 00:16:08 verbose #16538 > > `( 00:16:08 verbose #16539 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16540 > > Fable.Core.Emit(\"rexie::Transaction\")>]]\n#endif\ntype rexie_Transaction = 00:16:08 verbose #16541 > > class end" 00:16:08 verbose #16542 > > $'' : $'rexie_Transaction' 00:16:08 verbose #16543 > > ) 00:16:08 verbose #16544 > 00:16:08 debug #927 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c0dbc6ff6ba51692b2e431f322ef5f68a2f64aeac394595f3541d3b53255f06a/main.spi 00:16:08 verbose #16545 > > 00:16:08 verbose #16546 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16547 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16548 > > │ ### rexie_error │ 00:16:08 verbose #16549 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16550 > > 00:16:08 verbose #16551 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16552 > > nominal rexie_error = 00:16:08 verbose #16553 > > `( 00:16:08 verbose #16554 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16555 > > Fable.Core.Emit(\"rexie::Error\")>]]\n#endif\ntype rexie_Error = class end" 00:16:08 verbose #16556 > > $'' : $'rexie_Error' 00:16:08 verbose #16557 > > ) 00:16:08 verbose #16558 > 00:16:08 debug #928 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/17f98250a768de20bec262e70f500cc70047034051338002105137e67ad3ef9e/main.spi 00:16:08 verbose #16559 > > 00:16:08 verbose #16560 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16561 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16562 > > │ ### js_value │ 00:16:08 verbose #16563 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16564 > > 00:16:08 verbose #16565 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16566 > > nominal js_value = 00:16:08 verbose #16567 > > `( 00:16:08 verbose #16568 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16569 > > Fable.Core.Emit(\"wasm_bindgen::JsValue\")>]]\n#endif\ntype wasm_bindgen_JsValue 00:16:08 verbose #16570 > > = class end" 00:16:08 verbose #16571 > > $'' : $'wasm_bindgen_JsValue' 00:16:08 verbose #16572 > > ) 00:16:08 verbose #16573 > 00:16:08 debug #929 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7518691ddae4c95492efdc5df519534cd0fdad79328e88e879e1d52d14613ef9/main.spi 00:16:08 verbose #16574 > > 00:16:08 verbose #16575 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16576 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16577 > > │ ### closure │ 00:16:08 verbose #16578 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16579 > > 00:16:08 verbose #16580 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16581 > > nominal closure t = 00:16:08 verbose #16582 > > `( 00:16:08 verbose #16583 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16584 > > Fable.Core.Emit(\"wasm_bindgen::closure::Closure<$0>\")>]]\n#endif\ntype 00:16:08 verbose #16585 > > wasm_bindgen_closure_Closure<'T> = class end" 00:16:08 verbose #16586 > > $'' : $'wasm_bindgen_closure_Closure<`t>' 00:16:08 verbose #16587 > > ) 00:16:08 verbose #16588 > 00:16:08 debug #930 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6f22d2ced8166f491871792eb520fdc4090035f86fb606a844ed6157520ecb72/main.spi 00:16:08 verbose #16589 > > 00:16:08 verbose #16590 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16591 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16592 > > │ ### js_function │ 00:16:08 verbose #16593 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16594 > > 00:16:08 verbose #16595 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16596 > > nominal js_function = 00:16:08 verbose #16597 > > `( 00:16:08 verbose #16598 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16599 > > Fable.Core.Emit(\"js_sys::Function\")>]]\n#endif\ntype js_sys_Function = class 00:16:08 verbose #16600 > > end" 00:16:08 verbose #16601 > > $'' : $'js_sys_Function' 00:16:08 verbose #16602 > > ) 00:16:08 verbose #16603 > 00:16:08 debug #931 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edd58bd98168e208751ae416b813b48e218beee8951271d0d4b484829d451af3/main.spi 00:16:08 verbose #16604 > > 00:16:08 verbose #16605 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:08 verbose #16606 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:08 verbose #16607 > > │ ### window │ 00:16:08 verbose #16608 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:08 verbose #16609 > > 00:16:08 verbose #16610 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:08 verbose #16611 > > nominal window = 00:16:08 verbose #16612 > > `( 00:16:08 verbose #16613 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:08 verbose #16614 > > Fable.Core.Emit(\"web_sys::Window\")>]]\n#endif\ntype web_sys_Window = class 00:16:08 verbose #16615 > > end" 00:16:08 verbose #16616 > > $'' : $'web_sys_Window' 00:16:08 verbose #16617 > > ) 00:16:08 verbose #16618 > 00:16:08 debug #932 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e607b4fd0a26049f76303b365aa696051c52a16c859fa124584c8138cc73bb2a/main.spi 00:16:09 verbose #16619 > > 00:16:09 verbose #16620 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16621 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16622 > > │ ### document │ 00:16:09 verbose #16623 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16624 > > 00:16:09 verbose #16625 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16626 > > nominal document = 00:16:09 verbose #16627 > > `( 00:16:09 verbose #16628 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:09 verbose #16629 > > Fable.Core.Emit(\"web_sys::Document\")>]]\n#endif\ntype web_sys_Document = class 00:16:09 verbose #16630 > > end" 00:16:09 verbose #16631 > > $'' : $'web_sys_Document' 00:16:09 verbose #16632 > > ) 00:16:09 verbose #16633 > 00:16:08 debug #933 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/00e330ce825b95c436bb07267039e76726e3b5a2906fa5d93bdc7bcaedddff41/main.spi 00:16:09 verbose #16634 > > 00:16:09 verbose #16635 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16636 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16637 > > │ ### html_element │ 00:16:09 verbose #16638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16639 > > 00:16:09 verbose #16640 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16641 > > nominal html_element = 00:16:09 verbose #16642 > > `( 00:16:09 verbose #16643 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:09 verbose #16644 > > Fable.Core.Emit(\"web_sys::HtmlElement\")>]]\n#endif\ntype web_sys_HtmlElement = 00:16:09 verbose #16645 > > class end" 00:16:09 verbose #16646 > > $'' : $'web_sys_HtmlElement' 00:16:09 verbose #16647 > > ) 00:16:09 verbose #16648 > 00:16:08 debug #934 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f680cc15339ba7b465371ceb0c5aef41af4b64a8da9fece14a6bc77e22eafcb4/main.spi 00:16:09 verbose #16649 > > 00:16:09 verbose #16650 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16651 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16652 > > │ ### storage │ 00:16:09 verbose #16653 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16654 > > 00:16:09 verbose #16655 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16656 > > nominal storage = 00:16:09 verbose #16657 > > `( 00:16:09 verbose #16658 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:09 verbose #16659 > > Fable.Core.Emit(\"web_sys::Storage\")>]]\n#endif\ntype web_sys_Storage = class 00:16:09 verbose #16660 > > end" 00:16:09 verbose #16661 > > $'' : $'web_sys_Storage' 00:16:09 verbose #16662 > > ) 00:16:09 verbose #16663 > 00:16:08 debug #935 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/664c9b75cb2af4cac8ee7cc576966986450cb60e10bcfb8782ac9471ab2f1201/main.spi 00:16:09 verbose #16664 > > 00:16:09 verbose #16665 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16666 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16667 > > │ ### closure_wrap │ 00:16:09 verbose #16668 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16669 > > 00:16:09 verbose #16670 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16671 > > inl closure_wrap forall t. (x : rust.box t) : closure t = 00:16:09 verbose #16672 > > inl x = join x 00:16:09 verbose #16673 > > !\($'"wasm_bindgen::closure::Closure::wrap(!x)"') 00:16:09 verbose #16674 > 00:16:08 debug #936 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a89cdd7f10eb486d81fa2597ad5bd890d9538bb4fc3478f94bc0d10628979434/main.spi 00:16:09 verbose #16675 > > 00:16:09 verbose #16676 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16677 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16678 > > │ ### closure_forget │ 00:16:09 verbose #16679 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16680 > > 00:16:09 verbose #16681 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16682 > > inl closure_forget forall t. (closure : closure t) = 00:16:09 verbose #16683 > > !\($'"!closure.forget()"') : () 00:16:09 verbose #16684 > 00:16:08 debug #937 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/55416f6ba2aac90e7feda837d1f595c23fb0c8719ad46685c70170ef6df2de09/main.spi 00:16:09 verbose #16685 > > 00:16:09 verbose #16686 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16687 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16688 > > │ ### closure_as_ref │ 00:16:09 verbose #16689 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16690 > > 00:16:09 verbose #16691 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16692 > > inl closure_as_ref forall t. (closure : closure t) : rust.ref js_value = 00:16:09 verbose #16693 > > !\($'"wasm_bindgen::closure::Closure::as_ref(&!closure)"') 00:16:09 verbose #16694 > 00:16:08 debug #938 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/54e10a84bcba14940f3aa8bad5e251b5c2eda33bb48e3b74e73145478351d0df/main.spi 00:16:09 verbose #16695 > > 00:16:09 verbose #16696 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16697 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16698 > > │ ### unchecked_ref │ 00:16:09 verbose #16699 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16700 > > 00:16:09 verbose #16701 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16702 > > inl unchecked_ref (ref : rust.ref js_value) : rust.ref js_function = 00:16:09 verbose #16703 > > !\($'"wasm_bindgen::JsCast::unchecked_ref(!ref)"') 00:16:09 verbose #16704 > 00:16:09 debug #939 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2d1a0435f41bab6d7193a49f6ac0f6ceef0d20e48ec483a2c02990c97da6dfed/main.spi 00:16:09 verbose #16705 > > 00:16:09 verbose #16706 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16707 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16708 > > │ ### set_inner_html │ 00:16:09 verbose #16709 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16710 > > 00:16:09 verbose #16711 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16712 > > inl set_inner_html (html : string) (el : html_element) = 00:16:09 verbose #16713 > > inl html = join html 00:16:09 verbose #16714 > > inl html = html |> sm'.as_str 00:16:09 verbose #16715 > > inl el = join el 00:16:09 verbose #16716 > > !\($'"!el.set_inner_html(!html)"') 00:16:09 verbose #16717 > 00:16:09 debug #940 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3b7bcc7280c99e08a2d71dcc6f57d396713b7c1960d730edfe16de1203836fa8/main.spi 00:16:09 verbose #16718 > > 00:16:09 verbose #16719 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:09 verbose #16720 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:09 verbose #16721 > > │ ### from_js_value │ 00:16:09 verbose #16722 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:09 verbose #16723 > > 00:16:09 verbose #16724 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:09 verbose #16725 > > inl from_js_value (value : js_value) : resultm.result' (optionm'.option' 00:16:09 verbose #16726 > > sm'.json_value) sm'.std_string = 00:16:09 verbose #16727 > > inl value = join value 00:16:09 verbose #16728 > > !\($'"serde_wasm_bindgen::from_value(!value)"') 00:16:09 verbose #16729 > > |> resultm.map_error' fun (x : sm'.serde_wasm_bindgen_error) => x |> 00:16:09 verbose #16730 > > sm'.format' 00:16:09 verbose #16731 > 00:16:09 debug #941 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7f238e275a0cb5d5ae8a46086bc6b19fc880d6c46eb47e3b5bc7e7323bf016ff/main.spi 00:16:09 verbose #16732 > 00:00:06 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 12251 } 00:16:09 verbose #16733 > 00:00:06 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:10 verbose #16734 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.ipynb to html 00:16:10 verbose #16735 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:16:10 verbose #16736 > 00:00:06 verbose #7 ! validate(nb) 00:16:10 verbose #16737 > 00:00:07 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:16:10 verbose #16738 > 00:00:07 verbose #9 ! return _pygments_highlight( 00:16:11 verbose #16739 > 00:00:07 verbose #10 ! [NbConvertApp] Writing 302326 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.html 00:16:11 verbose #16740 > 00:00:07 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:16:11 verbose #16741 > 00:00:07 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:16:11 verbose #16742 > 00:00:07 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/wasm.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:11 verbose #16743 > 00:00:07 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:16:11 verbose #16744 > 00:00:07 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:16:11 verbose #16745 > 00:00:07 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 13202 } 00:16:11 debug #16746 runtime.execute_with_options_async / { exit_code = 0; output_length = 16411 } 00:16:11 debug #24 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path wasm.dib --retries 3 00:16:11 debug #16747 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path leptos/leptos.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:11 verbose #16748 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "leptos/leptos.dib", "--retries", "3"])) } 00:16:11 verbose #16749 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:16:12 verbose #16750 > > 00:16:12 verbose #16751 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:12 verbose #16752 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:12 verbose #16753 > > │ # leptos │ 00:16:12 verbose #16754 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:15 verbose #16755 > > 00:16:15 verbose #16756 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:15 verbose #16757 > > open rust.rust_operators 00:16:15 verbose #16758 > > open rust 00:16:15 verbose #16759 > > open sm'_operators 00:16:15 verbose #16760 > 00:16:15 debug #942 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97c3b504fa1f560fdc0258569742b97a5f05d5b6377297ae83d67ca590b45d34/main.spi 00:16:16 verbose #16761 > > 00:16:16 verbose #16762 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16763 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16764 > > │ ### a' │ 00:16:16 verbose #16765 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16766 > > 00:16:16 verbose #16767 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16768 > > nominal a' = 00:16:16 verbose #16769 > > `( 00:16:16 verbose #16770 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16771 > > Fable.Core.Emit(\"leptos::html::A\")>]]\n#endif\ntype leptos_html_A = class end" 00:16:16 verbose #16772 > > $'' : $'leptos_html_A' 00:16:16 verbose #16773 > > ) 00:16:16 verbose #16774 > 00:16:15 debug #943 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e6abe4a012940134873721b1b2b98602a66856ad8c2fc89e23d4aa52e64ecfe2/main.spi 00:16:16 verbose #16775 > > 00:16:16 verbose #16776 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16777 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16778 > > │ ### event │ 00:16:16 verbose #16779 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16780 > > 00:16:16 verbose #16781 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16782 > > nominal event = 00:16:16 verbose #16783 > > `( 00:16:16 verbose #16784 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16785 > > Fable.Core.Emit(\"leptos::ev::Event\")>]]\n#endif\ntype leptos_ev_Event = class 00:16:16 verbose #16786 > > end" 00:16:16 verbose #16787 > > $'' : $'leptos_ev_Event' 00:16:16 verbose #16788 > > ) 00:16:16 verbose #16789 > 00:16:15 debug #944 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/434ce3e7c0b50f456ac0ee53c7ea8008a1a96f87d4d5f5a10aaaab14ea91fb01/main.spi 00:16:16 verbose #16790 > > 00:16:16 verbose #16791 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16792 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16793 > > │ ### mouse_event │ 00:16:16 verbose #16794 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16795 > > 00:16:16 verbose #16796 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16797 > > nominal mouse_event = 00:16:16 verbose #16798 > > `( 00:16:16 verbose #16799 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16800 > > Fable.Core.Emit(\"leptos::ev::MouseEvent\")>]]\n#endif\ntype 00:16:16 verbose #16801 > > leptos_ev_MouseEvent = class end" 00:16:16 verbose #16802 > > $'' : $'leptos_ev_MouseEvent' 00:16:16 verbose #16803 > > ) 00:16:16 verbose #16804 > 00:16:15 debug #945 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/56672743673583a2f0038275bff208bb6db40523ae344162287d1caa62d05319/main.spi 00:16:16 verbose #16805 > > 00:16:16 verbose #16806 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16807 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16808 > > │ ### button │ 00:16:16 verbose #16809 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16810 > > 00:16:16 verbose #16811 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16812 > > nominal button = 00:16:16 verbose #16813 > > `( 00:16:16 verbose #16814 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16815 > > Fable.Core.Emit(\"leptos::html::Button\")>]]\n#endif\ntype leptos_html_Button = 00:16:16 verbose #16816 > > class end" 00:16:16 verbose #16817 > > $'' : $'leptos_html_Button' 00:16:16 verbose #16818 > > ) 00:16:16 verbose #16819 > 00:16:15 debug #946 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5dc44485d0ad3e305354c28730e808edb7025b849e8ea506bb448d67bc6686da/main.spi 00:16:16 verbose #16820 > > 00:16:16 verbose #16821 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16822 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16823 > > │ ### details │ 00:16:16 verbose #16824 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16825 > > 00:16:16 verbose #16826 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16827 > > nominal details = 00:16:16 verbose #16828 > > `( 00:16:16 verbose #16829 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16830 > > Fable.Core.Emit(\"leptos::html::Details\")>]]\n#endif\ntype leptos_html_Details 00:16:16 verbose #16831 > > = class end" 00:16:16 verbose #16832 > > $'' : $'leptos_html_Details' 00:16:16 verbose #16833 > > ) 00:16:16 verbose #16834 > 00:16:15 debug #947 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5f9d42e7ce0d244ba8d153dede86b1f7b45d478d330b4618d6659740b24f90a2/main.spi 00:16:16 verbose #16835 > > 00:16:16 verbose #16836 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16837 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16838 > > │ ### dd │ 00:16:16 verbose #16839 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16840 > > 00:16:16 verbose #16841 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16842 > > nominal dd = 00:16:16 verbose #16843 > > `( 00:16:16 verbose #16844 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16845 > > Fable.Core.Emit(\"leptos::html::Dd\")>]]\n#endif\ntype leptos_html_Dd = class 00:16:16 verbose #16846 > > end" 00:16:16 verbose #16847 > > $'' : $'leptos_html_Dd' 00:16:16 verbose #16848 > > ) 00:16:16 verbose #16849 > 00:16:16 debug #948 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/36e05d776509eae34615bd6fee7667005b59df01c71459d8f6446670a5420c36/main.spi 00:16:16 verbose #16850 > > 00:16:16 verbose #16851 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16852 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16853 > > │ ### div │ 00:16:16 verbose #16854 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16855 > > 00:16:16 verbose #16856 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16857 > > nominal div = 00:16:16 verbose #16858 > > `( 00:16:16 verbose #16859 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16860 > > Fable.Core.Emit(\"leptos::html::Div\")>]]\n#endif\ntype leptos_html_Div = class 00:16:16 verbose #16861 > > end" 00:16:16 verbose #16862 > > $'' : $'leptos_html_Div' 00:16:16 verbose #16863 > > ) 00:16:16 verbose #16864 > 00:16:16 debug #949 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ea9ca609df2761d1a8ded87dfe9aec9bc7c86abaa5ed101ed379ed4e7609b315/main.spi 00:16:16 verbose #16865 > > 00:16:16 verbose #16866 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16867 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16868 > > │ ### dl │ 00:16:16 verbose #16869 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16870 > > 00:16:16 verbose #16871 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16872 > > nominal dl = 00:16:16 verbose #16873 > > `( 00:16:16 verbose #16874 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16875 > > Fable.Core.Emit(\"leptos::html::Dl\")>]]\n#endif\ntype leptos_html_Dl = class 00:16:16 verbose #16876 > > end" 00:16:16 verbose #16877 > > $'' : $'leptos_html_Dl' 00:16:16 verbose #16878 > > ) 00:16:16 verbose #16879 > 00:16:16 debug #950 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7ecf082f46db4dfb8a58b9fa92735ce18ecd1d47810c41b1aa7441d6d3648eb4/main.spi 00:16:16 verbose #16880 > > 00:16:16 verbose #16881 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16882 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16883 > > │ ### dt │ 00:16:16 verbose #16884 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16885 > > 00:16:16 verbose #16886 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16887 > > nominal dt = 00:16:16 verbose #16888 > > `( 00:16:16 verbose #16889 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16890 > > Fable.Core.Emit(\"leptos::html::Dt\")>]]\n#endif\ntype leptos_html_Dt = class 00:16:16 verbose #16891 > > end" 00:16:16 verbose #16892 > > $'' : $'leptos_html_Dt' 00:16:16 verbose #16893 > > ) 00:16:16 verbose #16894 > 00:16:16 debug #951 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9a23751ade04fb8e6d5a51963d043d9d996a2af7a2029cc33655df768aa741ae/main.spi 00:16:16 verbose #16895 > > 00:16:16 verbose #16896 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16897 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16898 > > │ ### footer │ 00:16:16 verbose #16899 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16900 > > 00:16:16 verbose #16901 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16902 > > nominal footer = 00:16:16 verbose #16903 > > `( 00:16:16 verbose #16904 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16905 > > Fable.Core.Emit(\"leptos::html::Footer\")>]]\n#endif\ntype leptos_html_Footer = 00:16:16 verbose #16906 > > class end" 00:16:16 verbose #16907 > > $'' : $'leptos_html_Footer' 00:16:16 verbose #16908 > > ) 00:16:16 verbose #16909 > 00:16:16 debug #952 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d7d81e5369600d9fc7898a85c3ca3e4e280e7ed7da3939eb11800e8bb81dc4ad/main.spi 00:16:16 verbose #16910 > > 00:16:16 verbose #16911 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:16 verbose #16912 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:16 verbose #16913 > > │ ### header │ 00:16:16 verbose #16914 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:16 verbose #16915 > > 00:16:16 verbose #16916 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:16 verbose #16917 > > nominal header = 00:16:16 verbose #16918 > > `( 00:16:16 verbose #16919 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:16 verbose #16920 > > Fable.Core.Emit(\"leptos::html::Header\")>]]\n#endif\ntype leptos_html_Header = 00:16:16 verbose #16921 > > class end" 00:16:16 verbose #16922 > > $'' : $'leptos_html_Header' 00:16:16 verbose #16923 > > ) 00:16:16 verbose #16924 > 00:16:16 debug #953 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/886033ecedb58fadfda1225cebc35bd43c150fe6330367443300c6e8bcbda511/main.spi 00:16:17 verbose #16925 > > 00:16:17 verbose #16926 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #16927 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #16928 > > │ ### input │ 00:16:17 verbose #16929 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #16930 > > 00:16:17 verbose #16931 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #16932 > > nominal input = 00:16:17 verbose #16933 > > `( 00:16:17 verbose #16934 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #16935 > > Fable.Core.Emit(\"leptos::html::Input\")>]]\n#endif\ntype leptos_html_Input = 00:16:17 verbose #16936 > > class end" 00:16:17 verbose #16937 > > $'' : $'leptos_html_Input' 00:16:17 verbose #16938 > > ) 00:16:17 verbose #16939 > 00:16:16 debug #954 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/655c98aad3de6b218dac7911c1795936bb7294c933611e49844bca3f907a4013/main.spi 00:16:17 verbose #16940 > > 00:16:17 verbose #16941 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #16942 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #16943 > > │ ### label │ 00:16:17 verbose #16944 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #16945 > > 00:16:17 verbose #16946 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #16947 > > nominal label = 00:16:17 verbose #16948 > > `( 00:16:17 verbose #16949 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #16950 > > Fable.Core.Emit(\"leptos::html::Label\")>]]\n#endif\ntype leptos_html_Label = 00:16:17 verbose #16951 > > class end" 00:16:17 verbose #16952 > > $'' : $'leptos_html_Label' 00:16:17 verbose #16953 > > ) 00:16:17 verbose #16954 > 00:16:17 debug #955 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52cbaf96d00c8398e121f825799f227d13469e8e1015083d22d74fd0cb898645/main.spi 00:16:17 verbose #16955 > > 00:16:17 verbose #16956 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #16957 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #16958 > > │ ### main │ 00:16:17 verbose #16959 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #16960 > > 00:16:17 verbose #16961 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #16962 > > nominal main = 00:16:17 verbose #16963 > > `( 00:16:17 verbose #16964 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #16965 > > Fable.Core.Emit(\"leptos::html::Main\")>]]\n#endif\ntype leptos_html_Main = 00:16:17 verbose #16966 > > class end" 00:16:17 verbose #16967 > > $'' : $'leptos_html_Main' 00:16:17 verbose #16968 > > ) 00:16:17 verbose #16969 > 00:16:17 debug #956 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7dff43698b01046a50ded48414442f52f37c953ddc6e7042207062e7ba73ffd8/main.spi 00:16:17 verbose #16970 > > 00:16:17 verbose #16971 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #16972 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #16973 > > │ ### nav │ 00:16:17 verbose #16974 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #16975 > > 00:16:17 verbose #16976 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #16977 > > nominal nav = 00:16:17 verbose #16978 > > `( 00:16:17 verbose #16979 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #16980 > > Fable.Core.Emit(\"leptos::html::Nav\")>]]\n#endif\ntype leptos_html_Nav = class 00:16:17 verbose #16981 > > end" 00:16:17 verbose #16982 > > $'' : $'leptos_html_Nav' 00:16:17 verbose #16983 > > ) 00:16:17 verbose #16984 > 00:16:17 debug #957 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a50c8634f9c55b861688ab13009d5436db51579688f251079a148f81021c42e1/main.spi 00:16:17 verbose #16985 > > 00:16:17 verbose #16986 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #16987 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #16988 > > │ ### option' │ 00:16:17 verbose #16989 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #16990 > > 00:16:17 verbose #16991 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #16992 > > nominal option' = 00:16:17 verbose #16993 > > `( 00:16:17 verbose #16994 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #16995 > > Fable.Core.Emit(\"leptos::html::Option_\")>]]\n#endif\ntype leptos_html_Option = 00:16:17 verbose #16996 > > class end" 00:16:17 verbose #16997 > > $'' : $'leptos_html_Option' 00:16:17 verbose #16998 > > ) 00:16:17 verbose #16999 > 00:16:17 debug #958 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44eb148798f9c789eb98f155452c940f14547281660e5a5b883b5e7192586cf0/main.spi 00:16:17 verbose #17000 > > 00:16:17 verbose #17001 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #17002 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #17003 > > │ ### pre │ 00:16:17 verbose #17004 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #17005 > > 00:16:17 verbose #17006 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #17007 > > nominal pre = 00:16:17 verbose #17008 > > `( 00:16:17 verbose #17009 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #17010 > > Fable.Core.Emit(\"leptos::html::Pre\")>]]\n#endif\ntype leptos_html_Pre = class 00:16:17 verbose #17011 > > end" 00:16:17 verbose #17012 > > $'' : $'leptos_html_Pre' 00:16:17 verbose #17013 > > ) 00:16:17 verbose #17014 > 00:16:17 debug #959 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6e6ebe2f76756f98728e6e2a5848c70c3bc65fef9bcf84495b4f979814be298c/main.spi 00:16:17 verbose #17015 > > 00:16:17 verbose #17016 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #17017 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #17018 > > │ ### select │ 00:16:17 verbose #17019 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #17020 > > 00:16:17 verbose #17021 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #17022 > > nominal select = 00:16:17 verbose #17023 > > `( 00:16:17 verbose #17024 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #17025 > > Fable.Core.Emit(\"leptos::html::Select\")>]]\n#endif\ntype leptos_html_Select = 00:16:17 verbose #17026 > > class end" 00:16:17 verbose #17027 > > $'' : $'leptos_html_Select' 00:16:17 verbose #17028 > > ) 00:16:17 verbose #17029 > 00:16:17 debug #960 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/37030649c58077752f40f7144dd365be6eaca9e45ee03eba6f638c287882ae5a/main.spi 00:16:17 verbose #17030 > > 00:16:17 verbose #17031 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:17 verbose #17032 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:17 verbose #17033 > > │ ### span │ 00:16:17 verbose #17034 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:17 verbose #17035 > > 00:16:17 verbose #17036 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:17 verbose #17037 > > nominal span = 00:16:17 verbose #17038 > > `( 00:16:17 verbose #17039 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:17 verbose #17040 > > Fable.Core.Emit(\"leptos::html::Span\")>]]\n#endif\ntype leptos_html_Span = 00:16:17 verbose #17041 > > class end" 00:16:17 verbose #17042 > > $'' : $'leptos_html_Span' 00:16:17 verbose #17043 > > ) 00:16:17 verbose #17044 > 00:16:17 debug #961 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/52769fffd3f4fd505b07ded5654694a1b2c1e2bebe751a7364c6064f33c43208/main.spi 00:16:18 verbose #17045 > > 00:16:18 verbose #17046 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17047 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17048 > > │ ### summary │ 00:16:18 verbose #17049 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17050 > > 00:16:18 verbose #17051 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17052 > > nominal summary = 00:16:18 verbose #17053 > > `( 00:16:18 verbose #17054 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17055 > > Fable.Core.Emit(\"leptos::html::Summary\")>]]\n#endif\ntype leptos_html_Summary 00:16:18 verbose #17056 > > = class end" 00:16:18 verbose #17057 > > $'' : $'leptos_html_Summary' 00:16:18 verbose #17058 > > ) 00:16:18 verbose #17059 > 00:16:17 debug #962 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/831c01e906276ade4c7231e0d349bbb163aeda29f4f3b4bfaf8d9bb44c8add26/main.spi 00:16:18 verbose #17060 > > 00:16:18 verbose #17061 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17062 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17063 > > │ ### table │ 00:16:18 verbose #17064 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17065 > > 00:16:18 verbose #17066 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17067 > > nominal table = 00:16:18 verbose #17068 > > `( 00:16:18 verbose #17069 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17070 > > Fable.Core.Emit(\"leptos::html::Table\")>]]\n#endif\ntype leptos_html_Table = 00:16:18 verbose #17071 > > class end" 00:16:18 verbose #17072 > > $'' : $'leptos_html_Table' 00:16:18 verbose #17073 > > ) 00:16:18 verbose #17074 > 00:16:17 debug #963 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9c587470de1612895e8e47921f64bf3646fcf560679f0e56eb706ccd8306aea6/main.spi 00:16:18 verbose #17075 > > 00:16:18 verbose #17076 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17077 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17078 > > │ ### thead │ 00:16:18 verbose #17079 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17080 > > 00:16:18 verbose #17081 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17082 > > nominal thead = 00:16:18 verbose #17083 > > `( 00:16:18 verbose #17084 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17085 > > Fable.Core.Emit(\"leptos::html::Thead\")>]]\n#endif\ntype leptos_html_Thead = 00:16:18 verbose #17086 > > class end" 00:16:18 verbose #17087 > > $'' : $'leptos_html_Thead' 00:16:18 verbose #17088 > > ) 00:16:18 verbose #17089 > 00:16:17 debug #964 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a3e3710f9006399212888bf54f01006996d9f1c0c1af9eb5fea40295d1422e0f/main.spi 00:16:18 verbose #17090 > > 00:16:18 verbose #17091 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17092 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17093 > > │ ### tbody │ 00:16:18 verbose #17094 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17095 > > 00:16:18 verbose #17096 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17097 > > nominal tbody = 00:16:18 verbose #17098 > > `( 00:16:18 verbose #17099 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17100 > > Fable.Core.Emit(\"leptos::html::Tbody\")>]]\n#endif\ntype leptos_html_Tbody = 00:16:18 verbose #17101 > > class end" 00:16:18 verbose #17102 > > $'' : $'leptos_html_Tbody' 00:16:18 verbose #17103 > > ) 00:16:18 verbose #17104 > 00:16:17 debug #965 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5f722e368aa731e17d8ecebae666d26c1c7e24ec0d1e597bdbeabce3d7537822/main.spi 00:16:18 verbose #17105 > > 00:16:18 verbose #17106 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17107 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17108 > > │ ### tr │ 00:16:18 verbose #17109 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17110 > > 00:16:18 verbose #17111 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17112 > > nominal tr = 00:16:18 verbose #17113 > > `( 00:16:18 verbose #17114 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17115 > > Fable.Core.Emit(\"leptos::html::Tr\")>]]\n#endif\ntype leptos_html_Tr = class 00:16:18 verbose #17116 > > end" 00:16:18 verbose #17117 > > $'' : $'leptos_html_Tr' 00:16:18 verbose #17118 > > ) 00:16:18 verbose #17119 > 00:16:17 debug #966 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4e4924f14cbecd2b7ef5100f71a4c5be0bf1e26f86bf5569dfbe8b3b6a8e3bf8/main.spi 00:16:18 verbose #17120 > > 00:16:18 verbose #17121 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17122 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17123 > > │ ### th │ 00:16:18 verbose #17124 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17125 > > 00:16:18 verbose #17126 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17127 > > nominal th = 00:16:18 verbose #17128 > > `( 00:16:18 verbose #17129 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17130 > > Fable.Core.Emit(\"leptos::html::Th\")>]]\n#endif\ntype leptos_html_Th = class 00:16:18 verbose #17131 > > end" 00:16:18 verbose #17132 > > $'' : $'leptos_html_Th' 00:16:18 verbose #17133 > > ) 00:16:18 verbose #17134 > 00:16:18 debug #967 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aab5d391889e62833a5ed6189fbf65ffda1bf8849e742626b38077e0e007a350/main.spi 00:16:18 verbose #17135 > > 00:16:18 verbose #17136 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17137 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17138 > > │ ### td │ 00:16:18 verbose #17139 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17140 > > 00:16:18 verbose #17141 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17142 > > nominal td = 00:16:18 verbose #17143 > > `( 00:16:18 verbose #17144 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17145 > > Fable.Core.Emit(\"leptos::html::Td\")>]]\n#endif\ntype leptos_html_Td = class 00:16:18 verbose #17146 > > end" 00:16:18 verbose #17147 > > $'' : $'leptos_html_Td' 00:16:18 verbose #17148 > > ) 00:16:18 verbose #17149 > 00:16:18 debug #968 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6218f4fbf15e0da93a48b5936e70d5335683c5a3376553f44c2622062458efee/main.spi 00:16:18 verbose #17150 > > 00:16:18 verbose #17151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17153 > > │ ### svg │ 00:16:18 verbose #17154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17155 > > 00:16:18 verbose #17156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17157 > > nominal svg = 00:16:18 verbose #17158 > > `( 00:16:18 verbose #17159 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17160 > > Fable.Core.Emit(\"leptos::svg::Svg\")>]]\n#endif\ntype leptos_svg_Svg = class 00:16:18 verbose #17161 > > end" 00:16:18 verbose #17162 > > $'' : $'leptos_svg_Svg' 00:16:18 verbose #17163 > > ) 00:16:18 verbose #17164 > 00:16:18 debug #969 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/db9bf7cf5ed561af3ddd312a785bc8c8d42913b0daf1537bec4385e20c1051ca/main.spi 00:16:18 verbose #17165 > > 00:16:18 verbose #17166 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17167 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17168 > > │ ### path │ 00:16:18 verbose #17169 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17170 > > 00:16:18 verbose #17171 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17172 > > nominal path = 00:16:18 verbose #17173 > > `( 00:16:18 verbose #17174 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17175 > > Fable.Core.Emit(\"leptos::svg::Path\")>]]\n#endif\ntype leptos_svg_Path = class 00:16:18 verbose #17176 > > end" 00:16:18 verbose #17177 > > $'' : $'leptos_svg_Path' 00:16:18 verbose #17178 > > ) 00:16:18 verbose #17179 > 00:16:18 debug #970 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d836d1a547006cf726a50eda620960dc98e1d06e73c7483170a1d6327c78b521/main.spi 00:16:18 verbose #17180 > > 00:16:18 verbose #17181 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17182 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17183 > > │ ### circle │ 00:16:18 verbose #17184 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17185 > > 00:16:18 verbose #17186 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17187 > > nominal circle = 00:16:18 verbose #17188 > > `( 00:16:18 verbose #17189 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17190 > > Fable.Core.Emit(\"leptos::svg::Circle\")>]]\n#endif\ntype leptos_svg_Circle = 00:16:18 verbose #17191 > > class end" 00:16:18 verbose #17192 > > $'' : $'leptos_svg_Circle' 00:16:18 verbose #17193 > > ) 00:16:18 verbose #17194 > 00:16:18 debug #971 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/19ae491ca2874923e370b79d9d2f6845e702f29dfc904727085d18aec246f352/main.spi 00:16:18 verbose #17195 > > 00:16:18 verbose #17196 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:18 verbose #17197 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:18 verbose #17198 > > │ ### rect │ 00:16:18 verbose #17199 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:18 verbose #17200 > > 00:16:18 verbose #17201 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:18 verbose #17202 > > nominal rect = 00:16:18 verbose #17203 > > `( 00:16:18 verbose #17204 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:18 verbose #17205 > > Fable.Core.Emit(\"leptos::svg::Rect\")>]]\n#endif\ntype leptos_svg_Rect = class 00:16:18 verbose #17206 > > end" 00:16:18 verbose #17207 > > $'' : $'leptos_svg_Rect' 00:16:18 verbose #17208 > > ) 00:16:18 verbose #17209 > 00:16:18 debug #972 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/11c524822b1e1f1502f8dce0af5d802a17af46fbbf6fee40ab3046b4f33503bb/main.spi 00:16:19 verbose #17210 > > 00:16:19 verbose #17211 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17212 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17213 > > │ ### animate │ 00:16:19 verbose #17214 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17215 > > 00:16:19 verbose #17216 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17217 > > nominal animate = 00:16:19 verbose #17218 > > `( 00:16:19 verbose #17219 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17220 > > Fable.Core.Emit(\"leptos::svg::Animate\")>]]\n#endif\ntype leptos_svg_Animate = 00:16:19 verbose #17221 > > class end" 00:16:19 verbose #17222 > > $'' : $'leptos_svg_Animate' 00:16:19 verbose #17223 > > ) 00:16:19 verbose #17224 > 00:16:18 debug #973 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a445147c3a16dc9cc0de6712665deb20ae75bb6330feb1fc32ea18f8e56a6c0a/main.spi 00:16:19 verbose #17225 > > 00:16:19 verbose #17226 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17227 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17228 > > │ ### action │ 00:16:19 verbose #17229 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17230 > > 00:16:19 verbose #17231 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17232 > > nominal action t u = 00:16:19 verbose #17233 > > `( 00:16:19 verbose #17234 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17235 > > Fable.Core.Emit(\"leptos::Action<$0, $1>\")>]]\n#endif\ntype leptos_Action<'T, 00:16:19 verbose #17236 > > 'U> = class end" 00:16:19 verbose #17237 > > $'' : $'leptos_Action<`t, `u>' 00:16:19 verbose #17238 > > ) 00:16:19 verbose #17239 > 00:16:18 debug #974 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/87825dd739f004614a5da6f5834af9552724415d293a823c2c8e6ddccde84292/main.spi 00:16:19 verbose #17240 > > 00:16:19 verbose #17241 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17242 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17243 > > │ ### for │ 00:16:19 verbose #17244 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17245 > > 00:16:19 verbose #17246 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17247 > > nominal for = 00:16:19 verbose #17248 > > `( 00:16:19 verbose #17249 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17250 > > Fable.Core.Emit(\"leptos::For\")>]]\n#endif\ntype leptos_For = class end" 00:16:19 verbose #17251 > > $'' : $'leptos_For' 00:16:19 verbose #17252 > > ) 00:16:19 verbose #17253 > 00:16:18 debug #975 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/847fcd10541532baebcc6830466dd6330b663bcadc60ccb38c6f26d4281dfab5/main.spi 00:16:19 verbose #17254 > > 00:16:19 verbose #17255 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17256 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17257 > > │ ### show │ 00:16:19 verbose #17258 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17259 > > 00:16:19 verbose #17260 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17261 > > nominal show = 00:16:19 verbose #17262 > > `( 00:16:19 verbose #17263 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17264 > > Fable.Core.Emit(\"leptos::Show\")>]]\n#endif\ntype leptos_Show = class end" 00:16:19 verbose #17265 > > $'' : $'leptos_Show' 00:16:19 verbose #17266 > > ) 00:16:19 verbose #17267 > 00:16:18 debug #976 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/20ebcccf7c62b234b7d80af2147ab95e51676aa426e61f4dd7aa1a8909a82aab/main.spi 00:16:19 verbose #17268 > > 00:16:19 verbose #17269 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17270 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17271 > > │ ### fragment │ 00:16:19 verbose #17272 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17273 > > 00:16:19 verbose #17274 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17275 > > nominal fragment = 00:16:19 verbose #17276 > > `( 00:16:19 verbose #17277 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17278 > > Fable.Core.Emit(\"leptos::Fragment\")>]]\n#endif\ntype leptos_Fragment = class 00:16:19 verbose #17279 > > end" 00:16:19 verbose #17280 > > $'' : $'leptos_Fragment' 00:16:19 verbose #17281 > > ) 00:16:19 verbose #17282 > 00:16:18 debug #977 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6b3e95589355a467c7de3d2c1f509eb11d5df605e216c25ed64ec6df062f4484/main.spi 00:16:19 verbose #17283 > > 00:16:19 verbose #17284 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17285 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17286 > > │ ### interval_handle │ 00:16:19 verbose #17287 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17288 > > 00:16:19 verbose #17289 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17290 > > nominal interval_handle = 00:16:19 verbose #17291 > > `( 00:16:19 verbose #17292 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17293 > > Fable.Core.Emit(\"leptos::leptos_dom::helpers::IntervalHandle\")>]]\n#endif\ntyp 00:16:19 verbose #17294 > > e leptos_dom_IntervalHandle = class end" 00:16:19 verbose #17295 > > $'' : $'leptos_dom_IntervalHandle' 00:16:19 verbose #17296 > > ) 00:16:19 verbose #17297 > 00:16:19 debug #978 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/91a5c0063dca1f917e4ee1026ccf5d152dfc745eb4453fed21ea81ba46a1c122/main.spi 00:16:19 verbose #17298 > > 00:16:19 verbose #17299 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17300 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17301 > > │ ### text │ 00:16:19 verbose #17302 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17303 > > 00:16:19 verbose #17304 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17305 > > nominal text = 00:16:19 verbose #17306 > > `( 00:16:19 verbose #17307 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17308 > > Fable.Core.Emit(\"leptos::leptos_dom::Text\")>]]\n#endif\ntype leptos_dom_Text = 00:16:19 verbose #17309 > > class end" 00:16:19 verbose #17310 > > $'' : $'leptos_dom_Text' 00:16:19 verbose #17311 > > ) 00:16:19 verbose #17312 > 00:16:19 debug #979 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/69e0fcc5d24d5864191e9e56275761a8656741c9cc9a40dec97891a097611369/main.spi 00:16:19 verbose #17313 > > 00:16:19 verbose #17314 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17315 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17316 > > │ ### transparent │ 00:16:19 verbose #17317 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17318 > > 00:16:19 verbose #17319 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17320 > > nominal transparent = 00:16:19 verbose #17321 > > `( 00:16:19 verbose #17322 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17323 > > Fable.Core.Emit(\"leptos::leptos_dom::Transparent\")>]]\n#endif\ntype 00:16:19 verbose #17324 > > leptos_dom_Transparent = class end" 00:16:19 verbose #17325 > > $'' : $'leptos_dom_Transparent' 00:16:19 verbose #17326 > > ) 00:16:19 verbose #17327 > 00:16:19 debug #980 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9cf6b54a2a877e7e3c349a3259ca9c5fe7b820d55699465747d8b740f091a62e/main.spi 00:16:19 verbose #17328 > > 00:16:19 verbose #17329 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17330 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17331 > > │ ### route │ 00:16:19 verbose #17332 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17333 > > 00:16:19 verbose #17334 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17335 > > nominal route = 00:16:19 verbose #17336 > > `( 00:16:19 verbose #17337 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17338 > > Fable.Core.Emit(\"leptos_router::Route\")>]]\n#endif\ntype leptos_router_Route = 00:16:19 verbose #17339 > > class end" 00:16:19 verbose #17340 > > $'' : $'leptos_router_Route' 00:16:19 verbose #17341 > > ) 00:16:19 verbose #17342 > 00:16:19 debug #981 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b89c66a500ac09046662302848a18d188362b12e2bdbe108e17580b6467854b6/main.spi 00:16:19 verbose #17343 > > 00:16:19 verbose #17344 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17345 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17346 > > │ ### route_definition │ 00:16:19 verbose #17347 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17348 > > 00:16:19 verbose #17349 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17350 > > nominal route_definition = 00:16:19 verbose #17351 > > `( 00:16:19 verbose #17352 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17353 > > Fable.Core.Emit(\"leptos_router::RouteDefinition\")>]]\n#endif\ntype 00:16:19 verbose #17354 > > leptos_router_RouteDefinition = class end" 00:16:19 verbose #17355 > > $'' : $'leptos_router_RouteDefinition' 00:16:19 verbose #17356 > > ) 00:16:19 verbose #17357 > 00:16:19 debug #982 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5c63461b705cf3e79fb1cd7bbb707eb8b61d30855f73b9aee6bd3d60409b65fe/main.spi 00:16:19 verbose #17358 > > 00:16:19 verbose #17359 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:19 verbose #17360 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:19 verbose #17361 > > │ ### router │ 00:16:19 verbose #17362 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:19 verbose #17363 > > 00:16:19 verbose #17364 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:19 verbose #17365 > > nominal router = 00:16:19 verbose #17366 > > `( 00:16:19 verbose #17367 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:19 verbose #17368 > > Fable.Core.Emit(\"leptos_router::Router\")>]]\n#endif\ntype leptos_router_Router 00:16:19 verbose #17369 > > = class end" 00:16:19 verbose #17370 > > $'' : $'leptos_router_Router' 00:16:19 verbose #17371 > > ) 00:16:19 verbose #17372 > 00:16:19 debug #983 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f931a026cbd6a345c4105915536ae9971428c483bcf7a1aaa6e5f4d3efe58668/main.spi 00:16:20 verbose #17373 > > 00:16:20 verbose #17374 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17375 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17376 > > │ ### routes │ 00:16:20 verbose #17377 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17378 > > 00:16:20 verbose #17379 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17380 > > nominal routes = 00:16:20 verbose #17381 > > `( 00:16:20 verbose #17382 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17383 > > Fable.Core.Emit(\"leptos_router::Routes\")>]]\n#endif\ntype leptos_router_Routes 00:16:20 verbose #17384 > > = class end" 00:16:20 verbose #17385 > > $'' : $'leptos_router_Routes' 00:16:20 verbose #17386 > > ) 00:16:20 verbose #17387 > 00:16:19 debug #984 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cb4cdab6088ce752b0a921e39ab3ba4c066fd9c173d1460c7776927ec22a01a6/main.spi 00:16:20 verbose #17388 > > 00:16:20 verbose #17389 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17390 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17391 > > │ ### html_element │ 00:16:20 verbose #17392 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17393 > > 00:16:20 verbose #17394 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17395 > > nominal html_element t = 00:16:20 verbose #17396 > > `( 00:16:20 verbose #17397 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17398 > > Fable.Core.Emit(\"leptos::HtmlElement<$0>\")>]]\n#endif\ntype 00:16:20 verbose #17399 > > leptos_HtmlElement<'T> = class end" 00:16:20 verbose #17400 > > $'' : $'leptos_HtmlElement<`t>' 00:16:20 verbose #17401 > > ) 00:16:20 verbose #17402 > 00:16:19 debug #985 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/855ef4f0d8a4bd27f5db149cc74793ee5ec12daada4c012bf35e69a9a98d69ac/main.spi 00:16:20 verbose #17403 > > 00:16:20 verbose #17404 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17405 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17406 > > │ ### into_view │ 00:16:20 verbose #17407 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17408 > > 00:16:20 verbose #17409 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17410 > > nominal into_view = 00:16:20 verbose #17411 > > `( 00:16:20 verbose #17412 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17413 > > Fable.Core.Emit(\"leptos::IntoView\")>]]\n#endif\ntype leptos_IntoView = class 00:16:20 verbose #17414 > > end" 00:16:20 verbose #17415 > > $'' : $'leptos_IntoView' 00:16:20 verbose #17416 > > ) 00:16:20 verbose #17417 > 00:16:19 debug #986 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d9aa435d78b3792321e87029624cce7dfc829b150313c5280e6025e0d2d74800/main.spi 00:16:20 verbose #17418 > > 00:16:20 verbose #17419 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17420 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17421 > > │ ### location │ 00:16:20 verbose #17422 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17423 > > 00:16:20 verbose #17424 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17425 > > nominal location = 00:16:20 verbose #17426 > > `( 00:16:20 verbose #17427 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17428 > > Fable.Core.Emit(\"leptos_router::Location\")>]]\n#endif\ntype 00:16:20 verbose #17429 > > leptos_router_Location = class end" 00:16:20 verbose #17430 > > $'' : $'leptos_router_Location' 00:16:20 verbose #17431 > > ) 00:16:20 verbose #17432 > 00:16:19 debug #987 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6f4b6c3d8740ada00f57a9b3aad0c922871af73240387268733bd7f916320dfb/main.spi 00:16:20 verbose #17433 > > 00:16:20 verbose #17434 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17435 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17436 > > │ ### navigate_options │ 00:16:20 verbose #17437 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17438 > > 00:16:20 verbose #17439 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17440 > > nominal navigate_options = 00:16:20 verbose #17441 > > `( 00:16:20 verbose #17442 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17443 > > Fable.Core.Emit(\"leptos_router::NavigateOptions\")>]]\n#endif\ntype 00:16:20 verbose #17444 > > leptos_router_NavigateOptions = class end" 00:16:20 verbose #17445 > > $'' : $'leptos_router_NavigateOptions' 00:16:20 verbose #17446 > > ) 00:16:20 verbose #17447 > 00:16:19 debug #988 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3bac100240842a636c2189b0de24a87659f0979cb61f311205435790d163490e/main.spi 00:16:20 verbose #17448 > > 00:16:20 verbose #17449 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17450 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17451 > > │ ### url │ 00:16:20 verbose #17452 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17453 > > 00:16:20 verbose #17454 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17455 > > nominal url = 00:16:20 verbose #17456 > > `( 00:16:20 verbose #17457 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17458 > > Fable.Core.Emit(\"leptos_router::Url\")>]]\n#endif\ntype leptos_router_Url = 00:16:20 verbose #17459 > > class end" 00:16:20 verbose #17460 > > $'' : $'leptos_router_Url' 00:16:20 verbose #17461 > > ) 00:16:20 verbose #17462 > 00:16:20 debug #989 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c68191d209f69e973ede47958f905342e5fc0401d5da61cd51a5aa0d29ccffb5/main.spi 00:16:20 verbose #17463 > > 00:16:20 verbose #17464 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17465 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17466 > > │ ### memo │ 00:16:20 verbose #17467 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17468 > > 00:16:20 verbose #17469 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17470 > > nominal memo t = 00:16:20 verbose #17471 > > `( 00:16:20 verbose #17472 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17473 > > Fable.Core.Emit(\"leptos::Memo<$0>\")>]]\n#endif\ntype leptos_Memo<'T> = class 00:16:20 verbose #17474 > > end" 00:16:20 verbose #17475 > > $'' : $'leptos_Memo<`t>' 00:16:20 verbose #17476 > > ) 00:16:20 verbose #17477 > 00:16:20 debug #990 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd1903da3bb3c0a9c9816503f8f991fab8bdd4ca1ef29baa3748a15bc9e6cf71/main.spi 00:16:20 verbose #17478 > > 00:16:20 verbose #17479 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17480 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17481 > > │ ### rw_signal │ 00:16:20 verbose #17482 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17483 > > 00:16:20 verbose #17484 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17485 > > nominal rw_signal t = 00:16:20 verbose #17486 > > `( 00:16:20 verbose #17487 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17488 > > Fable.Core.Emit(\"leptos::RwSignal<$0>\")>]]\n#endif\ntype leptos_RwSignal<'T> = 00:16:20 verbose #17489 > > class end" 00:16:20 verbose #17490 > > $'' : $'leptos_RwSignal<`t>' 00:16:20 verbose #17491 > > ) 00:16:20 verbose #17492 > 00:16:20 debug #991 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a5d99fb7c9ab287f0e125769ecc7e01300f56eba164fd925cbf77ddee99c62f7/main.spi 00:16:20 verbose #17493 > > 00:16:20 verbose #17494 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17495 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17496 > > │ ### signal │ 00:16:20 verbose #17497 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17498 > > 00:16:20 verbose #17499 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17500 > > nominal signal t = 00:16:20 verbose #17501 > > `( 00:16:20 verbose #17502 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17503 > > Fable.Core.Emit(\"leptos::Signal<$0>\")>]]\n#endif\ntype leptos_Signal<'T> = 00:16:20 verbose #17504 > > class end" 00:16:20 verbose #17505 > > $'' : $'leptos_Signal<`t>' 00:16:20 verbose #17506 > > ) 00:16:20 verbose #17507 > 00:16:20 debug #992 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2ac965ef6e6569ff518a6fb86a7b275b78c00fbf31ef6a0a50d30aced1b8af0d/main.spi 00:16:20 verbose #17508 > > 00:16:20 verbose #17509 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17510 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17511 > > │ ### read_signal │ 00:16:20 verbose #17512 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17513 > > 00:16:20 verbose #17514 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17515 > > nominal read_signal t = 00:16:20 verbose #17516 > > `( 00:16:20 verbose #17517 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17518 > > Fable.Core.Emit(\"leptos::ReadSignal<$0>\")>]]\n#endif\ntype 00:16:20 verbose #17519 > > leptos_ReadSignal<'T> = class end" 00:16:20 verbose #17520 > > $'' : $'leptos_ReadSignal<`t>' 00:16:20 verbose #17521 > > ) 00:16:20 verbose #17522 > 00:16:20 debug #993 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/936a930079cd056a40c542f723af3b010b55fadbefca1724f733121878b92523/main.spi 00:16:20 verbose #17523 > > 00:16:20 verbose #17524 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17525 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17526 > > │ ### write_signal │ 00:16:20 verbose #17527 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17528 > > 00:16:20 verbose #17529 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17530 > > nominal write_signal t = 00:16:20 verbose #17531 > > `( 00:16:20 verbose #17532 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17533 > > Fable.Core.Emit(\"leptos::WriteSignal<$0>\")>]]\n#endif\ntype 00:16:20 verbose #17534 > > leptos_WriteSignal<'T> = class end" 00:16:20 verbose #17535 > > $'' : $'leptos_WriteSignal<`t>' 00:16:20 verbose #17536 > > ) 00:16:20 verbose #17537 > 00:16:20 debug #994 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2e1204aaa4f18736e6cfd0b24c499091ba92f76566346b8dcbf5ffd429cb4896/main.spi 00:16:20 verbose #17538 > > 00:16:20 verbose #17539 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:20 verbose #17540 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:20 verbose #17541 > > │ ### resource │ 00:16:20 verbose #17542 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:20 verbose #17543 > > 00:16:20 verbose #17544 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:20 verbose #17545 > > nominal resource t u = 00:16:20 verbose #17546 > > `( 00:16:20 verbose #17547 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:20 verbose #17548 > > Fable.Core.Emit(\"leptos::Resource<$0, $1>\")>]]\n#endif\ntype 00:16:20 verbose #17549 > > leptos_Resource<'T, 'U> = class end" 00:16:20 verbose #17550 > > $'' : $'leptos_Resource<`t, `u>' 00:16:20 verbose #17551 > > ) 00:16:20 verbose #17552 > 00:16:20 debug #995 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9697f7ae63d7925a6167fb05c751cf399b2885a103c4623ef23c64bea6909675/main.spi 00:16:21 verbose #17553 > > 00:16:21 verbose #17554 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17555 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17556 > > │ ### view │ 00:16:21 verbose #17557 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17558 > > 00:16:21 verbose #17559 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17560 > > nominal view = 00:16:21 verbose #17561 > > `( 00:16:21 verbose #17562 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:16:21 verbose #17563 > > Fable.Core.Emit(\"leptos::View\")>]]\n#endif\ntype leptos_View = class end" 00:16:21 verbose #17564 > > $'' : $'leptos_View' 00:16:21 verbose #17565 > > ) 00:16:21 verbose #17566 > 00:16:20 debug #996 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/352826f0f1fe37959964a48275449582236688eb1dc7777a2d8d711a4aad91e5/main.spi 00:16:21 verbose #17567 > > 00:16:21 verbose #17568 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17569 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17570 > > │ ### signal_get │ 00:16:21 verbose #17571 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17572 > > 00:16:21 verbose #17573 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17574 > > prototype signal_get signal t : signal t -> t 00:16:21 verbose #17575 > 00:16:20 debug #997 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3d386a1cef1b0f4acbe2bf29ad4de319a3a9736d7b948d1664bc32d2d5f28022/main.spi 00:16:21 verbose #17576 > > 00:16:21 verbose #17577 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17578 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17579 > > │ ### signal_get_untracked │ 00:16:21 verbose #17580 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17581 > > 00:16:21 verbose #17582 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17583 > > prototype signal_get_untracked signal t : signal t -> t 00:16:21 verbose #17584 > 00:16:20 debug #998 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/65bfd0d75be2b0f7ed0d0604dc5d35a70d13885ee3f80d9c81bc3207087b0971/main.spi 00:16:21 verbose #17585 > > 00:16:21 verbose #17586 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17587 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17588 > > │ ### signal_update │ 00:16:21 verbose #17589 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17590 > > 00:16:21 verbose #17591 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17592 > > prototype signal_update signal t : (t -> t) -> signal t -> () 00:16:21 verbose #17593 > 00:16:20 debug #999 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e169d6097ecfc0ab720cd9c3a9bb01429b9aae138461795e9797c7c320f70582/main.spi 00:16:21 verbose #17594 > > 00:16:21 verbose #17595 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17596 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17597 > > │ ### signal_set │ 00:16:21 verbose #17598 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17599 > > 00:16:21 verbose #17600 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17601 > > prototype signal_set signal t : t -> signal t -> () 00:16:21 verbose #17602 > 00:16:20 debug #1000 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f2c50be8c4616aacf3899ea0c71fecd091aa14b5ee1b8f4d05f2e97619ec4c29/main.spi 00:16:21 verbose #17603 > > 00:16:21 verbose #17604 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17605 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17606 > > │ ### log_string │ 00:16:21 verbose #17607 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17608 > > 00:16:21 verbose #17609 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17610 > > inl log_string (text : string) = 00:16:21 verbose #17611 > > (!\($'@@"true; leptos::logging::log\!(""" + !text + @@""");"') : bool) |> 00:16:21 verbose #17612 > > ignore 00:16:21 verbose #17613 > 00:16:21 debug #1001 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/18f2dc83615636b3208b32eca290440d399eaacf424609b4fed4c034ff2e2379/main.spi 00:16:21 verbose #17614 > > 00:16:21 verbose #17615 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17616 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17617 > > │ ### log │ 00:16:21 verbose #17618 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17619 > > 00:16:21 verbose #17620 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17621 > > inl log (text : string) = 00:16:21 verbose #17622 > > (!\\(text, $'@@$"true; leptos::logging::log\!(""{{}}"", $0)"') : bool) |> 00:16:21 verbose #17623 > > ignore 00:16:21 verbose #17624 > 00:16:21 debug #1002 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d7ccec3eb3ad31c5cfc53042d354c088e1cd0d30285627d6f53219e51e76e536/main.spi 00:16:21 verbose #17625 > > 00:16:21 verbose #17626 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17627 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17628 > > │ ### log_debug │ 00:16:21 verbose #17629 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17630 > > 00:16:21 verbose #17631 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17632 > > inl log_debug (text : string) = 00:16:21 verbose #17633 > > (!\\(text, $'@@$"true; leptos::logging::log\!(""{{:?}}"", $0)"') : bool) |> 00:16:21 verbose #17634 > > ignore 00:16:21 verbose #17635 > 00:16:21 debug #1003 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/576b28211f0e555d86faa3dc2586f46422f40f2b4cd43a33728671ed5a26dfd7/main.spi 00:16:21 verbose #17636 > > 00:16:21 verbose #17637 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17638 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17639 > > │ ### log_pretty │ 00:16:21 verbose #17640 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17641 > > 00:16:21 verbose #17642 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17643 > > inl log_pretty (text : string) = 00:16:21 verbose #17644 > > (!\\(text, $'@@$"true; leptos::logging::log\!(""{{:#?}}"", $0)"') : bool) |> 00:16:21 verbose #17645 > > ignore 00:16:21 verbose #17646 > 00:16:21 debug #1004 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b13af992666c37cef7a15d34fc96d71caf33c31b1e68f205b2dbc2fb0d4abf2d/main.spi 00:16:21 verbose #17647 > > 00:16:21 verbose #17648 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17649 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17650 > > │ ### log_format │ 00:16:21 verbose #17651 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17652 > > 00:16:21 verbose #17653 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17654 > > inl log_format fn obj = 00:16:21 verbose #17655 > > inl obj_log = obj |> sm'.format_debug 00:16:21 verbose #17656 > > inl text = fn obj_log |> sm'.ellipsis_end 200 00:16:21 verbose #17657 > > log text 00:16:21 verbose #17658 > > obj 00:16:21 verbose #17659 > 00:16:21 debug #1005 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/791b5c563cf1fde222601ae5c98e305b78c2071a3fef1cef6d174eefdf2f80ab/main.spi 00:16:21 verbose #17660 > > 00:16:21 verbose #17661 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:21 verbose #17662 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:21 verbose #17663 > > │ ### mount_to_body │ 00:16:21 verbose #17664 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:21 verbose #17665 > > 00:16:21 verbose #17666 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:21 verbose #17667 > > inl mount_to_body (view_fn : () -> rust.impl into_view) : () = 00:16:21 verbose #17668 > > (!\\(view_fn, $'"true; leptos::mount_to_body(|| $0());"') : bool) |> ignore 00:16:21 verbose #17669 > 00:16:21 debug #1006 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/346f4209da95ea18b291f551931690a630357d0b9e706ca7ae4afa9baeeb8ee8/main.spi 00:16:22 verbose #17670 > > 00:16:22 verbose #17671 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:22 verbose #17672 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:22 verbose #17673 > > │ ### view_vec_to_fragment │ 00:16:22 verbose #17674 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:22 verbose #17675 > > 00:16:22 verbose #17676 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:22 verbose #17677 > > inl view_vec_to_fragment (view : am'.vec view) : fragment = 00:16:22 verbose #17678 > > !\\(view, $'"leptos::Fragment::new($0)"') 00:16:22 verbose #17679 > 00:16:21 debug #1007 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8992efa273f8b4fd5232862ff2132e4290c487b35e8fb24640f117d35ddca1e9/main.spi 00:16:22 verbose #17680 > > 00:16:22 verbose #17681 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:22 verbose #17682 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:22 verbose #17683 > > │ ### view_array_to_fragment │ 00:16:22 verbose #17684 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:22 verbose #17685 > > 00:16:22 verbose #17686 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:22 verbose #17687 > > inl view_array_to_fragment (view : array_base view) : fragment = 00:16:22 verbose #17688 > > view |> am'.to_vec |> view_vec_to_fragment 00:16:22 verbose #17689 > 00:16:21 debug #1008 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e72118681b18b549ff90a3d24166e4c4f994c7fe3399eafdb4a730b189344a90/main.spi 00:16:22 verbose #17690 > > 00:16:22 verbose #17691 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:22 verbose #17692 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:22 verbose #17693 > > │ ### element_to_view │ 00:16:22 verbose #17694 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:22 verbose #17695 > > 00:16:22 verbose #17696 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:22 verbose #17697 > > inl element_to_view (view : html_element _) : view = 00:16:22 verbose #17698 > > !\\(view, $'"leptos::IntoView::into_view($0)"') 00:16:22 verbose #17699 > 00:16:21 debug #1009 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/619064ee32f419fbd3f40d335fb71e1ce4fc00ed1533b15002e727e4c1e94f38/main.spi 00:16:22 verbose #17700 > > 00:16:22 verbose #17701 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:22 verbose #17702 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:22 verbose #17703 > > │ ### view_to_fragment │ 00:16:22 verbose #17704 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:22 verbose #17705 > > 00:16:22 verbose #17706 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:22 verbose #17707 > > inl view_to_fragment (view : view) : fragment = 00:16:22 verbose #17708 > > ;[[view]] |> view_array_to_fragment 00:16:22 verbose #17709 > 00:16:21 debug #1010 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bc2da536f63e6e88b86d3c0c1c34a5b5b23fb8bbc0015f0c4ef54d7586bfcf65/main.spi 00:16:22 verbose #17710 > > 00:16:22 verbose #17711 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:22 verbose #17712 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:22 verbose #17713 > > │ ### fragment_to_view │ 00:16:22 verbose #17714 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:22 verbose #17715 > > 00:16:22 verbose #17716 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:22 verbose #17717 > > inl fragment_to_view (fragment : fragment) : view = 00:16:22 verbose #17718 > > !\\(fragment, $'"leptos::IntoView::into_view($0)"') 00:16:22 verbose #17719 > 00:16:21 debug #1011 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d52452f49cc13f38ca04cb40c81e3b322b46f7120d2fd16e13e9f20fe1f4f187/main.spi 00:16:23 verbose #17720 > > 00:16:23 verbose #17721 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17722 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17723 > > │ ### element_to_fragment │ 00:16:23 verbose #17724 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17725 > > 00:16:23 verbose #17726 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17727 > > inl element_to_fragment (view : html_element _) : fragment = 00:16:23 verbose #17728 > > view 00:16:23 verbose #17729 > > |> element_to_view 00:16:23 verbose #17730 > > |> view_to_fragment 00:16:23 verbose #17731 > 00:16:22 debug #1012 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6b955c1bc6859e6ea41467612e5161397fc10235313a8515743ac5d2dfe1646b/main.spi 00:16:23 verbose #17732 > > 00:16:23 verbose #17733 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17734 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17735 > > │ ### (~:>) fragment │ 00:16:23 verbose #17736 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17737 > > 00:16:23 verbose #17738 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17739 > > instance (~:>) fragment = fun x => 00:16:23 verbose #17740 > > real 00:16:23 verbose #17741 > > typecase t with 00:16:23 verbose #17742 > > | array_base (html_element ~el) => 00:16:23 verbose #17743 > > inl x = am'.to_vec `(html_element el) x 00:16:23 verbose #17744 > > inl x = am'.vec_map' `(html_element el) `view (element_to_view `el) 00:16:23 verbose #17745 > > x 00:16:23 verbose #17746 > > inl x : a i32 view = am'.from_vec `i32 `view x 00:16:23 verbose #17747 > > inl (a x) = x 00:16:23 verbose #17748 > > view_array_to_fragment x 00:16:23 verbose #17749 > > | array_base view => view_array_to_fragment x 00:16:23 verbose #17750 > > | _ => x 00:16:23 verbose #17751 > 00:16:22 debug #1013 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/22cb041f409918184eb4307f5521a4c3cb83fad0a5af70ce245f8abe2c1c00f9/main.spi 00:16:23 verbose #17752 > > 00:16:23 verbose #17753 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17754 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17755 > > │ ### (~:>) view │ 00:16:23 verbose #17756 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17757 > > 00:16:23 verbose #17758 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17759 > > instance (~:>) view = fun x => 00:16:23 verbose #17760 > > real 00:16:23 verbose #17761 > > typecase t with 00:16:23 verbose #17762 > > | html_element _ => element_to_view x 00:16:23 verbose #17763 > > | _ => x 00:16:23 verbose #17764 > 00:16:22 debug #1014 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a0f11bef739a39862003d07dad27735f9ef3f102578a558e20a81af469269dfb/main.spi 00:16:23 verbose #17765 > > 00:16:23 verbose #17766 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17767 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17768 > > │ ### view_trait_to_element │ 00:16:23 verbose #17769 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17770 > > 00:16:23 verbose #17771 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17772 > > inl view_trait_to_element (view : rust.impl into_view) : html_element _ = 00:16:23 verbose #17773 > > $'!view |> unbox' 00:16:23 verbose #17774 > 00:16:22 debug #1015 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a1f05a71ac7ebfaff150ea627e2611305ef0dbb2ee0da353335ce10c61178fcf/main.spi 00:16:23 verbose #17775 > > 00:16:23 verbose #17776 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17777 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17778 > > │ ### view_trait_to_route_definition │ 00:16:23 verbose #17779 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17780 > > 00:16:23 verbose #17781 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17782 > > inl view_trait_to_route_definition (view : rust.impl into_view) : 00:16:23 verbose #17783 > > route_definition = 00:16:23 verbose #17784 > > $'!view |> unbox' 00:16:23 verbose #17785 > 00:16:22 debug #1016 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b8b7212f3899634cef747f0125b71c3dc5280c569aa60bd728194de2da5815f7/main.spi 00:16:23 verbose #17786 > > 00:16:23 verbose #17787 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17788 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17789 > > │ ### to_element_view │ 00:16:23 verbose #17790 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17791 > > 00:16:23 verbose #17792 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17793 > > inl to_element_view (view : html_element _) : rust.impl into_view = 00:16:23 verbose #17794 > > $'!view |> unbox' 00:16:23 verbose #17795 > 00:16:23 debug #1017 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/45f215325fe8d6b26f6dc9eed82a98c5e30c1f38cd0d96905c9bae228effad95/main.spi 00:16:23 verbose #17796 > > 00:16:23 verbose #17797 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17798 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17799 > > │ ### to_view_trait │ 00:16:23 verbose #17800 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17801 > > 00:16:23 verbose #17802 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17803 > > inl to_view_trait (view : view) : rust.impl into_view = 00:16:23 verbose #17804 > > $'!view |> unbox' 00:16:23 verbose #17805 > 00:16:23 debug #1018 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cffe5d574366cd512c42b1f189b1c1aa271c2cda157a97d25f86f1a635bcc30e/main.spi 00:16:23 verbose #17806 > > 00:16:23 verbose #17807 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17808 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17809 > > │ ### to_fragment_unbox │ 00:16:23 verbose #17810 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17811 > > 00:16:23 verbose #17812 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17813 > > inl to_fragment_unbox view : fragment = 00:16:23 verbose #17814 > > $'!view |> unbox' 00:16:23 verbose #17815 > 00:16:23 debug #1019 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86fa547205208aa9d1bcf2c335ef559e510a9d928c3d2feff27f01be91b61cd6/main.spi 00:16:23 verbose #17816 > > 00:16:23 verbose #17817 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17818 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17819 > > │ ### from_fragment_unbox │ 00:16:23 verbose #17820 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17821 > > 00:16:23 verbose #17822 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17823 > > inl from_fragment_unbox (fragment : fragment) = 00:16:23 verbose #17824 > > $'!fragment |> unbox' 00:16:23 verbose #17825 > 00:16:23 debug #1020 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/81e24e3cb2292e7fad3fb06df42e94cb3a03aada2e205d6df887a2cdc9a2e1bc/main.spi 00:16:23 verbose #17826 > > 00:16:23 verbose #17827 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17828 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17829 > > │ ### element_to_view_trait │ 00:16:23 verbose #17830 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17831 > > 00:16:23 verbose #17832 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17833 > > inl element_to_view_trait (macro : html_element _) : rust.impl into_view = 00:16:23 verbose #17834 > > !\($'"leptos::view\! { {!macro} }"') 00:16:23 verbose #17835 > 00:16:23 debug #1021 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f3a5b3baa913820534862dce1d24e6fc001898d3dfd51f50573ac1e20c62a753/main.spi 00:16:23 verbose #17836 > > 00:16:23 verbose #17837 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:23 verbose #17838 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:23 verbose #17839 > > │ ### macro_to_view_trait │ 00:16:23 verbose #17840 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:23 verbose #17841 > > 00:16:23 verbose #17842 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:23 verbose #17843 > > inl macro_to_view_trait (macro : string) : rust.impl into_view = 00:16:23 verbose #17844 > > !\($'"leptos::view\! { " + !macro + " }"') 00:16:23 verbose #17845 > 00:16:23 debug #1022 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/18404633d4d2b0467aae65c7deae1148306e11452f9e823d157a9efa7655e38c/main.spi 00:16:24 verbose #17846 > > 00:16:24 verbose #17847 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17848 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17849 > > │ ### macro_to_fragment │ 00:16:24 verbose #17850 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17851 > > 00:16:24 verbose #17852 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17853 > > inl macro_to_fragment (macro : string) : fragment = 00:16:24 verbose #17854 > > !\($'"leptos::view\! { " + !macro + " }"') 00:16:24 verbose #17855 > 00:16:23 debug #1023 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/09df76b83dd56fc43bc244cbe4344ae0cda3045a61d438074645cbee6b9e7404/main.spi 00:16:24 verbose #17856 > > 00:16:24 verbose #17857 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17858 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17859 > > │ ### new_transparent │ 00:16:24 verbose #17860 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17861 > > 00:16:24 verbose #17862 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17863 > > inl new_transparent x : transparent = 00:16:24 verbose #17864 > > !\\(x, $'"leptos::leptos_dom::Transparent::new($0)"') 00:16:24 verbose #17865 > 00:16:23 debug #1024 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/baca141482e632c41296f58680736eb456aafc4e11c678b5d328e91bc4b5b5a6/main.spi 00:16:24 verbose #17866 > > 00:16:24 verbose #17867 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17868 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17869 > > │ ### closure_to_view │ 00:16:24 verbose #17870 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17871 > > 00:16:24 verbose #17872 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17873 > > inl closure_to_view (closure : rust.func0 view) : view = 00:16:24 verbose #17874 > > !\\(closure, $'"leptos::IntoView::into_view(move || $0())"') 00:16:24 verbose #17875 > 00:16:23 debug #1025 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f8e838813844391f62b5e53503416fefe4f636c3cd9e915b7f54d29a90027f52/main.spi 00:16:24 verbose #17876 > > 00:16:24 verbose #17877 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17878 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17879 > > │ ### batch │ 00:16:24 verbose #17880 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17881 > > 00:16:24 verbose #17882 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17883 > > inl batch (fn : () -> ()) : () = 00:16:24 verbose #17884 > > (!\\(fn, $'"true; leptos::batch(move || $0());"') : bool) |> ignore 00:16:24 verbose #17885 > 00:16:23 debug #1026 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dfaecb1119103ba21e16090dd70dd66be21cd0dcc62340e8c66db4412fee4c13/main.spi 00:16:24 verbose #17886 > > 00:16:24 verbose #17887 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17888 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17889 > > │ ### closure_to_fragment │ 00:16:24 verbose #17890 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17891 > > 00:16:24 verbose #17892 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17893 > > inl closure_to_fragment (closure : rust.func0 fragment) : fragment = 00:16:24 verbose #17894 > > !\\(closure, $'"leptos::IntoView::into_view(move || $0())"') 00:16:24 verbose #17895 > > |> view_to_fragment 00:16:24 verbose #17896 > 00:16:24 debug #1027 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/111ed66f093b0b0f3dfd1584a7df9e0c27df0a2138d2fb4f29bc691c67467f47/main.spi 00:16:24 verbose #17897 > > 00:16:24 verbose #17898 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17899 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17900 > > │ ### array_to_view │ 00:16:24 verbose #17901 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17902 > > 00:16:24 verbose #17903 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17904 > > inl array_to_view (view : a _ view) : view = 00:16:24 verbose #17905 > > !\\(view, $'"leptos::CollectView::collect_view($0.to_vec())"') 00:16:24 verbose #17906 > 00:16:24 debug #1028 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2b9dff51f07aa2ec0ccce1f29948aa819431049877bd7a54b0e88aa394178001/main.spi 00:16:24 verbose #17907 > > 00:16:24 verbose #17908 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17909 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17910 > > │ ### to_fragment │ 00:16:24 verbose #17911 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17912 > > 00:16:24 verbose #17913 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17914 > > inl to_fragment x : fragment = 00:16:24 verbose #17915 > > $'!x |> unbox' 00:16:24 verbose #17916 > 00:16:24 debug #1029 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2631927fb8187a57f36915f0c9cd374203d0870babe0b5ae0ea96b5ab413060d/main.spi 00:16:24 verbose #17917 > > 00:16:24 verbose #17918 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17919 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17920 > > │ ### text_to_view │ 00:16:24 verbose #17921 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17922 > > 00:16:24 verbose #17923 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17924 > > inl text_to_view (text : text) : view = 00:16:24 verbose #17925 > > !\\(text, $'"leptos::IntoView::into_view($0)"') 00:16:24 verbose #17926 > 00:16:24 debug #1030 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7f538f3934a21b3370181c16c882e8ae15ddd410936e02985fefdcc7e9ea1fe2/main.spi 00:16:24 verbose #17927 > > 00:16:24 verbose #17928 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17929 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17930 > > │ ### text_to_fragment │ 00:16:24 verbose #17931 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17932 > > 00:16:24 verbose #17933 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17934 > > inl text_to_fragment (text : text) : fragment = 00:16:24 verbose #17935 > > text 00:16:24 verbose #17936 > > |> text_to_view 00:16:24 verbose #17937 > > |> view_to_fragment 00:16:24 verbose #17938 > 00:16:24 debug #1031 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a6929bb50c19be5e5e921b6270e352bb46cc25dbaf30ec759aab43d322aaa94a/main.spi 00:16:24 verbose #17939 > > 00:16:24 verbose #17940 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17941 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17942 > > │ ### macro_to_view │ 00:16:24 verbose #17943 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17944 > > 00:16:24 verbose #17945 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17946 > > inl macro_to_view (macro : string) : view = 00:16:24 verbose #17947 > > !\($'"leptos::IntoView::into_view(leptos::view\! { " + !macro + " })"') 00:16:24 verbose #17948 > 00:16:24 debug #1032 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce874e18df8dc053a0b53d63c64dd58224352ae22d52581002e04a60a6cc38ee/main.spi 00:16:24 verbose #17949 > > 00:16:24 verbose #17950 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:24 verbose #17951 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:24 verbose #17952 > > │ ### transparent_to_view │ 00:16:24 verbose #17953 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:24 verbose #17954 > > 00:16:24 verbose #17955 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:24 verbose #17956 > > inl transparent_to_view (transparent : transparent) : view = 00:16:24 verbose #17957 > > !\\(transparent, $'"leptos::IntoView::into_view($0)"') 00:16:24 verbose #17958 > 00:16:24 debug #1033 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd323bee3df4b36a670eeccb0c918fd2009201ba49fa8f3d9b9f1c8b6ac0d90e/main.spi 00:16:25 verbose #17959 > > 00:16:25 verbose #17960 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #17961 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #17962 > > │ ### transparent_to_fragment │ 00:16:25 verbose #17963 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #17964 > > 00:16:25 verbose #17965 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #17966 > > inl transparent_to_fragment (transparent : transparent) : fragment = 00:16:25 verbose #17967 > > transparent 00:16:25 verbose #17968 > > |> transparent_to_view 00:16:25 verbose #17969 > > |> view_to_fragment 00:16:25 verbose #17970 > 00:16:24 debug #1034 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bcd9ba5263bcbfca9f59f2bab73f2f360beef59c34a0e7ffe664dde296c603d4/main.spi 00:16:25 verbose #17971 > > 00:16:25 verbose #17972 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #17973 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #17974 > > │ ### macro_to_element │ 00:16:25 verbose #17975 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #17976 > > 00:16:25 verbose #17977 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #17978 > > inl macro_to_element (view : string) : html_element _ = 00:16:25 verbose #17979 > > view |> macro_to_view_trait |> view_trait_to_element 00:16:25 verbose #17980 > 00:16:24 debug #1035 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/32960752caadf8af54a23035d66deb2de05173a41838ded341aeb1f610c1e429/main.spi 00:16:25 verbose #17981 > > 00:16:25 verbose #17982 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #17983 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #17984 > > │ ### transparents_fragment │ 00:16:25 verbose #17985 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #17986 > > 00:16:25 verbose #17987 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #17988 > > inl transparents_fragment (items : array_base transparent) : fragment = 00:16:25 verbose #17989 > > inl items = items |> am'.to_vec 00:16:25 verbose #17990 > > !\\((items, transparent_to_view), $'"$0.iter().map(|x| 00:16:25 verbose #17991 > > $1(x.clone())).collect::<leptos::Fragment>()"') 00:16:25 verbose #17992 > 00:16:24 debug #1036 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0fdb45b1ba5b38727432bd09f3b1bd3f78cd78717b7ed08e9da8c66639c3969f/main.spi 00:16:25 verbose #17993 > > 00:16:25 verbose #17994 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #17995 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #17996 > > │ ### views_to_view │ 00:16:25 verbose #17997 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #17998 > > 00:16:25 verbose #17999 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18000 > > inl views_to_view (items : array_base view) : view = 00:16:25 verbose #18001 > > inl items = join items 00:16:25 verbose #18002 > > items 00:16:25 verbose #18003 > > // |> fun x => a (join x) : a u64 _ 00:16:25 verbose #18004 > > |> fun x => a x : a u64 _ 00:16:25 verbose #18005 > > |> array_to_view 00:16:25 verbose #18006 > 00:16:24 debug #1037 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/836c5e6e0a7e17b57cd8e1daaef4f78eeb692e5906fe9965bae3e64752893487/main.spi 00:16:25 verbose #18007 > > 00:16:25 verbose #18008 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #18009 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #18010 > > │ ### new_text │ 00:16:25 verbose #18011 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #18012 > > 00:16:25 verbose #18013 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18014 > > inl new_text (text : string) : text = 00:16:25 verbose #18015 > > inl text = text |> sm'.to_std_string 00:16:25 verbose #18016 > > !\\(text, $'"leptos::html::text($0)"') 00:16:25 verbose #18017 > 00:16:25 debug #1038 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b42462c8f15410ff787e226f0cb756237b7c1d0aba7d9ea7e18aa3ed886b762a/main.spi 00:16:25 verbose #18018 > > 00:16:25 verbose #18019 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #18020 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #18021 > > │ ### text_view │ 00:16:25 verbose #18022 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #18023 > > 00:16:25 verbose #18024 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18025 > > inl text_view (text : string) : view = 00:16:25 verbose #18026 > > text 00:16:25 verbose #18027 > > |> new_text 00:16:25 verbose #18028 > > |> text_to_view 00:16:25 verbose #18029 > 00:16:25 debug #1039 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f97c27b969d4a17d75767480886542efdf259afc31a9f50414287381f0d4485f/main.spi 00:16:25 verbose #18030 > > 00:16:25 verbose #18031 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #18032 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #18033 > > │ ### text_fragment │ 00:16:25 verbose #18034 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #18035 > > 00:16:25 verbose #18036 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18037 > > inl text_fragment (text : string) : fragment = 00:16:25 verbose #18038 > > text 00:16:25 verbose #18039 > > |> text_view 00:16:25 verbose #18040 > > |> view_to_fragment 00:16:25 verbose #18041 > 00:16:25 debug #1040 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/72363149d1d50acec329d9c5e8db010b123fab4e46d357c8eb50ce7b449c3566/main.spi 00:16:25 verbose #18042 > > 00:16:25 verbose #18043 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #18044 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #18045 > > │ ### provide_meta_context │ 00:16:25 verbose #18046 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #18047 > > 00:16:25 verbose #18048 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18049 > > inl provide_meta_context () = 00:16:25 verbose #18050 > > (!\($'"true; leptos_meta::provide_meta_context()"') : bool) |> ignore 00:16:25 verbose #18051 > 00:16:25 debug #1041 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9cb310c7e6bf0fdcc79c0d03909eea61774d52fa456191089cb9a8e4fe0e74d4/main.spi 00:16:25 verbose #18052 > > 00:16:25 verbose #18053 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #18054 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #18055 > > │ ### provide_context │ 00:16:25 verbose #18056 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #18057 > > 00:16:25 verbose #18058 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18059 > > inl provide_context forall t. (x : t) = 00:16:25 verbose #18060 > > (!\\(x, $'$"true; leptos::provide_context::<std::sync::Arc<`t>>($0)"') : 00:16:25 verbose #18061 > > bool) |> ignore 00:16:25 verbose #18062 > 00:16:25 debug #1042 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/189539c2c079f6aebc86d94f69e94ef03857302bb20a113a2f9aa9e7a6c3e39e/main.spi 00:16:25 verbose #18063 > > 00:16:25 verbose #18064 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:25 verbose #18065 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:25 verbose #18066 > > │ ### create_signal │ 00:16:25 verbose #18067 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:25 verbose #18068 > > 00:16:25 verbose #18069 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:25 verbose #18070 > > inl create_signal forall t. (value : t) : read_signal t * write_signal t = 00:16:25 verbose #18071 > > !\\(value, $'$"leptos::create_signal($0)"') 00:16:25 verbose #18072 > 00:16:25 debug #1043 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/120be6d8e1cfcdfedd8e88cc8361c1bc46f770636715e77830fa08d27f63f772/main.spi 00:16:26 verbose #18073 > > 00:16:26 verbose #18074 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18075 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18076 > > │ ### create_rw_signal │ 00:16:26 verbose #18077 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18078 > > 00:16:26 verbose #18079 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18080 > > inl create_rw_signal forall t. (value : t) : rw_signal t = 00:16:26 verbose #18081 > > !\\(value, $'$"leptos::create_rw_signal($0)"') 00:16:26 verbose #18082 > 00:16:25 debug #1044 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6ceda18e46f9cffab93f8604676a96fc6d7408551298a78807f04c3d15add149/main.spi 00:16:26 verbose #18083 > > 00:16:26 verbose #18084 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18085 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18086 > > │ ### read_only │ 00:16:26 verbose #18087 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18088 > > 00:16:26 verbose #18089 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18090 > > inl read_only forall t. (value : rw_signal t) : read_signal t = 00:16:26 verbose #18091 > > !\\(value, $'$"leptos::RwSignal::read_only(&$0)"') 00:16:26 verbose #18092 > 00:16:25 debug #1045 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/31b3e8d37d9273083c13e7752a581e05227b5d3338daeb00f4bd81737d31db9b/main.spi 00:16:26 verbose #18093 > > 00:16:26 verbose #18094 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18095 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18096 > > │ ### write_only │ 00:16:26 verbose #18097 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18098 > > 00:16:26 verbose #18099 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18100 > > inl write_only forall t. (value : rw_signal t) : write_signal t = 00:16:26 verbose #18101 > > !\\(value, $'$"leptos::RwSignal::write_only(&$0)"') 00:16:26 verbose #18102 > 00:16:25 debug #1046 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ff934f638f8235e774f383ea599188c9a57951f0a1af4b19e74192a306888fad/main.spi 00:16:26 verbose #18103 > > 00:16:26 verbose #18104 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18105 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18106 > > │ ### typecheck_signal │ 00:16:26 verbose #18107 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18108 > > 00:16:26 verbose #18109 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18110 > > inl typecheck_signal forall (t : * -> *) u. (signal : t u) : () = 00:16:26 verbose #18111 > > real 00:16:26 verbose #18112 > > typecase t with 00:16:26 verbose #18113 > > | signal => () 00:16:26 verbose #18114 > > | rw_signal => () 00:16:26 verbose #18115 > > | read_signal => () 00:16:26 verbose #18116 > > | write_signal => () 00:16:26 verbose #18117 > > | memo => () 00:16:26 verbose #18118 > > | _ => error_type `(()) ("invalid signal", ``(t u)) 00:16:26 verbose #18119 > 00:16:25 debug #1047 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d869d84c8bafb7d07cbeebe52b6ef472b3486664fec2e02f796bf45dc65ff6ab/main.spi 00:16:26 verbose #18120 > > 00:16:26 verbose #18121 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18122 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18123 > > │ ### memo_get' │ 00:16:26 verbose #18124 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18125 > > 00:16:26 verbose #18126 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18127 > > inl memo_get' forall t. (memo : memo t) : t = 00:16:26 verbose #18128 > > !\\(memo, $'$"$0()"') 00:16:26 verbose #18129 > 00:16:25 debug #1048 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dfb55d19f7af96e628aab0c8e4f098c23b8e4ecd0c385f4463dbe0fa4fb9abc3/main.spi 00:16:26 verbose #18130 > > 00:16:26 verbose #18131 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18132 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18133 > > │ ### signal_get' │ 00:16:26 verbose #18134 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18135 > > 00:16:26 verbose #18136 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18137 > > inl signal_get' forall (t : * -> *) u. (signal : t u) : u = 00:16:26 verbose #18138 > > signal |> typecheck_signal 00:16:26 verbose #18139 > > !\\(signal, $'$"leptos::SignalGet::get(&$0)"') 00:16:26 verbose #18140 > 00:16:26 debug #1049 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b033cb56accee58dac3de79e40426ca49ac33f47f7de8c56695c480f74fd15f3/main.spi 00:16:26 verbose #18141 > > 00:16:26 verbose #18142 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18143 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18144 > > │ ### signal_get signal │ 00:16:26 verbose #18145 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18146 > > 00:16:26 verbose #18147 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18148 > > instance signal_get signal = signal_get' 00:16:26 verbose #18149 > 00:16:26 debug #1050 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ad210a2a55363957f6987dba0241ea14bc346ec9cf734fd3366a1ddd805cb97/main.spi 00:16:26 verbose #18150 > > 00:16:26 verbose #18151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18153 > > │ ### signal_get rw_signal │ 00:16:26 verbose #18154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18155 > > 00:16:26 verbose #18156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18157 > > instance signal_get rw_signal = signal_get' 00:16:26 verbose #18158 > 00:16:26 debug #1051 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/71cc6245efd1cd4058bf1c764789dad5f7b0efaac7631007b4be6a57b811fb06/main.spi 00:16:26 verbose #18159 > > 00:16:26 verbose #18160 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18161 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18162 > > │ ### signal_get read_signal │ 00:16:26 verbose #18163 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18164 > > 00:16:26 verbose #18165 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18166 > > instance signal_get read_signal = signal_get' 00:16:26 verbose #18167 > 00:16:26 debug #1052 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/336713c1aa6724e1103bbfd630584440ee2916fd7e25d0341d2823e4f1723e03/main.spi 00:16:26 verbose #18168 > > 00:16:26 verbose #18169 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18170 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18171 > > │ ### signal_get memo │ 00:16:26 verbose #18172 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18173 > > 00:16:26 verbose #18174 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18175 > > instance signal_get memo = memo_get' 00:16:26 verbose #18176 > 00:16:26 debug #1053 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2ebf7c8450831dceb3fb1fd0a4fef8f9125391f7daaf6068b57e26fb60bf443e/main.spi 00:16:26 verbose #18177 > > 00:16:26 verbose #18178 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:26 verbose #18179 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:26 verbose #18180 > > │ ### signal_update' │ 00:16:26 verbose #18181 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:26 verbose #18182 > > 00:16:26 verbose #18183 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:26 verbose #18184 > > inl signal_update' forall (t : * -> *) u. (fn : u -> u) (signal : t u) : () = 00:16:26 verbose #18185 > > signal |> typecheck_signal 00:16:26 verbose #18186 > > (!\\((signal, fn), $'"true; leptos::SignalUpdate::update(&$0, |x| { *x = 00:16:26 verbose #18187 > > $1(x.clone()) });"') : bool) |> ignore 00:16:27 verbose #18188 > 00:16:26 debug #1054 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d72da63f91a7222da35f1e41e2a63571c7c00e6728bce818af6215bdbf9ad2ec/main.spi 00:16:27 verbose #18189 > > 00:16:27 verbose #18190 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:27 verbose #18191 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:27 verbose #18192 > > │ ### signal_update rw_signal │ 00:16:27 verbose #18193 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:27 verbose #18194 > > 00:16:27 verbose #18195 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:27 verbose #18196 > > instance signal_update rw_signal = signal_update' 00:16:27 verbose #18197 > 00:16:26 debug #1055 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a8d807fea7a66015d2f6e3f67b4e14a52655f1c128b79c694288d5d4d185115b/main.spi 00:16:27 verbose #18198 > > 00:16:27 verbose #18199 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:27 verbose #18200 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:27 verbose #18201 > > │ ### signal_update write_signal │ 00:16:27 verbose #18202 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:27 verbose #18203 > > 00:16:27 verbose #18204 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:27 verbose #18205 > > instance signal_update write_signal = signal_update' 00:16:27 verbose #18206 > 00:16:26 debug #1056 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6342fc4aae75a454f801e7a743b2282fb7bb37095c962a0f5daf41b3d933a3de/main.spi 00:16:27 verbose #18207 > > 00:16:27 verbose #18208 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:27 verbose #18209 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:27 verbose #18210 > > │ ### signal_get_untracked' │ 00:16:27 verbose #18211 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:27 verbose #18212 > > 00:16:27 verbose #18213 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:27 verbose #18214 > > inl signal_get_untracked' forall (t : * -> *) u. (signal : t u) : u = 00:16:27 verbose #18215 > > signal |> typecheck_signal 00:16:27 verbose #18216 > > !\\(signal, $'$"leptos::SignalGetUntracked::get_untracked(&$0)"') 00:16:27 verbose #18217 > 00:16:26 debug #1057 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/689415e19c0231c036f1f8aaa59bc17f045ee19c0cc25a78f6ab6640ca4dd2d9/main.spi 00:16:27 verbose #18218 > > 00:16:27 verbose #18219 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:27 verbose #18220 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:27 verbose #18221 > > │ ### signal_get_untracked rw_signal │ 00:16:27 verbose #18222 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:27 verbose #18223 > > 00:16:27 verbose #18224 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:27 verbose #18225 > > instance signal_get_untracked rw_signal = signal_get_untracked' 00:16:27 verbose #18226 > 00:16:26 debug #1058 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9fd666e46902507737774acebeaef14a16ff8a293a47e8a70e08c64def2bed8a/main.spi 00:16:27 verbose #18227 > > 00:16:27 verbose #18228 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:27 verbose #18229 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:27 verbose #18230 > > │ ### signal_get_untracked read_signal │ 00:16:27 verbose #18231 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:27 verbose #18232 > > 00:16:27 verbose #18233 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:27 verbose #18234 > > instance signal_get_untracked read_signal = signal_get_untracked' 00:16:27 verbose #18235 > 00:16:27 debug #1059 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/79a81f7a84ad5ff42f2f49e056a04b40880337d13eff3ef3ead6009ce9e56eb8/main.spi 00:16:27 verbose #18236 > > 00:16:27 verbose #18237 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:27 verbose #18238 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:27 verbose #18239 > > │ ### signal_get_untracked memo │ 00:16:27 verbose #18240 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:27 verbose #18241 > > 00:16:27 verbose #18242 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:27 verbose #18243 > > instance signal_get_untracked memo = signal_get_untracked' 00:16:27 verbose #18244 > 00:16:27 debug #1060 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/53ac3a4ebac7440c7de61d90cf9e2339912df4c18c0fa0b9d9540f46c70911ca/main.spi 00:16:28 verbose #18245 > > 00:16:28 verbose #18246 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18247 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18248 > > │ ### signal_set' │ 00:16:28 verbose #18249 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18250 > > 00:16:28 verbose #18251 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18252 > > inl signal_set' forall (t : * -> *) u. (value : u) (signal : t u) = 00:16:28 verbose #18253 > > signal |> typecheck_signal 00:16:28 verbose #18254 > > (!\\((signal, value), $'$"true; leptos::SignalSet::set(&$0, $1);"') : bool) 00:16:28 verbose #18255 > > |> ignore 00:16:28 verbose #18256 > 00:16:27 debug #1061 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/14659afd19178351522c6861971f2088254daa1f9e5d699df723f9df240dd7e5/main.spi 00:16:28 verbose #18257 > > 00:16:28 verbose #18258 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18259 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18260 > > │ ### signal_set rw_signal │ 00:16:28 verbose #18261 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18262 > > 00:16:28 verbose #18263 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18264 > > instance signal_set rw_signal = signal_set' 00:16:28 verbose #18265 > 00:16:27 debug #1062 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d19dd8c946d3adcbf1a0f182fb8a8ef519c7abb21e202dbb39fda686ab6da636/main.spi 00:16:28 verbose #18266 > > 00:16:28 verbose #18267 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18268 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18269 > > │ ### signal_set write_signal │ 00:16:28 verbose #18270 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18271 > > 00:16:28 verbose #18272 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18273 > > instance signal_set write_signal = signal_set' 00:16:28 verbose #18274 > 00:16:27 debug #1063 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bca3d54d03b5fbe755485a181702b37befc0a79ce173460aa5a53ce51f1a2a1b/main.spi 00:16:28 verbose #18275 > > 00:16:28 verbose #18276 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18277 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18278 > > │ ### create_local_resource │ 00:16:28 verbose #18279 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18280 > > 00:16:28 verbose #18281 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18282 > > inl create_local_resource forall t u. 00:16:28 verbose #18283 > > closure_fix 00:16:28 verbose #18284 > > (source : () -> t) 00:16:28 verbose #18285 > > (fetcher : t -> async.future_pin u) 00:16:28 verbose #18286 > > : resource t u 00:16:28 verbose #18287 > > = 00:16:28 verbose #18288 > > // inl fetcher x = rust.move fun () => 00:16:28 verbose #18289 > > // fetcher x 00:16:28 verbose #18290 > > // inl fetcher = join fetcher 00:16:28 verbose #18291 > > // !\($'"leptos::create_local_resource(move || !source(), move |x| async 00:16:28 verbose #18292 > > move { !fetcher(x)().await })"') 00:16:28 verbose #18293 > > 00:16:28 verbose #18294 > > // --- 00:16:28 verbose #18295 > > 00:16:28 verbose #18296 > > // inl fn x = async.new_future fun () => 00:16:28 verbose #18297 > > // inl x' = fetcher x 00:16:28 verbose #18298 > > // x' |> async.await 00:16:28 verbose #18299 > > 00:16:28 verbose #18300 > > // !\\((source, fn), $'"leptos::create_local_resource(move || $0(), |x| 00:16:28 verbose #18301 > > async move { $1(x).await })"') 00:16:28 verbose #18302 > > 00:16:28 verbose #18303 > > 00:16:28 verbose #18304 > > join 00:16:28 verbose #18305 > > !\\(source, $'"let __result = leptos::create_local_resource(move || 00:16:28 verbose #18306 > > $0(), |x| async move { //"') 00:16:28 verbose #18307 > > 00:16:28 verbose #18308 > > inl x = !\($'"x"') 00:16:28 verbose #18309 > > inl x' = fetcher x 00:16:28 verbose #18310 > > inl x' = join x' 00:16:28 verbose #18311 > > inl x' = x' |> async.await 00:16:28 verbose #18312 > > 00:16:28 verbose #18313 > > x' |> rust.fix_closure closure_fix 00:16:28 verbose #18314 > > 00:16:28 verbose #18315 > > !\($'"__result"') 00:16:28 verbose #18316 > 00:16:27 debug #1064 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0fbf5764be8d5bf72606f4490871a6bd1385103934853a104fb133e5f62daaf6/main.spi 00:16:28 verbose #18317 > > 00:16:28 verbose #18318 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18319 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18320 > > │ ### create_resource │ 00:16:28 verbose #18321 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18322 > > 00:16:28 verbose #18323 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18324 > > // inl create_resource forall t u. (source : () -> t) (fetcher : t -> 00:16:28 verbose #18325 > > async.future_pin u) : resource t u = 00:16:28 verbose #18326 > > // inl source = join source 00:16:28 verbose #18327 > > // !\\(fetcher, $'"leptos::create_resource(move || !source(), |x| async move 00:16:28 verbose #18328 > > { $0(x).await })"') 00:16:28 verbose #18329 > 00:16:28 debug #1065 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0c6a51ae7ce4a31cd8b6139554e31056eb36adf91f449dc90923f81af72e461e/main.spi 00:16:28 verbose #18330 > > 00:16:28 verbose #18331 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18332 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18333 > > │ ### create_action │ 00:16:28 verbose #18334 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18335 > > 00:16:28 verbose #18336 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18337 > > inl create_action forall t u. (action_fn : t -> async.future_pin u) : action t u 00:16:28 verbose #18338 > > = 00:16:28 verbose #18339 > > !\\(action_fn, $'"leptos::create_action(move |value: &std::sync::Arc<`t>| 00:16:28 verbose #18340 > > $0(value.clone()))"') 00:16:28 verbose #18341 > 00:16:28 debug #1066 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/856ec82e121aceab794a0b1bd9d559444ae1e0336137c918cd6c21fb0b1a777a/main.spi 00:16:28 verbose #18342 > > 00:16:28 verbose #18343 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18344 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18345 > > │ ### action_dispatch │ 00:16:28 verbose #18346 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18347 > > 00:16:28 verbose #18348 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18349 > > inl action_dispatch forall t u. (value : heap t) (action : action (heap t) u) : 00:16:28 verbose #18350 > > () = 00:16:28 verbose #18351 > > (!\\((action, value), $'"true; leptos::Action::dispatch(&$0, $1.clone())"') 00:16:28 verbose #18352 > > : bool) |> ignore 00:16:28 verbose #18353 > 00:16:28 debug #1067 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1afd4e23c3e0090a8985d6c4a91710b74e6244c06785d0e4a59d1e84fedadcb3/main.spi 00:16:28 verbose #18354 > > 00:16:28 verbose #18355 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18356 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18357 > > │ ### action_input │ 00:16:28 verbose #18358 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18359 > > 00:16:28 verbose #18360 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18361 > > inl action_input forall t u. (action : action (heap t) u) : rw_signal 00:16:28 verbose #18362 > > (optionm'.option' t) = 00:16:28 verbose #18363 > > !\\(action, $'"leptos::Action::input(&$0)"') 00:16:28 verbose #18364 > 00:16:28 debug #1068 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3c15dacb3c8c19c7fa75c56b928fa537a1a04e7ef96b1608bc01d23c83ffa648/main.spi 00:16:28 verbose #18365 > > 00:16:28 verbose #18366 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18367 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18368 > > │ ### action_pending │ 00:16:28 verbose #18369 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18370 > > 00:16:28 verbose #18371 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18372 > > inl action_pending forall t u. (action : action (heap t) u) : read_signal bool = 00:16:28 verbose #18373 > > !\\(action, $'"leptos::Action::pending(&$0)"') 00:16:28 verbose #18374 > 00:16:28 debug #1069 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3b02dc07278dfe4e3ea5ac7fab621bc500d3af914bc7616a646a4717bac42411/main.spi 00:16:28 verbose #18375 > > 00:16:28 verbose #18376 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:28 verbose #18377 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:28 verbose #18378 > > │ ### action_value │ 00:16:28 verbose #18379 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:28 verbose #18380 > > 00:16:28 verbose #18381 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:28 verbose #18382 > > inl action_value forall t u. (action : action (heap t) u) : rw_signal 00:16:28 verbose #18383 > > (optionm'.option' u) = 00:16:28 verbose #18384 > > !\\(action, $'"leptos::Action::value(&$0)"') 00:16:28 verbose #18385 > 00:16:28 debug #1070 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc85b419c24ff690aa6e434027bc80bfa3c9aa97b45648bf2418447881c0a837/main.spi 00:16:29 verbose #18386 > > 00:16:29 verbose #18387 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18388 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18389 > > │ ### use_context │ 00:16:29 verbose #18390 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18391 > > 00:16:29 verbose #18392 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18393 > > inl use_context forall t. () : optionm'.option' t = 00:16:29 verbose #18394 > > !\($'"leptos::use_context::<std::sync::Arc<`t>>()"') 00:16:29 verbose #18395 > 00:16:28 debug #1071 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/edc696be79aeb9c24eccbcff642fa39f0d89319d3b7f76e30281a72aac948a29/main.spi 00:16:29 verbose #18396 > > 00:16:29 verbose #18397 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18398 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18399 > > │ ### resource_loading │ 00:16:29 verbose #18400 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18401 > > 00:16:29 verbose #18402 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18403 > > inl resource_loading forall t u. (resource : resource t u) : signal bool = 00:16:29 verbose #18404 > > !\\(resource, $'$"leptos::Resource::loading(&$0)"') 00:16:29 verbose #18405 > 00:16:28 debug #1072 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4bb497b8f594afa44dab3397a2d395057b6f9d1a93fcaa39221948b7327d8831/main.spi 00:16:29 verbose #18406 > > 00:16:29 verbose #18407 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18408 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18409 > > │ ### resource_get │ 00:16:29 verbose #18410 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18411 > > 00:16:29 verbose #18412 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18413 > > inl resource_get forall t u. (resource : resource t u) : optionm'.option' u = 00:16:29 verbose #18414 > > !\\(resource, $'$"leptos::SignalGet::get(&$0)"') 00:16:29 verbose #18415 > 00:16:28 debug #1073 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a9bb3b032110a5a9f991ad3e4f5b2db63682a6cb7014f47968e6ed65d599c6b5/main.spi 00:16:29 verbose #18416 > > 00:16:29 verbose #18417 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18418 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18419 > > │ ### resource_with │ 00:16:29 verbose #18420 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18421 > > 00:16:29 verbose #18422 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18423 > > inl resource_with forall t u v. (resource : resource t u) (fn : optionm'.option' 00:16:29 verbose #18424 > > u -> v) : v = 00:16:29 verbose #18425 > > !\\((resource, fn), $'$"leptos::SignalWith::with(&$0, |x| $1(x.clone()))"') 00:16:29 verbose #18426 > 00:16:28 debug #1074 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74f309eac702fbb7e5ef0bab452821663c4d32dfa49af2f28247e0854d163472/main.spi 00:16:29 verbose #18427 > > 00:16:29 verbose #18428 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18429 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18430 > > │ ### create_effect │ 00:16:29 verbose #18431 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18432 > > 00:16:29 verbose #18433 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18434 > > inl create_effect (fn : () -> ()) : () = 00:16:29 verbose #18435 > > inl fn = fn |> rust.emit 00:16:29 verbose #18436 > > (!\($'"true; leptos::create_effect(move |_| { !fn(()) })"') : bool) |> 00:16:29 verbose #18437 > > ignore 00:16:29 verbose #18438 > 00:16:29 debug #1075 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c6abf757ca099cf43fc7b08939b6db3bbe55bd8060a582b0f62e66e08ac839ae/main.spi 00:16:29 verbose #18439 > > 00:16:29 verbose #18440 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18441 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18442 > > │ ### create_effect' │ 00:16:29 verbose #18443 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18444 > > 00:16:29 verbose #18445 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18446 > > inl create_effect' forall t. (fn : optionm'.option' t -> t) : () = 00:16:29 verbose #18447 > > (!\\(fn, $'"true; leptos::create_effect(move |x| { $0(x) })"') : bool) |> 00:16:29 verbose #18448 > > ignore 00:16:29 verbose #18449 > 00:16:29 debug #1076 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f13af27a179f02b1dda8f5ba33651034f2b288513bad9133f3a01c28fb620b45/main.spi 00:16:29 verbose #18450 > > 00:16:29 verbose #18451 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18452 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18453 > > │ ### interval_handle_clear │ 00:16:29 verbose #18454 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18455 > > 00:16:29 verbose #18456 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18457 > > inl interval_handle_clear (interval_handle : interval_handle) = 00:16:29 verbose #18458 > > (!\\(interval_handle, $'$"true; 00:16:29 verbose #18459 > > leptos::leptos_dom::helpers::IntervalHandle::clear(&$0)"') : bool) |> ignore 00:16:29 verbose #18460 > 00:16:29 debug #1077 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d9d2e9eb17be82058d62c422d32d7cc256ad439fd75c33fd576d6fcd2884011b/main.spi 00:16:29 verbose #18461 > > 00:16:29 verbose #18462 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18463 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18464 > > │ ### set_interval_with_handle │ 00:16:29 verbose #18465 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18466 > > 00:16:29 verbose #18467 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18468 > > inl set_interval_with_handle 00:16:29 verbose #18469 > > (fn : () -> ()) 00:16:29 verbose #18470 > > (interval_millis : date_time.duration) 00:16:29 verbose #18471 > > : resultm.result' interval_handle wasm.js_value 00:16:29 verbose #18472 > > = 00:16:29 verbose #18473 > > !\\((fn, interval_millis), $'$"leptos::set_interval_with_handle(move || 00:16:29 verbose #18474 > > $0(), $1)"') 00:16:29 verbose #18475 > 00:16:29 debug #1078 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f88a38a134c8de708ece2e24cdb4ffe207938de4689736c92642bb71ec896ffd/main.spi 00:16:29 verbose #18476 > > 00:16:29 verbose #18477 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:29 verbose #18478 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:29 verbose #18479 > > │ ### create_memo │ 00:16:29 verbose #18480 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:29 verbose #18481 > > 00:16:29 verbose #18482 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:29 verbose #18483 > > inl create_memo forall t. (fn : () -> t) : memo t = 00:16:29 verbose #18484 > > inl fn = fn |> rust.emit 00:16:29 verbose #18485 > > !\($'"leptos::create_memo(move |_| { !fn(()) })"') 00:16:29 verbose #18486 > 00:16:29 debug #1079 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9e6267e478b15c84e03c9bcf0f7928db67c1b38883ac40d4e4c70451fb0cab8/main.spi 00:16:30 verbose #18487 > > 00:16:30 verbose #18488 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18489 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18490 > > │ ### window │ 00:16:30 verbose #18491 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18492 > > 00:16:30 verbose #18493 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18494 > > let window () : wasm.window = 00:16:30 verbose #18495 > > !\($'"leptos::leptos_dom::window()"') 00:16:30 verbose #18496 > 00:16:29 debug #1080 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7214271e5228781be0ce7ced84ee297bba818370723392273514135984c20e9d/main.spi 00:16:30 verbose #18497 > > 00:16:30 verbose #18498 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18499 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18500 > > │ ### bool_prop │ 00:16:30 verbose #18501 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18502 > > 00:16:30 verbose #18503 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18504 > > inl bool_prop (prop : string) (fn : () -> bool) : string = 00:16:30 verbose #18505 > > inl fn = join fn 00:16:30 verbose #18506 > > $'"" + !prop + "={move || !fn()}"' 00:16:30 verbose #18507 > 00:16:29 debug #1081 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/37e0eb419c1dad8e19aeb482c60b9e9132a77ba7170c51af031e6b40f55ce8ba/main.spi 00:16:30 verbose #18508 > > 00:16:30 verbose #18509 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18510 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18511 > > │ ### concat_props │ 00:16:30 verbose #18512 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18513 > > 00:16:30 verbose #18514 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18515 > > inl concat_props props = 00:16:30 verbose #18516 > > ("", props) 00:16:30 verbose #18517 > > ||> listm.fold fun acc (x : string) => 00:16:30 verbose #18518 > > $'" " + !x + !acc + ""' 00:16:30 verbose #18519 > 00:16:29 debug #1082 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5e6fe842f65f9c30059fd362dc16dfb9854b8dfc5b8cde693d841ce7200fa6f6/main.spi 00:16:30 verbose #18520 > > 00:16:30 verbose #18521 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18522 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18523 > > │ ### move_to_fragment │ 00:16:30 verbose #18524 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18525 > > 00:16:30 verbose #18526 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18527 > > inl move_to_fragment fn = 00:16:30 verbose #18528 > > rust.move fn 00:16:30 verbose #18529 > > |> closure_to_fragment 00:16:30 verbose #18530 > 00:16:29 debug #1083 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c8894b8b53a203528ef655d9aef9331273eb59ab21b76d64bd88318f83d52f6b/main.spi 00:16:30 verbose #18531 > > 00:16:30 verbose #18532 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18533 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18534 > > │ ### tag_raw │ 00:16:30 verbose #18535 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18536 > > 00:16:30 verbose #18537 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18538 > > inl tag_raw tag props children = 00:16:30 verbose #18539 > > inl tag : string = tag 00:16:30 verbose #18540 > > inl props = props |> concat_props 00:16:30 verbose #18541 > > inl children = join children 00:16:30 verbose #18542 > > inl children = fun () => children |> move_to_fragment 00:16:30 verbose #18543 > > inl children : () -> fragment = join children 00:16:30 verbose #18544 > > $'"<" + !tag + " " + !props + ">{!children()}</" + !tag + ">"' 00:16:30 verbose #18545 > 00:16:30 debug #1084 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc854a34ef5a9475eda2e3b4b79e5ff73e0bb7b52b7c0f8a9c8626428ed87c84/main.spi 00:16:30 verbose #18546 > > 00:16:30 verbose #18547 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18548 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18549 > > │ ### tag_element │ 00:16:30 verbose #18550 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18551 > > 00:16:30 verbose #18552 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18553 > > inl tag_element tag props children : html_element _ = 00:16:30 verbose #18554 > > inl children = join children 00:16:30 verbose #18555 > > tag_raw tag props children 00:16:30 verbose #18556 > > |> macro_to_element 00:16:30 verbose #18557 > 00:16:30 debug #1085 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f48e7b026b112edac223cc04f0a9d76ae974154ab41e239fa84c409da579b653/main.spi 00:16:30 verbose #18558 > > 00:16:30 verbose #18559 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18560 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18561 > > │ ### tag_closed_raw │ 00:16:30 verbose #18562 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18563 > > 00:16:30 verbose #18564 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18565 > > inl tag_closed_raw tag props = 00:16:30 verbose #18566 > > inl tag : string = tag 00:16:30 verbose #18567 > > inl props = props |> concat_props 00:16:30 verbose #18568 > > $'"<" + !tag + " " + !props + " />"' 00:16:30 verbose #18569 > 00:16:30 debug #1086 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/db035d30e3de3a9f52df835c8d38e49a59d5a339e39f18a353407ea1c3804205/main.spi 00:16:30 verbose #18570 > > 00:16:30 verbose #18571 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18572 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18573 > > │ ### tag_closed │ 00:16:30 verbose #18574 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18575 > > 00:16:30 verbose #18576 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18577 > > inl tag_closed tag props : html_element _ = 00:16:30 verbose #18578 > > tag_closed_raw tag props 00:16:30 verbose #18579 > > |> macro_to_element 00:16:30 verbose #18580 > 00:16:30 debug #1087 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/17d1dc905fde230ed9ddba51e9e20670a89323ac9fc6a4b6064901c887a7d811/main.spi 00:16:30 verbose #18581 > > 00:16:30 verbose #18582 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18583 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18584 > > │ ### for │ 00:16:30 verbose #18585 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18586 > > 00:16:30 verbose #18587 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18588 > > inl for props : view = 00:16:30 verbose #18589 > > tag_closed_raw "leptos::For" props 00:16:30 verbose #18590 > > |> macro_to_view 00:16:30 verbose #18591 > 00:16:30 debug #1088 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86b6b8db93e61078b68be09a6f46c20442b0d49a42c1b3cc02cf5e3fa8cccf87/main.spi 00:16:30 verbose #18592 > > 00:16:30 verbose #18593 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:30 verbose #18594 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:30 verbose #18595 > > │ ### for │ 00:16:30 verbose #18596 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:30 verbose #18597 > > 00:16:30 verbose #18598 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:30 verbose #18599 > > inl for forall t u (signal : * -> *). 00:16:30 verbose #18600 > > (signal : signal (am'.vec t)) 00:16:30 verbose #18601 > > (key_fn : t -> u) 00:16:30 verbose #18602 > > (children' : t -> fragment) 00:16:30 verbose #18603 > > : view 00:16:30 verbose #18604 > > = 00:16:30 verbose #18605 > > inl signal = join signal 00:16:30 verbose #18606 > > signal |> typecheck_signal 00:16:30 verbose #18607 > > inl key_fn = join key_fn 00:16:30 verbose #18608 > > inl children' = join children' 00:16:30 verbose #18609 > > for [[ 00:16:30 verbose #18610 > > $'"each=!signal"' 00:16:30 verbose #18611 > > $'"key=move |x| !key_fn(x.to_owned())"' 00:16:30 verbose #18612 > > $'"let:x"' 00:16:30 verbose #18613 > > $'"children=move |x| !children'(x)"' 00:16:30 verbose #18614 > > ]] 00:16:30 verbose #18615 > 00:16:30 debug #1089 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/597206f433a7f2b57e0f92a031d6a558227fe0104ada051260ed204df0b80b0b/main.spi 00:16:31 verbose #18616 > > 00:16:31 verbose #18617 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18618 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18619 > > │ ### show │ 00:16:31 verbose #18620 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18621 > > 00:16:31 verbose #18622 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18623 > > inl show props : view = 00:16:31 verbose #18624 > > tag_closed_raw "leptos::Show" props 00:16:31 verbose #18625 > > |> macro_to_view 00:16:31 verbose #18626 > 00:16:30 debug #1090 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6e5e606f44fcf422cfdf693a81995d0685604bbd04308d80124288da5b4f73ff/main.spi 00:16:31 verbose #18627 > > 00:16:31 verbose #18628 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18629 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18630 > > │ ### show │ 00:16:31 verbose #18631 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18632 > > 00:16:31 verbose #18633 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18634 > > inl show (when_fn : () -> bool) (fallback : () -> view) (children : () -> 00:16:31 verbose #18635 > > fragment) : view = 00:16:31 verbose #18636 > > inl when_fn = join when_fn 00:16:31 verbose #18637 > > inl when_fn = join when_fn 00:16:31 verbose #18638 > > inl fallback = join fallback 00:16:31 verbose #18639 > > inl children = join children 00:16:31 verbose #18640 > > show [[ 00:16:31 verbose #18641 > > $'"when=move || !when_fn()"' 00:16:31 verbose #18642 > > $'"fallback=move || !fallback()"' 00:16:31 verbose #18643 > > $'"children=std::rc::Rc::new(move || !children())"' 00:16:31 verbose #18644 > > ]] 00:16:31 verbose #18645 > 00:16:30 debug #1091 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a044d795f4f08b71ecf8c381171e339a2d43343493ef7c75fdabf5b8314cc139/main.spi 00:16:31 verbose #18646 > > 00:16:31 verbose #18647 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18648 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18649 > > │ ### use_location │ 00:16:31 verbose #18650 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18651 > > 00:16:31 verbose #18652 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18653 > > inl use_location () : location = 00:16:31 verbose #18654 > > !\($'"leptos_router::use_location()"') 00:16:31 verbose #18655 > 00:16:30 debug #1092 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fd3c17e7f146cca35c39c70c5173b7caa9e42f3d8ee67881a9ec7a33547f039d/main.spi 00:16:31 verbose #18656 > > 00:16:31 verbose #18657 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18658 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18659 > > │ ### use_navigate │ 00:16:31 verbose #18660 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18661 > > 00:16:31 verbose #18662 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18663 > > inl use_navigate () : string -> () = 00:16:31 verbose #18664 > > inl navigate : threading.arc (rust.dyn' (rust.action_fn2 (rust.ref sm'.str) 00:16:31 verbose #18665 > > navigate_options)) = 00:16:31 verbose #18666 > > !\($'"std::sync::Arc::new(leptos_router::use_navigate())"') 00:16:31 verbose #18667 > > fun url => 00:16:31 verbose #18668 > > inl url = url |> sm'.as_str 00:16:31 verbose #18669 > > !\\(navigate, $'"$0(!url, Default::default())"') 00:16:31 verbose #18670 > 00:16:30 debug #1093 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e5f462ee7d65bb53556d6a81415d1fcd46f14734e3798c2270242f1a59842bc0/main.spi 00:16:31 verbose #18671 > > 00:16:31 verbose #18672 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18673 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18674 > > │ ### location_hash │ 00:16:31 verbose #18675 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18676 > > 00:16:31 verbose #18677 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18678 > > inl location_hash (location : location) : memo sm'.std_string = 00:16:31 verbose #18679 > > !\\(location, $'"$0.hash"') 00:16:31 verbose #18680 > 00:16:31 debug #1094 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/61143de96da41578c28dfe61a43b7b927710bb895a0b311d423cea3ef851e372/main.spi 00:16:31 verbose #18681 > > 00:16:31 verbose #18682 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18683 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18684 > > │ ### location_pathname │ 00:16:31 verbose #18685 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18686 > > 00:16:31 verbose #18687 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18688 > > inl location_pathname (location : location) : memo sm'.std_string = 00:16:31 verbose #18689 > > !\\(location, $'"$0.pathname"') 00:16:31 verbose #18690 > 00:16:31 debug #1095 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/79dde9ac993a58f3afa2396dc3aa2b5b29738339aab538020fc6b8b68b9eec37/main.spi 00:16:31 verbose #18691 > > 00:16:31 verbose #18692 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18693 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18694 > > │ ### location_search │ 00:16:31 verbose #18695 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18696 > > 00:16:31 verbose #18697 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18698 > > inl location_search (location : location) : memo sm'.std_string = 00:16:31 verbose #18699 > > !\\(location, $'"$0.search"') 00:16:31 verbose #18700 > 00:16:31 debug #1096 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a8f318cf4f9075fcdc23c5f8e43bcb08c2c52aba4ceee95306ef28089f0aa225/main.spi 00:16:31 verbose #18701 > > 00:16:31 verbose #18702 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18703 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18704 > > │ ### url_try_from │ 00:16:31 verbose #18705 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18706 > > 00:16:31 verbose #18707 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18708 > > inl url_try_from (s : rust.ref sm'.str) : resultm.result' url sm'.std_string = 00:16:31 verbose #18709 > > !\\(s, $'"leptos_router::Url::try_from($0)"') 00:16:31 verbose #18710 > 00:16:31 debug #1097 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2df64e9028849409d270440d62cbf4df4d30bb25ea2df9863aa7462a3616ba6a/main.spi 00:16:31 verbose #18711 > > 00:16:31 verbose #18712 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18713 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18714 > > │ ### url_pathname │ 00:16:31 verbose #18715 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18716 > > 00:16:31 verbose #18717 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18718 > > inl url_pathname (url : url) : sm'.std_string = 00:16:31 verbose #18719 > > !\\(url, $'"$0.pathname"') 00:16:31 verbose #18720 > 00:16:31 debug #1098 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd5af1cb54ce596bcb89b939a62ae84242308f7bdce56911a684fdaa43344697/main.spi 00:16:31 verbose #18721 > > 00:16:31 verbose #18722 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:31 verbose #18723 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:31 verbose #18724 > > │ ### use_url │ 00:16:31 verbose #18725 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:31 verbose #18726 > > 00:16:31 verbose #18727 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:31 verbose #18728 > > inl use_url () = 00:16:31 verbose #18729 > > inl location = use_location () 00:16:31 verbose #18730 > > 00:16:31 verbose #18731 > > create_memo fun () => 00:16:31 verbose #18732 > > inl url_pathname = location |> location_pathname |> signal_get |> 00:16:31 verbose #18733 > > sm'.from_std_string 00:16:31 verbose #18734 > > inl url_search = location |> location_search |> signal_get |> 00:16:31 verbose #18735 > > sm'.from_std_string 00:16:31 verbose #18736 > > inl url_search = 00:16:31 verbose #18737 > > if url_search = "" 00:16:31 verbose #18738 > > then "" 00:16:31 verbose #18739 > > else $'$"?{!url_search}"' 00:16:31 verbose #18740 > > url_pathname +. url_search 00:16:32 verbose #18741 > 00:16:31 debug #1099 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2fdf25888c42c37cb7c47dda678ed8e90523764c547c58b0b0a7a4d133a397a8/main.spi 00:16:32 verbose #18742 > > 00:16:32 verbose #18743 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:32 verbose #18744 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:32 verbose #18745 > > │ ### route │ 00:16:32 verbose #18746 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:32 verbose #18747 > > 00:16:32 verbose #18748 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:32 verbose #18749 > > inl route path view children : view = 00:16:32 verbose #18750 > > inl path = join path 00:16:32 verbose #18751 > > inl path = path |> sm'.to_std_string 00:16:32 verbose #18752 > > inl view : () -> fragment = join view 00:16:32 verbose #18753 > > inl children : () -> fragment = join children 00:16:32 verbose #18754 > > tag_closed_raw "leptos_router::Route" [[ 00:16:32 verbose #18755 > > $'"path=!path"' 00:16:32 verbose #18756 > > $'"view=move || !view()"' 00:16:32 verbose #18757 > > $'"children=Box::new(move || !children())"' 00:16:32 verbose #18758 > > ]] 00:16:32 verbose #18759 > > |> macro_to_view 00:16:32 verbose #18760 > 00:16:31 debug #1100 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a807715abd17ead579e3b7156786fb90b22b35f1dc10512df099bee78e6f57a2/main.spi 00:16:32 verbose #18761 > > 00:16:32 verbose #18762 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:32 verbose #18763 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:32 verbose #18764 > > │ ### router │ 00:16:32 verbose #18765 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:32 verbose #18766 > > 00:16:32 verbose #18767 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:32 verbose #18768 > > inl router children : view = 00:16:32 verbose #18769 > > inl children () = 00:16:32 verbose #18770 > > children () 00:16:32 verbose #18771 > > inl children : () -> fragment = join children 00:16:32 verbose #18772 > > tag_closed_raw "leptos_router::Router" [[ 00:16:32 verbose #18773 > > $'"children=Box::new(move || !children())"' 00:16:32 verbose #18774 > > ]] 00:16:32 verbose #18775 > > |> macro_to_view 00:16:32 verbose #18776 > 00:16:31 debug #1101 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/86f022fb4de6121d119c19159babd4efb2c5f79f22677820b27a7d1d8ced4f68/main.spi 00:16:32 verbose #18777 > > 00:16:32 verbose #18778 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:32 verbose #18779 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:32 verbose #18780 > > │ ### routes │ 00:16:32 verbose #18781 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:32 verbose #18782 > > 00:16:32 verbose #18783 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:32 verbose #18784 > > inl routes children : view = 00:16:32 verbose #18785 > > inl children : () -> fragment = children |> rust.emit 00:16:32 verbose #18786 > > tag_closed_raw "leptos_router::Routes" [[ 00:16:32 verbose #18787 > > $'"children=Box::new(move || !children(()))"' 00:16:32 verbose #18788 > > ]] 00:16:32 verbose #18789 > > |> macro_to_view 00:16:32 verbose #18790 > 00:16:31 debug #1102 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e0320eecc9aef9b2d65579169275528ca48f0a0b6e7dd82b2d0c5a3412882453/main.spi 00:16:32 verbose #18791 > > 00:16:32 verbose #18792 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:32 verbose #18793 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:32 verbose #18794 > > │ ### a' │ 00:16:32 verbose #18795 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:32 verbose #18796 > > 00:16:32 verbose #18797 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:32 verbose #18798 > > inl a' props children : _ a' = 00:16:32 verbose #18799 > > tag_element "a" props children 00:16:32 verbose #18800 > 00:16:31 debug #1103 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d6f426fb2413315186cb3166e3fe45d14fef45f0fc70a4c2aa9ce5463ad68360/main.spi 00:16:32 verbose #18801 > > 00:16:32 verbose #18802 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:32 verbose #18803 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:32 verbose #18804 > > │ ### button │ 00:16:32 verbose #18805 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:32 verbose #18806 > > 00:16:32 verbose #18807 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:32 verbose #18808 > > inl button props children : _ button = 00:16:32 verbose #18809 > > tag_element "button" props children 00:16:32 verbose #18810 > 00:16:32 debug #1104 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8adb514fb542a15939ef885bdac449d58b719a4064708ed1a4f1f7fb3efc5363/main.spi 00:16:33 verbose #18811 > > 00:16:33 verbose #18812 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18813 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18814 > > │ ### details │ 00:16:33 verbose #18815 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18816 > > 00:16:33 verbose #18817 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18818 > > inl details props children : _ details = 00:16:33 verbose #18819 > > tag_element "details" props children 00:16:33 verbose #18820 > 00:16:32 debug #1105 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/97acd889c105d6a24672a31a97cee266d5aa3d3bad901c7b3720feec45763e91/main.spi 00:16:33 verbose #18821 > > 00:16:33 verbose #18822 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18823 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18824 > > │ ### div │ 00:16:33 verbose #18825 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18826 > > 00:16:33 verbose #18827 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18828 > > inl div props children : _ div = 00:16:33 verbose #18829 > > tag_element "div" props children 00:16:33 verbose #18830 > 00:16:32 debug #1106 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2ee9fa97bb0745c13629851d43ceb9e8a24dbec80f4b80c4bc0d5b25d060ef30/main.spi 00:16:33 verbose #18831 > > 00:16:33 verbose #18832 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18833 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18834 > > │ ### footer │ 00:16:33 verbose #18835 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18836 > > 00:16:33 verbose #18837 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18838 > > inl footer props children : _ footer = 00:16:33 verbose #18839 > > tag_element "footer" props children 00:16:33 verbose #18840 > 00:16:32 debug #1107 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/85c18be09835dae08f526ea91b14965738852acb1e2bd302074ee0407958ec8b/main.spi 00:16:33 verbose #18841 > > 00:16:33 verbose #18842 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18843 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18844 > > │ ### header │ 00:16:33 verbose #18845 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18846 > > 00:16:33 verbose #18847 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18848 > > inl header props children : _ header = 00:16:33 verbose #18849 > > tag_element "header" props children 00:16:33 verbose #18850 > 00:16:32 debug #1108 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9d3de2c99eb7adcccf8d2dc6bc0d71890ce1dcfe7e47ef0f3bb60567f5b561cc/main.spi 00:16:33 verbose #18851 > > 00:16:33 verbose #18852 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18853 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18854 > > │ ### label │ 00:16:33 verbose #18855 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18856 > > 00:16:33 verbose #18857 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18858 > > inl label props children : _ label = 00:16:33 verbose #18859 > > tag_element "label" props children 00:16:33 verbose #18860 > 00:16:33 debug #1109 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6840bb0a95e879c9e2b40de3822dd8ebdee2971b25af5d239e2d8251dfbda67c/main.spi 00:16:33 verbose #18861 > > 00:16:33 verbose #18862 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18863 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18864 > > │ ### main │ 00:16:33 verbose #18865 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18866 > > 00:16:33 verbose #18867 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18868 > > inl main props children : _ main = 00:16:33 verbose #18869 > > tag_element "main" props children 00:16:33 verbose #18870 > > 00:16:33 verbose #18871 > > inl main' () = () 00:16:33 verbose #18872 > 00:16:33 debug #1110 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6bcab5cd6640a232d9436f45eb0974f4b6fdbc7dc46c96663e2fbd5af56b2908/main.spi 00:16:33 verbose #18873 > > 00:16:33 verbose #18874 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18875 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18876 > > │ ### nav │ 00:16:33 verbose #18877 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18878 > > 00:16:33 verbose #18879 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18880 > > inl nav props children : _ nav = 00:16:33 verbose #18881 > > tag_element "nav" props children 00:16:33 verbose #18882 > 00:16:33 debug #1111 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/474da9ad23be97f4cec91160d1d7acfca6de38c4a6d17dd74c0e0c3dbab1aa5e/main.spi 00:16:33 verbose #18883 > > 00:16:33 verbose #18884 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18885 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18886 > > │ ### option' │ 00:16:33 verbose #18887 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18888 > > 00:16:33 verbose #18889 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18890 > > inl option' props children : _ option' = 00:16:33 verbose #18891 > > tag_element "option" props children 00:16:33 verbose #18892 > 00:16:33 debug #1112 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d06b8bfd18049ff84ad68878392fc1d145a074ab6d95175417fc84f4a26e5125/main.spi 00:16:33 verbose #18893 > > 00:16:33 verbose #18894 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:33 verbose #18895 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:33 verbose #18896 > > │ ### option' │ 00:16:33 verbose #18897 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:33 verbose #18898 > > 00:16:33 verbose #18899 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:33 verbose #18900 > > inl option' select children : _ option' = 00:16:33 verbose #18901 > > inl select : () -> bool = join select 00:16:33 verbose #18902 > > option' [[ 00:16:33 verbose #18903 > > $'"select=!select()"' 00:16:33 verbose #18904 > > 00:16:33 verbose #18905 > > ]] fun () => 00:16:33 verbose #18906 > > children |> new_text |> text_to_fragment 00:16:33 verbose #18907 > 00:16:33 debug #1113 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fd33b6d7149d1419d19d72045a0c50c856c0adeb304667701cce8123bf03900e/main.spi 00:16:34 verbose #18908 > > 00:16:34 verbose #18909 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18910 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18911 > > │ ### pre │ 00:16:34 verbose #18912 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18913 > > 00:16:34 verbose #18914 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18915 > > inl pre props children : _ pre = 00:16:34 verbose #18916 > > tag_element "pre" props children 00:16:34 verbose #18917 > 00:16:33 debug #1114 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fbd6d3c4d730c20876f23a52391ce1b3469a03f71e045c82de9acae8c6c78fb9/main.spi 00:16:34 verbose #18918 > > 00:16:34 verbose #18919 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18920 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18921 > > │ ### select │ 00:16:34 verbose #18922 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18923 > > 00:16:34 verbose #18924 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18925 > > inl select props children : _ select = 00:16:34 verbose #18926 > > tag_element "select" props children 00:16:34 verbose #18927 > 00:16:33 debug #1115 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/10ee154b30adcc0cff7182139793fe7ab94605e4ed1abfb05b2ada3c3a01bba3/main.spi 00:16:34 verbose #18928 > > 00:16:34 verbose #18929 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18930 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18931 > > │ ### span │ 00:16:34 verbose #18932 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18933 > > 00:16:34 verbose #18934 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18935 > > inl span props children : _ span = 00:16:34 verbose #18936 > > tag_element "span" props children 00:16:34 verbose #18937 > 00:16:33 debug #1116 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5935c7aba563c0c4eb92b14bec4bcde9880480383f6ebefb8a1e7563e9b69cc1/main.spi 00:16:34 verbose #18938 > > 00:16:34 verbose #18939 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18940 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18941 > > │ ### summary │ 00:16:34 verbose #18942 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18943 > > 00:16:34 verbose #18944 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18945 > > inl summary props children : _ summary = 00:16:34 verbose #18946 > > tag_element "summary" props children 00:16:34 verbose #18947 > 00:16:33 debug #1117 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a9f3262c855601487c398365609a9fa78b0e83049e2c1cb9048299a800345964/main.spi 00:16:34 verbose #18948 > > 00:16:34 verbose #18949 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18950 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18951 > > │ ### table │ 00:16:34 verbose #18952 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18953 > > 00:16:34 verbose #18954 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18955 > > inl table props children : _ table = 00:16:34 verbose #18956 > > tag_element "table" props children 00:16:34 verbose #18957 > 00:16:34 debug #1118 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/820f236264079d9590295caae7648535f8e1cd55ec925f736d1be0b4babf6a15/main.spi 00:16:34 verbose #18958 > > 00:16:34 verbose #18959 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18960 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18961 > > │ ### thead │ 00:16:34 verbose #18962 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18963 > > 00:16:34 verbose #18964 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18965 > > inl thead props children : _ thead = 00:16:34 verbose #18966 > > tag_element "thead" props children 00:16:34 verbose #18967 > 00:16:34 debug #1119 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8b8595b7f4a197c81492dd3a35bbb31a1a7b2c82290a0a7581a6dbd54ae22da6/main.spi 00:16:34 verbose #18968 > > 00:16:34 verbose #18969 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18970 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18971 > > │ ### tbody │ 00:16:34 verbose #18972 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18973 > > 00:16:34 verbose #18974 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18975 > > inl tbody props children : _ tbody = 00:16:34 verbose #18976 > > tag_element "tbody" props children 00:16:34 verbose #18977 > 00:16:34 debug #1120 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6006f4c90df8ea89cd0b57239eec5c3c5f6416eabdd2512b64f69fee8b52e17e/main.spi 00:16:34 verbose #18978 > > 00:16:34 verbose #18979 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18980 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18981 > > │ ### tr │ 00:16:34 verbose #18982 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18983 > > 00:16:34 verbose #18984 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18985 > > inl tr props children : _ tr = 00:16:34 verbose #18986 > > tag_element "tr" props children 00:16:34 verbose #18987 > 00:16:34 debug #1121 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d715c9b41e97b984de8d0393da2a2ac8d307d26f6000070c1226b2f0a95e6a22/main.spi 00:16:34 verbose #18988 > > 00:16:34 verbose #18989 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:34 verbose #18990 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:34 verbose #18991 > > │ ### th │ 00:16:34 verbose #18992 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:34 verbose #18993 > > 00:16:34 verbose #18994 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:34 verbose #18995 > > inl th props children : _ th = 00:16:34 verbose #18996 > > tag_element "th" props children 00:16:34 verbose #18997 > 00:16:34 debug #1122 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0d9e810078153729673a2a5ea6bd5daa555eef51c805ecada79a91dc8d5d2d5d/main.spi 00:16:35 verbose #18998 > > 00:16:35 verbose #18999 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19000 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19001 > > │ ### td │ 00:16:35 verbose #19002 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19003 > > 00:16:35 verbose #19004 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19005 > > inl td props children : _ td = 00:16:35 verbose #19006 > > tag_element "td" props children 00:16:35 verbose #19007 > 00:16:34 debug #1123 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f396c506b1062f427a4c5aa6400dba8f36782d8f1b2f09378715ef5405ecfd90/main.spi 00:16:35 verbose #19008 > > 00:16:35 verbose #19009 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19010 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19011 > > │ ### svg │ 00:16:35 verbose #19012 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19013 > > 00:16:35 verbose #19014 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19015 > > inl svg props children : _ svg = 00:16:35 verbose #19016 > > tag_element "svg" props children 00:16:35 verbose #19017 > 00:16:34 debug #1124 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/17ed669e6215c660552461885eda5f09126dd2851b2934d952379303a178a9a8/main.spi 00:16:35 verbose #19018 > > 00:16:35 verbose #19019 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19020 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19021 > > │ ### path │ 00:16:35 verbose #19022 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19023 > > 00:16:35 verbose #19024 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19025 > > inl path props : _ path = 00:16:35 verbose #19026 > > tag_element "path" props (fun () => ;[[]] |> view_array_to_fragment) 00:16:35 verbose #19027 > 00:16:34 debug #1125 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/def444023f23479467bf1e377cb21ff6b89c6acf6c29182935de39719875212a/main.spi 00:16:35 verbose #19028 > > 00:16:35 verbose #19029 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19030 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19031 > > │ ### circle │ 00:16:35 verbose #19032 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19033 > > 00:16:35 verbose #19034 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19035 > > inl circle props : _ circle = 00:16:35 verbose #19036 > > tag_element "circle" props (fun () => ;[[]] |> view_array_to_fragment) 00:16:35 verbose #19037 > 00:16:34 debug #1126 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/556dbd25692ae546244dc21ae25ab75f663886a64a86553f9b3ab2e7d365b21b/main.spi 00:16:35 verbose #19038 > > 00:16:35 verbose #19039 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19040 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19041 > > │ ### rect │ 00:16:35 verbose #19042 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19043 > > 00:16:35 verbose #19044 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19045 > > inl rect props children : _ rect = 00:16:35 verbose #19046 > > tag_element "rect" props children 00:16:35 verbose #19047 > 00:16:35 debug #1127 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/48bcac1c3ea4b3cafb3d3cb5486d93bee4678aa6aa49504edaf9f7819b257b40/main.spi 00:16:35 verbose #19048 > > 00:16:35 verbose #19049 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19050 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19051 > > │ ### animate │ 00:16:35 verbose #19052 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19053 > > 00:16:35 verbose #19054 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19055 > > inl animate props : _ animate = 00:16:35 verbose #19056 > > tag_element "animate" props (fun () => ;[[]] |> view_array_to_fragment) 00:16:35 verbose #19057 > 00:16:35 debug #1128 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e58b0d09cf475a2b0f59bf96adbab78898d44cee5e39947b3193695a4fe1a641/main.spi 00:16:35 verbose #19058 > > 00:16:35 verbose #19059 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19060 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19061 > > │ ### input │ 00:16:35 verbose #19062 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19063 > > 00:16:35 verbose #19064 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19065 > > inl input props : _ input = 00:16:35 verbose #19066 > > tag_closed "input" props 00:16:35 verbose #19067 > 00:16:35 debug #1129 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/80c0e1ba83b4062b1e9df639fc7a04b5c06a32be768e13f44efbce530a5a7495/main.spi 00:16:35 verbose #19068 > > 00:16:35 verbose #19069 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19070 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19071 > > │ ### dd │ 00:16:35 verbose #19072 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19073 > > 00:16:35 verbose #19074 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19075 > > inl dd props children : _ dd = 00:16:35 verbose #19076 > > tag_element "dd" props children 00:16:35 verbose #19077 > 00:16:35 debug #1130 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/42869fe30934d78894ed0a6e8d7c266188717c3886cb6c5a26007bc26deaf9c6/main.spi 00:16:35 verbose #19078 > > 00:16:35 verbose #19079 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:35 verbose #19080 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:35 verbose #19081 > > │ ### dl │ 00:16:35 verbose #19082 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:35 verbose #19083 > > 00:16:35 verbose #19084 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:35 verbose #19085 > > inl dl props children : _ dl = 00:16:35 verbose #19086 > > tag_element "dl" props children 00:16:35 verbose #19087 > 00:16:35 debug #1131 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d6bbd435ee65a7cae6ce0d5e6d628839e82102b92fc1b06d05ec357d2c940385/main.spi 00:16:36 verbose #19088 > > 00:16:36 verbose #19089 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:36 verbose #19090 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:36 verbose #19091 > > │ ### dt │ 00:16:36 verbose #19092 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:36 verbose #19093 > > 00:16:36 verbose #19094 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:36 verbose #19095 > > inl dt props children : _ dt = 00:16:36 verbose #19096 > > tag_element "dt" props children 00:16:36 verbose #19097 > 00:16:35 debug #1132 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b6eef26e330eaf3ffba956c4ade10223cbed5d0cc7ed6a24a8a39aee8733727/main.spi 00:16:36 verbose #19098 > 00:00:24 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 123868 } 00:16:36 verbose #19099 > 00:00:24 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:36 verbose #19100 > 00:00:25 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.ipynb to html 00:16:36 verbose #19101 > 00:00:25 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:16:36 verbose #19102 > 00:00:25 verbose #7 ! validate(nb) 00:16:37 verbose #19103 > 00:00:25 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:16:37 verbose #19104 > 00:00:25 verbose #9 ! return _pygments_highlight( 00:16:38 verbose #19105 > 00:00:26 verbose #10 ! [NbConvertApp] Writing 594131 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.html 00:16:38 verbose #19106 > 00:00:26 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 910 } 00:16:38 verbose #19107 > 00:00:26 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 910 } 00:16:38 verbose #19108 > 00:00:26 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/leptos/leptos.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:38 verbose #19109 > 00:00:27 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:16:38 verbose #19110 > 00:00:27 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:16:38 verbose #19111 > 00:00:27 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 124837 } 00:16:38 debug #19112 runtime.execute_with_options_async / { exit_code = 0; output_length = 131999 } 00:16:38 debug #25 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path leptos/leptos.dib --retries 3 00:16:38 debug #19113 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path util.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:38 verbose #19114 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "util.dib", "--retries", "3"])) } 00:16:38 verbose #19115 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:16:40 verbose #19116 > > 00:16:40 verbose #19117 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:40 verbose #19118 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:40 verbose #19119 > > │ # util │ 00:16:40 verbose #19120 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:42 verbose #19121 > > 00:16:42 verbose #19122 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:42 verbose #19123 > > //// test 00:16:42 verbose #19124 > > 00:16:42 verbose #19125 > > open testing 00:16:43 verbose #19126 > 00:16:42 debug #1133 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:16:43 verbose #19127 > > 00:16:43 verbose #19128 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:43 verbose #19129 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:43 verbose #19130 > > │ ### ski │ 00:16:43 verbose #19131 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:43 verbose #19132 > > 00:16:43 verbose #19133 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:43 verbose #19134 > > union rec ski = 00:16:43 verbose #19135 > > | I 00:16:43 verbose #19136 > > | K 00:16:43 verbose #19137 > > | S 00:16:43 verbose #19138 > > | App : ski * ski 00:16:43 verbose #19139 > > 00:16:43 verbose #19140 > > inl rec eval ski = 00:16:43 verbose #19141 > > match ski with 00:16:43 verbose #19142 > > | App (App (K, x), y) => x |> eval 00:16:43 verbose #19143 > > | App (App (App (S, x), y), z) => App (App (x, z), App (y, z)) |> eval 00:16:43 verbose #19144 > > | App (I, x) => x |> eval 00:16:43 verbose #19145 > > | App (K, x) => App (K, eval x) 00:16:43 verbose #19146 > > | App (f, x) => App (eval f, x) |> eval 00:16:43 verbose #19147 > > | _ => ski 00:16:43 verbose #19148 > 00:16:42 debug #1134 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/55f68dd739e62774e446e048bfbc0da20505423faa7837ca275a45e00b7aa12a/main.spi 00:16:43 verbose #19149 > > 00:16:43 verbose #19150 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:43 verbose #19151 > > //// test 00:16:43 verbose #19152 > > 00:16:43 verbose #19153 > > eval I 00:16:43 verbose #19154 > > |> _assert_eq I 00:16:43 verbose #19155 > > 00:16:43 verbose #19156 > > App (I, I) 00:16:43 verbose #19157 > > |> eval 00:16:43 verbose #19158 > > |> _assert_eq I 00:16:43 verbose #19159 > > 00:16:43 verbose #19160 > > App (I, App (I, I)) 00:16:43 verbose #19161 > > |> eval 00:16:43 verbose #19162 > > |> _assert_eq I 00:16:43 verbose #19163 > > 00:16:43 verbose #19164 > > App (App (I, I), I) 00:16:43 verbose #19165 > > |> eval 00:16:43 verbose #19166 > > |> _assert_eq I 00:16:43 verbose #19167 > > 00:16:43 verbose #19168 > > App (App (App (I, I), I), I) 00:16:43 verbose #19169 > > |> eval 00:16:43 verbose #19170 > > |> _assert_eq I 00:16:43 verbose #19171 > > 00:16:43 verbose #19172 > > eval K 00:16:43 verbose #19173 > > |> _assert_eq K 00:16:43 verbose #19174 > > 00:16:43 verbose #19175 > > App (K, I) 00:16:43 verbose #19176 > > |> eval 00:16:43 verbose #19177 > > |> _assert_eq (App (K, I)) 00:16:43 verbose #19178 > > 00:16:43 verbose #19179 > > App (K, K) 00:16:43 verbose #19180 > > |> eval 00:16:43 verbose #19181 > > |> _assert_eq (App (K, K)) 00:16:43 verbose #19182 > > 00:16:43 verbose #19183 > > App (App (K, I), K) 00:16:43 verbose #19184 > > |> eval 00:16:43 verbose #19185 > > |> _assert_eq I 00:16:43 verbose #19186 > > 00:16:43 verbose #19187 > > App (App (K, K), I) 00:16:43 verbose #19188 > > |> eval 00:16:43 verbose #19189 > > |> _assert_eq K 00:16:43 verbose #19190 > > 00:16:43 verbose #19191 > > App (App (App (App (K, K), I), S), K) 00:16:43 verbose #19192 > > |> eval 00:16:43 verbose #19193 > > |> _assert_eq S 00:16:43 verbose #19194 > > 00:16:43 verbose #19195 > > eval S 00:16:43 verbose #19196 > > |> _assert_eq S 00:16:43 verbose #19197 > > 00:16:43 verbose #19198 > > App (App (App (S, I), I), I) 00:16:43 verbose #19199 > > |> eval 00:16:43 verbose #19200 > > |> _assert_eq I 00:16:43 verbose #19201 > > 00:16:43 verbose #19202 > > App (App (App (S, K), K), I) 00:16:43 verbose #19203 > > |> eval 00:16:43 verbose #19204 > > |> _assert_eq I 00:16:43 verbose #19205 > > 00:16:43 verbose #19206 > > App (App (App (S, K), I), (App (App (K, I), S))) 00:16:43 verbose #19207 > > |> eval 00:16:43 verbose #19208 > > |> _assert_eq I 00:16:43 verbose #19209 > > 00:16:43 verbose #19210 > > App (App (K, S), App (I, App (App (App (S, K), S), I))) 00:16:43 verbose #19211 > > |> eval 00:16:43 verbose #19212 > > |> _assert_eq S 00:16:43 verbose #19213 > > 00:16:43 verbose #19214 > > App (App (App (S, K), I), K) 00:16:43 verbose #19215 > > |> eval 00:16:43 verbose #19216 > > |> _assert_eq K 00:16:43 verbose #19217 > 00:16:43 debug #1135 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e6eefee28c7d2dded6638cfb752cc7777423c10b0b777a8ffdcf84642865b015/main.spi 00:16:44 verbose #19218 > > 00:16:44 verbose #19219 > > ╭─[ 887.82ms - stdout ]────────────────────────────────────────────────────────╮ 00:16:44 verbose #19220 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19221 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19222 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19223 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19224 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19225 > > │ assert_eq / actual: UH0_1 / expected: UH0_1 │ 00:16:44 verbose #19226 > > │ assert_eq / actual: UH0_3 (UH0_1, UH0_0) / expected: UH0_3 (UH0_1, UH0_0) │ 00:16:44 verbose #19227 > > │ assert_eq / actual: UH0_3 (UH0_1, UH0_1) / expected: UH0_3 (UH0_1, UH0_1) │ 00:16:44 verbose #19228 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19229 > > │ assert_eq / actual: UH0_1 / expected: UH0_1 │ 00:16:44 verbose #19230 > > │ assert_eq / actual: UH0_2 / expected: UH0_2 │ 00:16:44 verbose #19231 > > │ assert_eq / actual: UH0_2 / expected: UH0_2 │ 00:16:44 verbose #19232 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19233 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19234 > > │ assert_eq / actual: UH0_0 / expected: UH0_0 │ 00:16:44 verbose #19235 > > │ assert_eq / actual: UH0_2 / expected: UH0_2 │ 00:16:44 verbose #19236 > > │ assert_eq / actual: UH0_1 / expected: UH0_1 │ 00:16:44 verbose #19237 > > │ │ 00:16:44 verbose #19238 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:44 verbose #19239 > 00:00:05 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 4395 } 00:16:44 verbose #19240 > 00:00:05 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:45 verbose #19241 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/util.dib.ipynb to html 00:16:45 verbose #19242 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:16:45 verbose #19243 > 00:00:06 verbose #7 ! validate(nb) 00:16:45 verbose #19244 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:16:45 verbose #19245 > 00:00:06 verbose #9 ! return _pygments_highlight( 00:16:45 verbose #19246 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 284296 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/util.dib.html 00:16:45 verbose #19247 > 00:00:06 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 892 } 00:16:45 verbose #19248 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 892 } 00:16:45 verbose #19249 > 00:00:06 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/util.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:46 verbose #19250 > 00:00:07 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:16:46 verbose #19251 > 00:00:07 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:16:46 verbose #19252 > 00:00:07 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 5346 } 00:16:46 debug #19253 runtime.execute_with_options_async / { exit_code = 0; output_length = 8349 } 00:16:46 debug #26 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path util.dib --retries 3 00:16:46 debug #19254 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path platform.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:46 verbose #19255 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "platform.dib", "--retries", "3"])) } 00:16:46 verbose #19256 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:16:47 verbose #19257 > > 00:16:47 verbose #19258 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:47 verbose #19259 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:47 verbose #19260 > > │ # platform │ 00:16:47 verbose #19261 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:49 verbose #19262 > > 00:16:49 verbose #19263 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:49 verbose #19264 > > open rust.rust_operators 00:16:50 verbose #19265 > 00:16:49 debug #1136 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40daf77a2acec5ac15e1cf56631d4105f4f565759117828320eb559038e65549/main.spi 00:16:50 verbose #19266 > > 00:16:50 verbose #19267 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:50 verbose #19268 > > //// test 00:16:50 verbose #19269 > > 00:16:50 verbose #19270 > > open testing 00:16:50 verbose #19271 > 00:16:50 debug #1137 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc76f360fd664f6988ee1c6bc1dc43132802e524aab226e74a21329193e410ca/main.spi 00:16:50 verbose #19272 > > 00:16:50 verbose #19273 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19274 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19275 > > │ ## fsharp │ 00:16:50 verbose #19276 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19277 > > 00:16:50 verbose #19278 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19279 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19280 > > │ ### os_platform │ 00:16:50 verbose #19281 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19282 > > 00:16:50 verbose #19283 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:50 verbose #19284 > > nominal os_platform' = $'System.Runtime.InteropServices.OSPlatform' 00:16:50 verbose #19285 > > 00:16:50 verbose #19286 > > union os_platform = 00:16:50 verbose #19287 > > | FreeBSD 00:16:50 verbose #19288 > > | Linux 00:16:50 verbose #19289 > > | OSX 00:16:50 verbose #19290 > > | Windows 00:16:50 verbose #19291 > > 00:16:50 verbose #19292 > > inl os_platform = function 00:16:50 verbose #19293 > > | FreeBSD => $'`os_platform'.FreeBSD' : os_platform' 00:16:50 verbose #19294 > > | Linux => $'`os_platform'.Linux' : os_platform' 00:16:50 verbose #19295 > > | OSX => $'`os_platform'.OSX' : os_platform' 00:16:50 verbose #19296 > > | Windows => $'`os_platform'.Windows' : os_platform' 00:16:50 verbose #19297 > 00:16:50 debug #1138 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7c32de1c5bf9d34fabf6a9721eb9d8b96096707a5541684526fc2bba35311411/main.spi 00:16:50 verbose #19298 > > 00:16:50 verbose #19299 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19300 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19301 > > │ ### run_platform │ 00:16:50 verbose #19302 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19303 > > 00:16:50 verbose #19304 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:50 verbose #19305 > > inl run_platform forall t. (fn : os_platform -> (() -> t)) : t = 00:16:50 verbose #19306 > > inl result = dyn true 00:16:50 verbose #19307 > > $'let mutable _!result : `t option = None ' 00:16:50 verbose #19308 > > $'\n#if _FREEBSD' 00:16:50 verbose #19309 > > fn FreeBSD () |> emit_unit 00:16:50 verbose #19310 > > $'#endif\n#if _LINUX' 00:16:50 verbose #19311 > > fn Linux () |> emit_unit 00:16:50 verbose #19312 > > $'#endif\n#if _OSX' 00:16:50 verbose #19313 > > fn OSX () |> emit_unit 00:16:50 verbose #19314 > > $'#endif\n#if _WINDOWS' 00:16:50 verbose #19315 > > fn Windows () |> emit_unit 00:16:50 verbose #19316 > > $'#endif' 00:16:50 verbose #19317 > > $'|> fun x -> _!result <- Some x' 00:16:50 verbose #19318 > > $'match _!result with Some x -> x | None -> failwith "runtime.run_platform 00:16:50 verbose #19319 > > _!result=None"' 00:16:50 verbose #19320 > 00:16:50 debug #1139 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/47bf326727728f93f58c822e221362c18a6dc603580a4941b95038d6da0a638c/main.spi 00:16:50 verbose #19321 > > 00:16:50 verbose #19322 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19323 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19324 > > │ ### is_os_platform │ 00:16:50 verbose #19325 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19326 > > 00:16:50 verbose #19327 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:50 verbose #19328 > > inl is_os_platform (x : os_platform') : bool = 00:16:50 verbose #19329 > > x |> $'System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform' 00:16:50 verbose #19330 > 00:16:50 debug #1140 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7769c8cab742adfe4b3e91539edebb835b5feb0cd2336fa895e6d2db985656f4/main.spi 00:16:50 verbose #19331 > > 00:16:50 verbose #19332 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19333 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19334 > > │ ### is_windows' │ 00:16:50 verbose #19335 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19336 > > 00:16:50 verbose #19337 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:50 verbose #19338 > > inl is_windows' () : bool = 00:16:50 verbose #19339 > > run_platform function 00:16:50 verbose #19340 > > | Windows => fun () => true 00:16:50 verbose #19341 > > | _ => fun () => false 00:16:50 verbose #19342 > 00:16:50 debug #1141 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/417428c076a7cc10300e2f77ce5613b90be2cabd34c9bd51a0b3d7c8c197c13f/main.spi 00:16:50 verbose #19343 > > 00:16:50 verbose #19344 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19345 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19346 > > │ ## platform │ 00:16:50 verbose #19347 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19348 > > 00:16:50 verbose #19349 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:50 verbose #19350 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:50 verbose #19351 > > │ ### is_windows │ 00:16:50 verbose #19352 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:50 verbose #19353 > > 00:16:50 verbose #19354 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:50 verbose #19355 > > inl is_windows () : bool = 00:16:50 verbose #19356 > > run_target function 00:16:50 verbose #19357 > > | Rust _ => fun () => 00:16:50 verbose #19358 > > !\($'"cfg\!(windows)"') 00:16:50 verbose #19359 > > | Fsharp _ => fun () => 00:16:50 verbose #19360 > > Windows |> os_platform |> is_os_platform 00:16:50 verbose #19361 > > | target => fun () => failwith $'$"platform.is_windows / target: 00:16:50 verbose #19362 > > {!target}"' 00:16:51 verbose #19363 > 00:16:50 debug #1142 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0613ba42d20a635d1d0fb75744e0afda48d18f0c41e727e00edb4cc4dd459413/main.spi 00:16:51 verbose #19364 > > 00:16:51 verbose #19365 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:51 verbose #19366 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:51 verbose #19367 > > │ ### get_executable_suffix │ 00:16:51 verbose #19368 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:51 verbose #19369 > > 00:16:51 verbose #19370 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:51 verbose #19371 > > inl get_executable_suffix () = 00:16:51 verbose #19372 > > if is_windows () 00:16:51 verbose #19373 > > then ".exe" 00:16:51 verbose #19374 > > else "" 00:16:51 verbose #19375 > 00:16:50 debug #1143 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/37afbc76c269c0c7e4da4356dfb0e348d6d029b435d5e8fb5d366df470fd4680/main.spi 00:16:51 verbose #19376 > > 00:16:51 verbose #19377 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:51 verbose #19378 > > //// test 00:16:51 verbose #19379 > > 00:16:51 verbose #19380 > > get_executable_suffix () 00:16:51 verbose #19381 > 00:16:50 debug #1144 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e4533ec8b16727055ea84ea1750ef3c83fa180554601dbb8afaeff8828f717c2/main.spi 00:16:51 verbose #19382 > > 00:16:51 verbose #19383 > > 00:16:51 verbose #19384 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:51 verbose #19385 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:51 verbose #19386 > > │ ## main │ 00:16:51 verbose #19387 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:51 verbose #19388 > > 00:16:51 verbose #19389 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:51 verbose #19390 > > inl main () = 00:16:51 verbose #19391 > > $'let is_windows () = !is_windows ()' : () 00:16:51 verbose #19392 > > $'let get_executable_suffix () = !get_executable_suffix ()' : () 00:16:52 verbose #19393 > 00:16:51 debug #1145 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0d59b38ab9dcec7ead42652d7326bd3a4473fe477c742ead61c3801b48061706/main.spi 00:16:52 verbose #19394 > 00:00:06 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 6685 } 00:16:52 verbose #19395 > 00:00:06 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:52 verbose #19396 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.ipynb to html 00:16:52 verbose #19397 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:16:52 verbose #19398 > 00:00:06 verbose #7 ! validate(nb) 00:16:53 verbose #19399 > 00:00:07 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:16:53 verbose #19400 > 00:00:07 verbose #9 ! return _pygments_highlight( 00:16:53 verbose #19401 > 00:00:07 verbose #10 ! [NbConvertApp] Writing 288024 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.html 00:16:53 verbose #19402 > 00:00:07 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 900 } 00:16:53 verbose #19403 > 00:00:07 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 900 } 00:16:53 verbose #19404 > 00:00:07 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/platform.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:53 verbose #19405 > 00:00:07 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:16:53 verbose #19406 > 00:00:07 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:16:53 verbose #19407 > 00:00:07 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 7644 } 00:16:53 debug #19408 runtime.execute_with_options_async / { exit_code = 0; output_length = 10697 } 00:16:53 debug #27 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path platform.dib --retries 3 00:16:53 debug #19409 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path stream.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:16:53 verbose #19410 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "stream.dib", "--retries", "3"])) } 00:16:53 verbose #19411 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:16:55 verbose #19412 > > 00:16:55 verbose #19413 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:55 verbose #19414 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:55 verbose #19415 > > │ # stream │ 00:16:55 verbose #19416 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:57 verbose #19417 > > 00:16:57 verbose #19418 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:57 verbose #19419 > > open rust.rust_operators 00:16:58 verbose #19420 > 00:16:57 debug #1146 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40daf77a2acec5ac15e1cf56631d4105f4f565759117828320eb559038e65549/main.spi 00:16:58 verbose #19421 > > 00:16:58 verbose #19422 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:58 verbose #19423 > > //// test 00:16:58 verbose #19424 > > 00:16:58 verbose #19425 > > open testing 00:16:58 verbose #19426 > 00:16:58 debug #1147 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc76f360fd664f6988ee1c6bc1dc43132802e524aab226e74a21329193e410ca/main.spi 00:16:58 verbose #19427 > > 00:16:58 verbose #19428 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:58 verbose #19429 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:58 verbose #19430 > > │ ## stream │ 00:16:58 verbose #19431 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:58 verbose #19432 > > 00:16:58 verbose #19433 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:58 verbose #19434 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:58 verbose #19435 > > │ ### stream │ 00:16:58 verbose #19436 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:58 verbose #19437 > > 00:16:58 verbose #19438 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:58 verbose #19439 > > union rec stream t = 00:16:58 verbose #19440 > > | StreamCons : t * (() -> stream t) 00:16:58 verbose #19441 > > | StreamNil 00:16:58 verbose #19442 > 00:16:58 debug #1148 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/76946fbb1269d635c3470ecb54440059bca3f8043cc093603e66044e4380a1ef/main.spi 00:16:58 verbose #19443 > > 00:16:58 verbose #19444 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:58 verbose #19445 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:58 verbose #19446 > > │ ### fold │ 00:16:58 verbose #19447 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:58 verbose #19448 > > 00:16:58 verbose #19449 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:58 verbose #19450 > > inl fold fn init s = 00:16:58 verbose #19451 > > inl rec body acc = function 00:16:58 verbose #19452 > > | StreamCons (st, fn') => loop (fn acc st) (fn' ()) 00:16:58 verbose #19453 > > | StreamNil => acc 00:16:58 verbose #19454 > > and inl loop acc = join_body body acc 00:16:58 verbose #19455 > > loop init s 00:16:58 verbose #19456 > 00:16:58 debug #1149 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/76713be4d0a4b2715a87bb9e742cb4a6cd34800419b62b7787c1a2865ffc0b21/main.spi 00:16:58 verbose #19457 > > 00:16:58 verbose #19458 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:58 verbose #19459 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:58 verbose #19460 > > │ ### fold_back │ 00:16:58 verbose #19461 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:58 verbose #19462 > > 00:16:58 verbose #19463 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:58 verbose #19464 > > inl fold_back fn s init = 00:16:58 verbose #19465 > > inl rec body acc = function 00:16:58 verbose #19466 > > | StreamCons (st, fn') => fn st (loop acc (fn' ())) 00:16:58 verbose #19467 > > | StreamNil => acc 00:16:58 verbose #19468 > > and inl loop acc = join_body body acc 00:16:58 verbose #19469 > > loop init s 00:16:58 verbose #19470 > 00:16:58 debug #1150 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/adeb784d9ab42e51b84ab5c9b16825eeb63c05dfde55667773b6ab6e616062be/main.spi 00:16:59 verbose #19471 > > 00:16:59 verbose #19472 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:59 verbose #19473 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:59 verbose #19474 > > │ ### to_list │ 00:16:59 verbose #19475 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:59 verbose #19476 > > 00:16:59 verbose #19477 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:59 verbose #19478 > > inl to_list s = 00:16:59 verbose #19479 > > (s, [[]]) 00:16:59 verbose #19480 > > ||> fold_back fun x acc => 00:16:59 verbose #19481 > > x :: acc 00:16:59 verbose #19482 > 00:16:58 debug #1151 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/abafa7cbb637a6ce258246d5dc774ec96fed8bc4bca11eb22f8857e863207834/main.spi 00:16:59 verbose #19483 > > 00:16:59 verbose #19484 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:59 verbose #19485 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:59 verbose #19486 > > │ ### rev │ 00:16:59 verbose #19487 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:59 verbose #19488 > > 00:16:59 verbose #19489 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:59 verbose #19490 > > inl rev s = 00:16:59 verbose #19491 > > (StreamNil, s) 00:16:59 verbose #19492 > > ||> fold fun s x => 00:16:59 verbose #19493 > > StreamCons (x, fun () => s) 00:16:59 verbose #19494 > 00:16:58 debug #1152 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/161fb649f3d594cca11fd0336fbebcfa5fdfca5d194f1462a06ebb4b1d60e002/main.spi 00:16:59 verbose #19495 > > 00:16:59 verbose #19496 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:16:59 verbose #19497 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:16:59 verbose #19498 > > │ ### from_list │ 00:16:59 verbose #19499 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:16:59 verbose #19500 > > 00:16:59 verbose #19501 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:59 verbose #19502 > > inl from_list list = 00:16:59 verbose #19503 > > (list, StreamNil) 00:16:59 verbose #19504 > > ||> listm.foldBack fun x acc => 00:16:59 verbose #19505 > > StreamCons (x, fun () => acc) 00:16:59 verbose #19506 > 00:16:58 debug #1153 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/39d6bf8b7ae8e70cffee12754a63342206d8d57e9bdec161812e0743a27c99a7/main.spi 00:16:59 verbose #19507 > > 00:16:59 verbose #19508 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:16:59 verbose #19509 > > //// test 00:16:59 verbose #19510 > > 00:16:59 verbose #19511 > > listm.init 3i32 id 00:16:59 verbose #19512 > > |> from_list 00:16:59 verbose #19513 > > |> rev 00:16:59 verbose #19514 > > |> to_list 00:16:59 verbose #19515 > > |> _assert_eq [[ 2; 1; 0 ]] 00:16:59 verbose #19516 > 00:16:58 debug #1154 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0a1d51e168db0898c0d3bdedf05d49e90ebc8c77fe815b5964324701ca0ded0a/main.spi 00:17:00 verbose #19517 > > 00:17:00 verbose #19518 > > ╭─[ 843.95ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:00 verbose #19519 > > │ assert_eq / actual: UH0_1 (2, UH0_1 (1, UH0_1 (0, UH0_0))) / expected: UH0_1 │ 00:17:00 verbose #19520 > > │ (2, UH0_1 (1, UH0_1 (0, UH0_0))) │ 00:17:00 verbose #19521 > > │ │ 00:17:00 verbose #19522 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19523 > > 00:17:00 verbose #19524 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:00 verbose #19525 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:00 verbose #19526 > > │ ### try_item │ 00:17:00 verbose #19527 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19528 > > 00:17:00 verbose #19529 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19530 > > inl try_item i s = 00:17:00 verbose #19531 > > inl rec body i = function 00:17:00 verbose #19532 > > | StreamCons (x, _) when i <= 0 => Some x 00:17:00 verbose #19533 > > | StreamCons (_, fn) => loop (i - 1) (fn ()) 00:17:00 verbose #19534 > > | StreamNil => None 00:17:00 verbose #19535 > > and inl loop acc s' = 00:17:00 verbose #19536 > > match var_is acc, var_is s' with 00:17:00 verbose #19537 > > | false, false => body acc s' 00:17:00 verbose #19538 > > | _ => 00:17:00 verbose #19539 > > inl acc = dyn acc 00:17:00 verbose #19540 > > inl s' = dyn s' 00:17:00 verbose #19541 > > join body acc s' 00:17:00 verbose #19542 > > loop i s 00:17:00 verbose #19543 > > 00:17:00 verbose #19544 > > inl item i = 00:17:00 verbose #19545 > > try_item i >> optionm.value 00:17:00 verbose #19546 > 00:16:59 debug #1155 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2bea7b82a0c943e734e5b1c11556ec455917f9b2785463c236084eedecb6de71/main.spi 00:17:00 verbose #19547 > > 00:17:00 verbose #19548 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19549 > > //// test 00:17:00 verbose #19550 > > 00:17:00 verbose #19551 > > listm.init 10i32 id 00:17:00 verbose #19552 > > |> from_list 00:17:00 verbose #19553 > > |> item 9i32 00:17:00 verbose #19554 > > |> _assert_eq 9 00:17:00 verbose #19555 > 00:16:59 debug #1156 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5400b553f642baff07ab63f9a938971b28f4b5b7a0269363af6c25fa2fd90389/main.spi 00:17:00 verbose #19556 > > 00:17:00 verbose #19557 > > ╭─[ 95.39ms - stdout ]─────────────────────────────────────────────────────────╮ 00:17:00 verbose #19558 > > │ assert_eq / actual: 9 / expected: 9 │ 00:17:00 verbose #19559 > > │ │ 00:17:00 verbose #19560 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19561 > > 00:17:00 verbose #19562 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:00 verbose #19563 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:00 verbose #19564 > > │ ### new_infinite_stream │ 00:17:00 verbose #19565 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19566 > > 00:17:00 verbose #19567 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19568 > > inl new_infinite_stream fn = 00:17:00 verbose #19569 > > inl rec loop n = 00:17:00 verbose #19570 > > StreamCons (fn n, fun () => loop (n + 1)) 00:17:00 verbose #19571 > > loop 0 00:17:00 verbose #19572 > > 00:17:00 verbose #19573 > > inl new_infinite_stream_ fn = 00:17:00 verbose #19574 > > let rec loop n = 00:17:00 verbose #19575 > > StreamCons (fn n, fun () => loop (n + 1)) 00:17:00 verbose #19576 > > loop 0 00:17:00 verbose #19577 > 00:17:00 debug #1157 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/59b9a53041342e432141efe7256f43aa1fd1dac8936ccd968c539ec02f830361/main.spi 00:17:00 verbose #19578 > > 00:17:00 verbose #19579 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19580 > > //// test 00:17:00 verbose #19581 > > 00:17:00 verbose #19582 > > new_infinite_stream print_and_return 00:17:00 verbose #19583 > > |> item 4i32 00:17:00 verbose #19584 > > |> _assert_eq 4i32 00:17:00 verbose #19585 > 00:17:00 debug #1158 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/994a425d0f3e29d9593364952a1abb0079106763d897cc4c0c3da6ddb4a8a6bc/main.spi 00:17:00 verbose #19586 > > 00:17:00 verbose #19587 > > ╭─[ 116.89ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:00 verbose #19588 > > │ print_and_return / x: 0 │ 00:17:00 verbose #19589 > > │ print_and_return / x: 1 │ 00:17:00 verbose #19590 > > │ print_and_return / x: 2 │ 00:17:00 verbose #19591 > > │ print_and_return / x: 3 │ 00:17:00 verbose #19592 > > │ print_and_return / x: 4 │ 00:17:00 verbose #19593 > > │ assert_eq / actual: 4 / expected: 4 │ 00:17:00 verbose #19594 > > │ │ 00:17:00 verbose #19595 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19596 > > 00:17:00 verbose #19597 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:00 verbose #19598 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:00 verbose #19599 > > │ ### new_finite_stream │ 00:17:00 verbose #19600 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19601 > > 00:17:00 verbose #19602 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19603 > > inl new_finite_stream fn max = 00:17:00 verbose #19604 > > inl rec loop n = 00:17:00 verbose #19605 > > if n >= max 00:17:00 verbose #19606 > > then StreamNil 00:17:00 verbose #19607 > > else StreamCons (fn n, fun () => loop (n + 1)) 00:17:00 verbose #19608 > > loop 0 00:17:00 verbose #19609 > 00:17:00 debug #1159 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce9b06125f1edf113579312834091d3a880049436f168039d0de1fdc29215b32/main.spi 00:17:00 verbose #19610 > > 00:17:00 verbose #19611 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:00 verbose #19612 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:00 verbose #19613 > > │ ### memoize │ 00:17:00 verbose #19614 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:00 verbose #19615 > > 00:17:00 verbose #19616 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19617 > > union memoized_stream t = 00:17:00 verbose #19618 > > | NotComputed : () -> stream t 00:17:00 verbose #19619 > > | Computed : stream t 00:17:00 verbose #19620 > > 00:17:00 verbose #19621 > > inl memoize s = 00:17:00 verbose #19622 > > inl rec body s = 00:17:00 verbose #19623 > > inl state = mut (NotComputed s) 00:17:00 verbose #19624 > > fun () => 00:17:00 verbose #19625 > > match *state with 00:17:00 verbose #19626 > > | Computed x => x 00:17:00 verbose #19627 > > | NotComputed fn => 00:17:00 verbose #19628 > > inl new_state = 00:17:00 verbose #19629 > > match fn () with 00:17:00 verbose #19630 > > | StreamNil => StreamNil 00:17:00 verbose #19631 > > | StreamCons (x, fn) => StreamCons (x, loop fn) 00:17:00 verbose #19632 > > state <- Computed new_state 00:17:00 verbose #19633 > > new_state 00:17:00 verbose #19634 > > and inl loop s' = join_body_unit body s s' 00:17:00 verbose #19635 > > loop (fun () => s) 00:17:00 verbose #19636 > 00:17:00 debug #1160 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9076b284092c355c85070a6669eb0392b244345d315c3b879ba7a965cae03c14/main.spi 00:17:00 verbose #19637 > > 00:17:00 verbose #19638 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:00 verbose #19639 > > //// test 00:17:00 verbose #19640 > > 00:17:00 verbose #19641 > > inl memo_stream = new_finite_stream print_and_return 10 |> memoize 00:17:00 verbose #19642 > > 00:17:00 verbose #19643 > > memo_stream () 00:17:00 verbose #19644 > > |> item 3i32 00:17:00 verbose #19645 > > |> _assert_eq 3i32 00:17:00 verbose #19646 > > 00:17:00 verbose #19647 > > memo_stream () 00:17:00 verbose #19648 > > |> item 5i32 00:17:00 verbose #19649 > > |> _assert_eq 5i32 00:17:00 verbose #19650 > 00:17:00 debug #1161 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/088a51af2d6e085f9fddd2980f45d429424a21963e3f4ca83c22d6515a569b5a/main.spi 00:17:01 verbose #19651 > > 00:17:01 verbose #19652 > > ╭─[ 383.85ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:01 verbose #19653 > > │ print_and_return / x: 0 │ 00:17:01 verbose #19654 > > │ print_and_return / x: 1 │ 00:17:01 verbose #19655 > > │ print_and_return / x: 2 │ 00:17:01 verbose #19656 > > │ print_and_return / x: 3 │ 00:17:01 verbose #19657 > > │ assert_eq / actual: 3 / expected: 3 │ 00:17:01 verbose #19658 > > │ print_and_return / x: 4 │ 00:17:01 verbose #19659 > > │ print_and_return / x: 5 │ 00:17:01 verbose #19660 > > │ assert_eq / actual: 5 / expected: 5 │ 00:17:01 verbose #19661 > > │ │ 00:17:01 verbose #19662 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19663 > > 00:17:01 verbose #19664 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19665 > > //// test 00:17:01 verbose #19666 > > 00:17:01 verbose #19667 > > inl memo_stream = new_infinite_stream_ print_and_return |> memoize 00:17:01 verbose #19668 > > 00:17:01 verbose #19669 > > memo_stream () 00:17:01 verbose #19670 > > |> item 3i32 00:17:01 verbose #19671 > > |> _assert_eq 3i32 00:17:01 verbose #19672 > > 00:17:01 verbose #19673 > > memo_stream () 00:17:01 verbose #19674 > > |> item 5i32 00:17:01 verbose #19675 > > |> _assert_eq 5i32 00:17:01 verbose #19676 > 00:17:00 debug #1162 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/58ace700598a7fb724a2e9f19c45e83503266f4be2e48c8c2086f9e0006f563b/main.spi 00:17:01 verbose #19677 > > 00:17:01 verbose #19678 > > ╭─[ 170.16ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:01 verbose #19679 > > │ print_and_return / x: 0 │ 00:17:01 verbose #19680 > > │ print_and_return / x: 1 │ 00:17:01 verbose #19681 > > │ print_and_return / x: 2 │ 00:17:01 verbose #19682 > > │ print_and_return / x: 3 │ 00:17:01 verbose #19683 > > │ assert_eq / actual: 3 / expected: 3 │ 00:17:01 verbose #19684 > > │ print_and_return / x: 4 │ 00:17:01 verbose #19685 > > │ print_and_return / x: 5 │ 00:17:01 verbose #19686 > > │ assert_eq / actual: 5 / expected: 5 │ 00:17:01 verbose #19687 > > │ │ 00:17:01 verbose #19688 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19689 > > 00:17:01 verbose #19690 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:01 verbose #19691 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:01 verbose #19692 > > │ ### unfold │ 00:17:01 verbose #19693 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19694 > > 00:17:01 verbose #19695 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19696 > > inl unfold f x0 = 00:17:01 verbose #19697 > > inl rec body x = 00:17:01 verbose #19698 > > match f x with 00:17:01 verbose #19699 > > | Some (x', y) => StreamCons (x', fun () => loop y) 00:17:01 verbose #19700 > > | None => StreamNil 00:17:01 verbose #19701 > > and inl loop x = join_body_unit body x0 x 00:17:01 verbose #19702 > > loop x0 00:17:01 verbose #19703 > 00:17:00 debug #1163 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ebf0e4dc9b0f72187ab14f8e65c08ea113046f49f20721946f391ff855b2e64/main.spi 00:17:01 verbose #19704 > > 00:17:01 verbose #19705 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:01 verbose #19706 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:01 verbose #19707 > > │ ### iterate │ 00:17:01 verbose #19708 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19709 > > 00:17:01 verbose #19710 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19711 > > inl iterate f = 00:17:01 verbose #19712 > > unfold (fun x => Some (x, f x)) 00:17:01 verbose #19713 > 00:17:01 debug #1164 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/586a5b6b9a5e2d833da3f0da60c8789f6d82631d8e286eb6f8f12fcd807ca4f4/main.spi 00:17:01 verbose #19714 > > 00:17:01 verbose #19715 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19716 > > //// test 00:17:01 verbose #19717 > > 00:17:01 verbose #19718 > > iterate ((*) 2) 1i32 00:17:01 verbose #19719 > > |> item 10i32 00:17:01 verbose #19720 > > |> _assert_eq 1024 00:17:01 verbose #19721 > 00:17:01 debug #1165 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6fdd6ae40740e29153d0b13fe595216023ef7059c69bbb0358be7da8ae0275bc/main.spi 00:17:01 verbose #19722 > > 00:17:01 verbose #19723 > > ╭─[ 95.42ms - stdout ]─────────────────────────────────────────────────────────╮ 00:17:01 verbose #19724 > > │ assert_eq / actual: 1024 / expected: 1024 │ 00:17:01 verbose #19725 > > │ │ 00:17:01 verbose #19726 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19727 > > 00:17:01 verbose #19728 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:01 verbose #19729 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:01 verbose #19730 > > │ ### take_while │ 00:17:01 verbose #19731 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19732 > > 00:17:01 verbose #19733 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19734 > > inl take_while cond s = 00:17:01 verbose #19735 > > inl rec body i = function 00:17:01 verbose #19736 > > | StreamCons (st, fn) when cond st i => StreamCons (st, fun () => loop 00:17:01 verbose #19737 > > (i + 1) (fn ())) 00:17:01 verbose #19738 > > | _ => StreamNil 00:17:01 verbose #19739 > > and inl loop i = join_body body i 00:17:01 verbose #19740 > > loop 0 s 00:17:01 verbose #19741 > 00:17:01 debug #1166 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/90722ab020effce5b422e80742a46b6114a7f81bfd330ad6b4f7b6a4fdfcb4c5/main.spi 00:17:01 verbose #19742 > > 00:17:01 verbose #19743 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:01 verbose #19744 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:01 verbose #19745 > > │ ### sum │ 00:17:01 verbose #19746 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19747 > > 00:17:01 verbose #19748 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19749 > > inl sum seq = 00:17:01 verbose #19750 > > seq |> fold (+) 0 00:17:01 verbose #19751 > 00:17:01 debug #1167 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e8c8f2c69316997f8db4f0ecc59cb6141d627085e6519dac6d591eef39374857/main.spi 00:17:01 verbose #19752 > > 00:17:01 verbose #19753 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19754 > > //// test 00:17:01 verbose #19755 > > 00:17:01 verbose #19756 > > listm.init 10i32 id 00:17:01 verbose #19757 > > |> from_list 00:17:01 verbose #19758 > > |> sum 00:17:01 verbose #19759 > > |> _assert_eq 45 00:17:01 verbose #19760 > 00:17:01 debug #1168 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d6a5c8684fe68940a0d6426ff57bf9d04aa76f4aeca318df803176d32aa7e2d2/main.spi 00:17:01 verbose #19761 > > 00:17:01 verbose #19762 > > ╭─[ 96.44ms - stdout ]─────────────────────────────────────────────────────────╮ 00:17:01 verbose #19763 > > │ assert_eq / actual: 45 / expected: 45 │ 00:17:01 verbose #19764 > > │ │ 00:17:01 verbose #19765 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:01 verbose #19766 > > 00:17:01 verbose #19767 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:01 verbose #19768 > > //// test 00:17:01 verbose #19769 > > 00:17:01 verbose #19770 > > new_finite_stream print_and_return 10i32 00:17:01 verbose #19771 > > |> take_while (fun n (_ : i32) => n < 5) 00:17:01 verbose #19772 > > |> sum 00:17:01 verbose #19773 > > |> _assert_eq 10 00:17:01 verbose #19774 > 00:17:01 debug #1169 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8f86be07f07e6cd4b2388035b10c4d48ece1c73513f24e6de39343fa7ef49894/main.spi 00:17:02 verbose #19775 > > 00:17:02 verbose #19776 > > ╭─[ 105.76ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:02 verbose #19777 > > │ print_and_return / x: 0 │ 00:17:02 verbose #19778 > > │ print_and_return / x: 1 │ 00:17:02 verbose #19779 > > │ print_and_return / x: 2 │ 00:17:02 verbose #19780 > > │ print_and_return / x: 3 │ 00:17:02 verbose #19781 > > │ print_and_return / x: 4 │ 00:17:02 verbose #19782 > > │ print_and_return / x: 5 │ 00:17:02 verbose #19783 > > │ assert_eq / actual: 10 / expected: 10 │ 00:17:02 verbose #19784 > > │ │ 00:17:02 verbose #19785 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19786 > > 00:17:02 verbose #19787 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19788 > > //// test 00:17:02 verbose #19789 > > 00:17:02 verbose #19790 > > new_infinite_stream print_and_return 00:17:02 verbose #19791 > > |> take_while (fun n (_ : i32) => n < 5i32) 00:17:02 verbose #19792 > > |> sum 00:17:02 verbose #19793 > > |> _assert_eq 10 00:17:02 verbose #19794 > 00:17:01 debug #1170 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e71ee60558d5cb95f8163cfd32d9cc2221410687dea5ebfb70035d58795dd9c9/main.spi 00:17:02 verbose #19795 > > 00:17:02 verbose #19796 > > ╭─[ 108.15ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:02 verbose #19797 > > │ print_and_return / x: 0 │ 00:17:02 verbose #19798 > > │ print_and_return / x: 1 │ 00:17:02 verbose #19799 > > │ print_and_return / x: 2 │ 00:17:02 verbose #19800 > > │ print_and_return / x: 3 │ 00:17:02 verbose #19801 > > │ print_and_return / x: 4 │ 00:17:02 verbose #19802 > > │ print_and_return / x: 5 │ 00:17:02 verbose #19803 > > │ assert_eq / actual: 10 / expected: 10 │ 00:17:02 verbose #19804 > > │ │ 00:17:02 verbose #19805 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19806 > > 00:17:02 verbose #19807 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19808 > > //// test 00:17:02 verbose #19809 > > 00:17:02 verbose #19810 > > iterate ((*) 6) 1i32 00:17:02 verbose #19811 > > |> take_while (fun _ i => i <= 7i32) 00:17:02 verbose #19812 > > |> to_list 00:17:02 verbose #19813 > > |> _assert_eq [[ 1i32; 6; 36; 216; 1296; 7776; 46656; 279936 ]] 00:17:02 verbose #19814 > 00:17:01 debug #1171 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5840364d29b2344fc70e9c5ceb42d90a5741862581156b76e07eee6c7cf7585a/main.spi 00:17:02 verbose #19815 > > 00:17:02 verbose #19816 > > ╭─[ 209.08ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:02 verbose #19817 > > │ assert_eq / actual: UH0_1 │ 00:17:02 verbose #19818 > > │ (1, │ 00:17:02 verbose #19819 > > │ UH0_1 │ 00:17:02 verbose #19820 > > │ (6, │ 00:17:02 verbose #19821 > > │ UH0_1 │ 00:17:02 verbose #19822 > > │ (36, │ 00:17:02 verbose #19823 > > │ UH0_1 │ 00:17:02 verbose #19824 > > │ (216, │ 00:17:02 verbose #19825 > > │ UH0_1 (1296, UH0_1 (7776, UH0_1 (46656, UH0_1 (279936, │ 00:17:02 verbose #19826 > > │ UH0_0)))))))) / expected: UH0_1 │ 00:17:02 verbose #19827 > > │ (1, │ 00:17:02 verbose #19828 > > │ UH0_1 │ 00:17:02 verbose #19829 > > │ (6, │ 00:17:02 verbose #19830 > > │ UH0_1 │ 00:17:02 verbose #19831 > > │ (36, │ 00:17:02 verbose #19832 > > │ UH0_1 │ 00:17:02 verbose #19833 > > │ (216, │ 00:17:02 verbose #19834 > > │ UH0_1 (1296, UH0_1 (7776, UH0_1 (46656, UH0_1 (279936, │ 00:17:02 verbose #19835 > > │ UH0_0)))))))) │ 00:17:02 verbose #19836 > > │ │ 00:17:02 verbose #19837 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19838 > > 00:17:02 verbose #19839 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:02 verbose #19840 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:02 verbose #19841 > > │ ### indexed │ 00:17:02 verbose #19842 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19843 > > 00:17:02 verbose #19844 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19845 > > inl indexed s = 00:17:02 verbose #19846 > > ((StreamNil, 0), s) 00:17:02 verbose #19847 > > ||> fold fun (acc, i) x => 00:17:02 verbose #19848 > > StreamCons ((i, x), fun () => acc), i + 1 00:17:02 verbose #19849 > > |> fst 00:17:02 verbose #19850 > > |> rev 00:17:02 verbose #19851 > 00:17:01 debug #1172 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ab2df0f7c287f21153cd2118085e7014e203a7d66c8d8d7cfda3c3f3163ea694/main.spi 00:17:02 verbose #19852 > > 00:17:02 verbose #19853 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19854 > > //// test 00:17:02 verbose #19855 > > 00:17:02 verbose #19856 > > listm.init 10i32 ((*) 2) 00:17:02 verbose #19857 > > |> from_list 00:17:02 verbose #19858 > > |> indexed 00:17:02 verbose #19859 > > |> item 5i32 00:17:02 verbose #19860 > > |> _assert_eq (5i32, 10i32) 00:17:02 verbose #19861 > 00:17:02 debug #1173 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/28ea7b92bdffeb8547bc3ca5780017f112b1be6302db4f805b7b7f90cc729d50/main.spi 00:17:02 verbose #19862 > > 00:17:02 verbose #19863 > > ╭─[ 120.22ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:02 verbose #19864 > > │ assert_eq / actual: struct (5, 10) / expected: struct (5, 10) │ 00:17:02 verbose #19865 > > │ │ 00:17:02 verbose #19866 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19867 > > 00:17:02 verbose #19868 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:02 verbose #19869 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:02 verbose #19870 > > │ ### map │ 00:17:02 verbose #19871 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19872 > > 00:17:02 verbose #19873 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19874 > > inl map fn s = 00:17:02 verbose #19875 > > (s, StreamNil) 00:17:02 verbose #19876 > > ||> fold_back fun x acc => 00:17:02 verbose #19877 > > StreamCons (fn x, fun () => acc) 00:17:02 verbose #19878 > 00:17:02 debug #1174 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/271bed242810958e5ff1524a2365cc8fbc79982f3a9897b5809b2a7afd3e192e/main.spi 00:17:02 verbose #19879 > > 00:17:02 verbose #19880 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19881 > > //// test 00:17:02 verbose #19882 > > 00:17:02 verbose #19883 > > listm.init 10i32 id 00:17:02 verbose #19884 > > |> from_list 00:17:02 verbose #19885 > > |> map ((*) 2) 00:17:02 verbose #19886 > > |> item 5i32 00:17:02 verbose #19887 > > |> _assert_eq 10i32 00:17:02 verbose #19888 > 00:17:02 debug #1175 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5479e3c9dd2aac98cad0c974f989525b534e86f6766336cf3f258f14eb238579/main.spi 00:17:02 verbose #19889 > > 00:17:02 verbose #19890 > > ╭─[ 94.57ms - stdout ]─────────────────────────────────────────────────────────╮ 00:17:02 verbose #19891 > > │ assert_eq / actual: 10 / expected: 10 │ 00:17:02 verbose #19892 > > │ │ 00:17:02 verbose #19893 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19894 > > 00:17:02 verbose #19895 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:02 verbose #19896 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:02 verbose #19897 > > │ ### zip_with │ 00:17:02 verbose #19898 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19899 > > 00:17:02 verbose #19900 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19901 > > inl zip_with fn s1 s2 = 00:17:02 verbose #19902 > > inl rec loop s1 s2 = 00:17:02 verbose #19903 > > match s1, s2 with 00:17:02 verbose #19904 > > | StreamCons (st1, fn1), StreamCons (st2, fn2) => 00:17:02 verbose #19905 > > StreamCons (fn st1 st2, fun () => loop (fn1 ()) (fn2 ())) 00:17:02 verbose #19906 > > | StreamNil, _ | _, StreamNil => StreamNil 00:17:02 verbose #19907 > > loop s1 s2 00:17:02 verbose #19908 > > 00:17:02 verbose #19909 > > inl zip_with_ fn s1 s2 = 00:17:02 verbose #19910 > > let rec loop s1 s2 = 00:17:02 verbose #19911 > > match s1, s2 with 00:17:02 verbose #19912 > > | StreamCons (st1, fn1), StreamCons (st2, fn2) => 00:17:02 verbose #19913 > > StreamCons (fn st1 st2, fun () => loop (fn1 ()) (fn2 ())) 00:17:02 verbose #19914 > > | StreamNil, _ | _, StreamNil => StreamNil 00:17:02 verbose #19915 > > loop s1 s2 00:17:02 verbose #19916 > 00:17:02 debug #1176 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/824f5e677b86de03db7bbd20ec8b971bbc41eb88a72d31f9cabf6583ceaeaf95/main.spi 00:17:02 verbose #19917 > > 00:17:02 verbose #19918 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19919 > > //// test 00:17:02 verbose #19920 > > 00:17:02 verbose #19921 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list)) 00:17:02 verbose #19922 > > ||> zip_with (+) 00:17:02 verbose #19923 > > |> item 2i32 00:17:02 verbose #19924 > > |> _assert_eq 6 00:17:02 verbose #19925 > 00:17:02 debug #1177 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a884a59378b846bba86a7dc865e9f0e80ccba034c27bd9aec4a66cd44bf299ab/main.spi 00:17:02 verbose #19926 > > 00:17:02 verbose #19927 > > ╭─[ 97.49ms - stdout ]─────────────────────────────────────────────────────────╮ 00:17:02 verbose #19928 > > │ assert_eq / actual: 6 / expected: 6 │ 00:17:02 verbose #19929 > > │ │ 00:17:02 verbose #19930 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19931 > > 00:17:02 verbose #19932 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:02 verbose #19933 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:02 verbose #19934 > > │ ### zip │ 00:17:02 verbose #19935 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:02 verbose #19936 > > 00:17:02 verbose #19937 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19938 > > inl zip s1 s2 = 00:17:02 verbose #19939 > > zip_with pair s1 s2 00:17:02 verbose #19940 > > 00:17:02 verbose #19941 > > inl zip_ s1 s2 = 00:17:02 verbose #19942 > > zip_with_ pair s1 s2 00:17:02 verbose #19943 > 00:17:02 debug #1178 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/121ef04d5b979a0b510a9bda727a16358b5399087a691fad4f8f65959acf0f5d/main.spi 00:17:02 verbose #19944 > > 00:17:02 verbose #19945 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:02 verbose #19946 > > //// test 00:17:02 verbose #19947 > > 00:17:02 verbose #19948 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list)) 00:17:02 verbose #19949 > > ||> zip 00:17:02 verbose #19950 > > |> item 5i32 00:17:02 verbose #19951 > > |> _assert_eq (5, 10) 00:17:03 verbose #19952 > 00:17:02 debug #1179 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b00346a9d69015695f8db288ee0f31d66ec4773cd22f70838f9756779daa61b1/main.spi 00:17:03 verbose #19953 > > 00:17:03 verbose #19954 > > ╭─[ 99.33ms - stdout ]─────────────────────────────────────────────────────────╮ 00:17:03 verbose #19955 > > │ assert_eq / actual: struct (5, 10) / expected: struct (5, 10) │ 00:17:03 verbose #19956 > > │ │ 00:17:03 verbose #19957 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #19958 > > 00:17:03 verbose #19959 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #19960 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #19961 > > │ ### unzip │ 00:17:03 verbose #19962 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #19963 > > 00:17:03 verbose #19964 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #19965 > > inl unzip s = 00:17:03 verbose #19966 > > inl rec body s = 00:17:03 verbose #19967 > > match s with 00:17:03 verbose #19968 > > | StreamCons ((x, y), fn) => 00:17:03 verbose #19969 > > inl xs, ys = loop (fn ()) 00:17:03 verbose #19970 > > StreamCons (x, fun () => xs), StreamCons (y, fun () => ys) 00:17:03 verbose #19971 > > | StreamNil => pair StreamNil StreamNil 00:17:03 verbose #19972 > > and inl loop x = 00:17:03 verbose #19973 > > if var_is x |> not 00:17:03 verbose #19974 > > then body x 00:17:03 verbose #19975 > > else 00:17:03 verbose #19976 > > inl x = dyn x 00:17:03 verbose #19977 > > join body x 00:17:03 verbose #19978 > > loop s 00:17:03 verbose #19979 > 00:17:02 debug #1180 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f48132a06e15288c4f8060c28cb6d1becaa08bb06eb7e445663cf9ae7fc3c89d/main.spi 00:17:03 verbose #19980 > > 00:17:03 verbose #19981 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #19982 > > //// test 00:17:03 verbose #19983 > > 00:17:03 verbose #19984 > > listm.init 10i32 id 00:17:03 verbose #19985 > > |> listm.map (fun x => x, x) 00:17:03 verbose #19986 > > |> from_list 00:17:03 verbose #19987 > > |> unzip 00:17:03 verbose #19988 > > |> fun x, y => 00:17:03 verbose #19989 > > x |> sum 00:17:03 verbose #19990 > > |> _assert_eq 45 00:17:03 verbose #19991 > > 00:17:03 verbose #19992 > > y |> sum 00:17:03 verbose #19993 > > |> _assert_eq 45 00:17:03 verbose #19994 > 00:17:02 debug #1181 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a1ce461c096a68e04dcf997817703bb938a8b889119adca1857231f15e3310d/main.spi 00:17:03 verbose #19995 > > 00:17:03 verbose #19996 > > ╭─[ 102.49ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:03 verbose #19997 > > │ assert_eq / actual: 45 / expected: 45 │ 00:17:03 verbose #19998 > > │ assert_eq / actual: 45 / expected: 45 │ 00:17:03 verbose #19999 > > │ │ 00:17:03 verbose #20000 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20001 > > 00:17:03 verbose #20002 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20003 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20004 > > │ ## rust │ 00:17:03 verbose #20005 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20006 > > 00:17:03 verbose #20007 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20008 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20009 > > │ ### io_error │ 00:17:03 verbose #20010 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20011 > > 00:17:03 verbose #20012 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20013 > > nominal io_error = 00:17:03 verbose #20014 > > `( 00:17:03 verbose #20015 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:03 verbose #20016 > > Fable.Core.Emit(\"std::io::Error\")>]]\n#endif\ntype std_io_Error = class end" 00:17:03 verbose #20017 > > $'' : $'std_io_Error' 00:17:03 verbose #20018 > > ) 00:17:03 verbose #20019 > 00:17:02 debug #1182 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/47e48a767a515c9fcb859f194e9b470c2bd55f6c5ad841ed7e4c44ce8e4d7dc3/main.spi 00:17:03 verbose #20020 > > 00:17:03 verbose #20021 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20022 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20023 > > │ ### buf_reader │ 00:17:03 verbose #20024 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20025 > > 00:17:03 verbose #20026 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20027 > > nominal buf_reader t = 00:17:03 verbose #20028 > > `( 00:17:03 verbose #20029 > > backend_switch `(()) `({}) { 00:17:03 verbose #20030 > > Fsharp = 00:17:03 verbose #20031 > > (fun () => 00:17:03 verbose #20032 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:03 verbose #20033 > > Fable.Core.Emit(\"std::io::BufReader<$0>\")>]]\n#endif\ntype 00:17:03 verbose #20034 > > std_io_BufReader<'T> = class end" 00:17:03 verbose #20035 > > ) : () -> () 00:17:03 verbose #20036 > > } 00:17:03 verbose #20037 > > $'' : $'std_io_BufReader<`t>' 00:17:03 verbose #20038 > > ) 00:17:03 verbose #20039 > 00:17:02 debug #1183 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/351c93c8eb522d42b000cfc7bb3dd83e40addb93c7c42872fac6ce41b4f3eb45/main.spi 00:17:03 verbose #20040 > > 00:17:03 verbose #20041 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20042 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20043 > > │ ### cursor │ 00:17:03 verbose #20044 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20045 > > 00:17:03 verbose #20046 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20047 > > nominal cursor t = 00:17:03 verbose #20048 > > `( 00:17:03 verbose #20049 > > backend_switch `(()) `({}) { 00:17:03 verbose #20050 > > Fsharp = 00:17:03 verbose #20051 > > (fun () => 00:17:03 verbose #20052 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:03 verbose #20053 > > Fable.Core.Emit(\"std::io::Cursor<$0>\")>]]\n#endif\ntype std_io_Cursor<'T> = 00:17:03 verbose #20054 > > class end" 00:17:03 verbose #20055 > > ) : () -> () 00:17:03 verbose #20056 > > } 00:17:03 verbose #20057 > > $'' : $'std_io_Cursor<`t>' 00:17:03 verbose #20058 > > ) 00:17:03 verbose #20059 > 00:17:03 debug #1184 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e83d0bb19e52c81237a9fb9692d3550194c1bc38380723459d352e1b20065b93/main.spi 00:17:03 verbose #20060 > > 00:17:03 verbose #20061 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20062 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20063 > > │ ### async_buf_reader │ 00:17:03 verbose #20064 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20065 > > 00:17:03 verbose #20066 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20067 > > nominal async_buf_reader t = 00:17:03 verbose #20068 > > `( 00:17:03 verbose #20069 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:03 verbose #20070 > > Fable.Core.Emit(\"tokio::io::BufReader<$0>\")>]]\n#endif\ntype 00:17:03 verbose #20071 > > tokio_io_BufReader<'T> = class end" 00:17:03 verbose #20072 > > $'' : $'tokio_io_BufReader<`t>' 00:17:03 verbose #20073 > > ) 00:17:03 verbose #20074 > 00:17:03 debug #1185 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/af020fa86f9f39816d76c711e589acfaac5d56b00a30e7edde8e89705025c415/main.spi 00:17:03 verbose #20075 > > 00:17:03 verbose #20076 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20077 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20078 > > │ ### new_buf_reader │ 00:17:03 verbose #20079 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20080 > > 00:17:03 verbose #20081 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20082 > > inl new_buf_reader forall t. (x : t) : buf_reader t = 00:17:03 verbose #20083 > > !\($'"std::io::BufReader::new(!x)"') 00:17:03 verbose #20084 > 00:17:03 debug #1186 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ed0a9ff0e3b1208a1d17dd3b78a1d979015eacefc36ff244398383b3c76f58e/main.spi 00:17:03 verbose #20085 > > 00:17:03 verbose #20086 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20087 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20088 > > │ ### new_cursor │ 00:17:03 verbose #20089 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20090 > > 00:17:03 verbose #20091 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20092 > > inl new_cursor forall t. (x : t) : cursor t = 00:17:03 verbose #20093 > > !\($'"std::io::Cursor::new(!x)"') 00:17:03 verbose #20094 > 00:17:03 debug #1187 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/08074131356456a7823319cd64debed57977feef81d81029f573037bc91d67c1/main.spi 00:17:03 verbose #20095 > > 00:17:03 verbose #20096 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20097 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20098 > > │ ### lines │ 00:17:03 verbose #20099 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20100 > > 00:17:03 verbose #20101 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20102 > > nominal lines t = 00:17:03 verbose #20103 > > `( 00:17:03 verbose #20104 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:03 verbose #20105 > > Fable.Core.Emit(\"std::io::Lines<$0>\")>]]\n#endif\ntype std_io_Lines<'T> = 00:17:03 verbose #20106 > > class end" 00:17:03 verbose #20107 > > $'' : $'std_io_Lines<`t>' 00:17:03 verbose #20108 > > ) 00:17:03 verbose #20109 > 00:17:03 debug #1188 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8bdd15f8b934daac55a796db4a788a7540099a742a7e07d28f2dfce14cb9cf9c/main.spi 00:17:03 verbose #20110 > > 00:17:03 verbose #20111 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:03 verbose #20112 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:03 verbose #20113 > > │ ### buf_read_lines │ 00:17:03 verbose #20114 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:03 verbose #20115 > > 00:17:03 verbose #20116 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:03 verbose #20117 > > inl buf_read_lines forall t. (buf_reader : buf_reader t) : lines (buf_reader t) 00:17:03 verbose #20118 > > = 00:17:03 verbose #20119 > > !\($'"std::io::BufRead::lines(!buf_reader)"') 00:17:03 verbose #20120 > 00:17:03 debug #1189 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bd5f2431c3e0f328719f2ec5d41a7a5020e38a712b592ff0ed727c430ffb8111/main.spi 00:17:04 verbose #20121 > > 00:17:04 verbose #20122 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:04 verbose #20123 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:04 verbose #20124 > > │ ### decode_reader_bytes │ 00:17:04 verbose #20125 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:04 verbose #20126 > > 00:17:04 verbose #20127 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:04 verbose #20128 > > nominal decode_reader_bytes t u = 00:17:04 verbose #20129 > > `( 00:17:04 verbose #20130 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:04 verbose #20131 > > Fable.Core.Emit(\"encoding_rs_io::DecodeReaderBytes<$0, $1>\")>]]\n#endif\ntype 00:17:04 verbose #20132 > > encoding_rs_io_DecodeReaderBytes<'T, 'U> = class end" 00:17:04 verbose #20133 > > $'' : $'encoding_rs_io_DecodeReaderBytes<`t, `u>' 00:17:04 verbose #20134 > > ) 00:17:04 verbose #20135 > 00:17:03 debug #1190 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/36c5fa7158e794abfb3c38c0da73433ec6cd747e9ddb905d80362526cc1eb4e1/main.spi 00:17:04 verbose #20136 > > 00:17:04 verbose #20137 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:04 verbose #20138 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:04 verbose #20139 > > │ ### decode_reader_bytes_build │ 00:17:04 verbose #20140 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:04 verbose #20141 > > 00:17:04 verbose #20142 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:04 verbose #20143 > > inl decode_reader_bytes_build forall t. (x : t) : decode_reader_bytes t (am'.vec 00:17:04 verbose #20144 > > u8) = 00:17:04 verbose #20145 > > 00:17:04 verbose #20146 > > !\($'"encoding_rs_io::DecodeReaderBytesBuilder::new().encoding(Some(encoding_rs: 00:17:04 verbose #20147 > > :UTF_8)).build(!x)"') 00:17:04 verbose #20148 > > 00:17:04 verbose #20149 > > !\($'"encoding_rs_io::DecodeReaderBytesBuilder::new().encoding(Some(encoding_rs: 00:17:04 verbose #20150 > > :UTF_8)).utf8_passthru(true).build(!x)"') 00:17:04 verbose #20151 > > !\\(x, 00:17:04 verbose #20152 > > $'"encoding_rs_io::DecodeReaderBytesBuilder::new().utf8_passthru(true).build($0) 00:17:04 verbose #20153 > > "') 00:17:04 verbose #20154 > > // !\($'"encoding_rs_io::DecodeReaderBytes::new(!x)"') 00:17:04 verbose #20155 > 00:17:03 debug #1191 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8dae28af9d5678753f45ef59362f91289e9115f48b1452522887bed4e39ee0e5/main.spi 00:17:04 verbose #20156 > > 00:17:04 verbose #20157 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:04 verbose #20158 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:04 verbose #20159 > > │ ### buf_reader_read │ 00:17:04 verbose #20160 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:04 verbose #20161 > > 00:17:04 verbose #20162 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:04 verbose #20163 > > inl buf_reader_read forall el dim. (slice : am'.slice' el dim) (buf_reader : 00:17:04 verbose #20164 > > buf_reader el) : resultm.result' unativeint io_error = 00:17:04 verbose #20165 > > (!\($'"true; let mut !slice = !slice"') : bool) |> ignore 00:17:04 verbose #20166 > > !\($'"std::io::Read::read(&mut !buf_reader, &mut !slice)"') 00:17:04 verbose #20167 > 00:17:03 debug #1192 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bf06f1ce0b3ebfff8e3ebbe539c748018a4d7b139ab3ec7c840b92147f428004/main.spi 00:17:04 verbose #20168 > > 00:17:04 verbose #20169 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:04 verbose #20170 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:04 verbose #20171 > > │ ### io_read_by_ref │ 00:17:04 verbose #20172 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:04 verbose #20173 > > 00:17:04 verbose #20174 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:04 verbose #20175 > > inl io_read_by_ref forall t. (lines : lines t) : lines t = 00:17:04 verbose #20176 > > !\\(lines, $'"std::io::Read::by_ref($0)"') 00:17:04 verbose #20177 > 00:17:03 debug #1193 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/891552892d43c954ef4350b20efe7109e7f474d8ce6dcf9b2edc6a575c34f1b5/main.spi 00:17:04 verbose #20178 > 00:00:10 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 38336 } 00:17:04 verbose #20179 > 00:00:10 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:05 verbose #20180 > 00:00:11 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.ipynb to html 00:17:05 verbose #20181 > 00:00:11 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:17:05 verbose #20182 > 00:00:11 verbose #7 ! validate(nb) 00:17:05 verbose #20183 > 00:00:11 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:17:05 verbose #20184 > 00:00:11 verbose #9 ! return _pygments_highlight( 00:17:05 verbose #20185 > 00:00:12 verbose #10 ! [NbConvertApp] Writing 366616 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.html 00:17:05 verbose #20186 > 00:00:12 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 896 } 00:17:05 verbose #20187 > 00:00:12 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 896 } 00:17:05 verbose #20188 > 00:00:12 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/stream.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:06 verbose #20189 > 00:00:12 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:17:06 verbose #20190 > 00:00:12 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:17:06 verbose #20191 > 00:00:12 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 39291 } 00:17:06 debug #20192 runtime.execute_with_options_async / { exit_code = 0; output_length = 43510 } 00:17:06 debug #28 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path stream.dib --retries 3 00:17:06 debug #20193 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path parsing.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:06 verbose #20194 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "parsing.dib", "--retries", "3"])) } 00:17:06 verbose #20195 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:17:07 verbose #20196 > > 00:17:07 verbose #20197 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:07 verbose #20198 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:07 verbose #20199 > > │ # parsing │ 00:17:07 verbose #20200 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:10 verbose #20201 > > 00:17:10 verbose #20202 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:10 verbose #20203 > > open rust.rust_operators 00:17:10 verbose #20204 > > open sm'_operators 00:17:10 verbose #20205 > 00:17:10 debug #1194 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ee17e9f72cb90671f0e951d428c4dec9e30a8a49cb5162328fc842debe96b71/main.spi 00:17:10 verbose #20206 > > 00:17:10 verbose #20207 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:10 verbose #20208 > > //// test 00:17:10 verbose #20209 > > 00:17:10 verbose #20210 > > open testing 00:17:10 verbose #20211 > 00:17:10 debug #1195 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9311f6f0df871546736c558f82d2c72ee24fa80c8badc5ab322a731a4c5ac065/main.spi 00:17:10 verbose #20212 > > 00:17:10 verbose #20213 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:10 verbose #20214 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:10 verbose #20215 > > │ ## fparsec │ 00:17:10 verbose #20216 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:10 verbose #20217 > > 00:17:10 verbose #20218 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:10 verbose #20219 > > //// test 00:17:10 verbose #20220 > > 00:17:10 verbose #20221 > > #r "nuget:FParsec" 00:17:13 verbose #20222 > > 00:17:13 verbose #20223 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:13 verbose #20224 > > //// test 00:17:13 verbose #20225 > > 00:17:13 verbose #20226 > > nominal position_ = $'FParsec.Position' 00:17:13 verbose #20227 > > nominal parser_error_ = $'FParsec.Error.ParserError' 00:17:13 verbose #20228 > > 00:17:13 verbose #20229 > > nominal reply_ t = $'FParsec.Reply<`t>' 00:17:13 verbose #20230 > > 00:17:13 verbose #20231 > > nominal char_stream_ t = $'FParsec.CharStream<`t>' 00:17:13 verbose #20232 > > 00:17:13 verbose #20233 > > // nominal parser t u = char_stream u -> reply t 00:17:13 verbose #20234 > > nominal parser_ t u = $'FParsec.Primitives.Parser<`t, `u>' 00:17:13 verbose #20235 > > 00:17:13 verbose #20236 > > inl p_char_ forall t. (x : char) : parser_ char t = 00:17:13 verbose #20237 > > x |> $'FParsec.CharParsers.pchar' 00:17:13 verbose #20238 > > 00:17:13 verbose #20239 > > inl p_string_ forall t. (x : string) : parser_ string t = 00:17:13 verbose #20240 > > x |> $'FParsec.CharParsers.pstring' 00:17:13 verbose #20241 > > 00:17:13 verbose #20242 > > inl (>>.$) forall t u v. (a : parser_ t v) (b : parser_ u v) : parser_ u v = 00:17:13 verbose #20243 > > b |> $'FParsec.Primitives.(>>.)' a 00:17:13 verbose #20244 > > 00:17:13 verbose #20245 > > inl (.>>$) forall t u v. (a : parser_ t v) (b : parser_ u v) : parser_ t v = 00:17:13 verbose #20246 > > b |> $'FParsec.Primitives.(.>>)' a 00:17:13 verbose #20247 > > 00:17:13 verbose #20248 > > inl (.>>.$) forall t u v. (a : parser_ t v) (b : parser_ u v) : parser_ (pair t 00:17:13 verbose #20249 > > u) v = 00:17:13 verbose #20250 > > b |> $'FParsec.Primitives.(.>>.)' a 00:17:13 verbose #20251 > > 00:17:13 verbose #20252 > > inl (>>%$) forall t u v. (a : parser_ t v) (b : u) : parser_ u v = 00:17:13 verbose #20253 > > b |> $'FParsec.Primitives.(>>%)' a 00:17:13 verbose #20254 > > 00:17:13 verbose #20255 > > inl (>>=$) forall t u v. (a : parser_ t v) (b : t -> parser_ u v) : parser_ u v 00:17:13 verbose #20256 > > = 00:17:13 verbose #20257 > > b |> $'FParsec.Primitives.(>>=)' a 00:17:13 verbose #20258 > > 00:17:13 verbose #20259 > > inl (|>>$) forall t u v. (a : parser_ t v) (b : t -> u) : parser_ u v = 00:17:13 verbose #20260 > > inl b = fun x => x |> b 00:17:13 verbose #20261 > > b |> $'FParsec.Primitives.(|>>)' a 00:17:13 verbose #20262 > > 00:17:13 verbose #20263 > > inl any_char_ () : parser_ char _ = 00:17:13 verbose #20264 > > $'FParsec.CharParsers.anyChar' 00:17:13 verbose #20265 > > 00:17:13 verbose #20266 > > inl any_string_ () : parser_ string _ = 00:17:13 verbose #20267 > > $'FParsec.CharParsers.anyString' 00:17:13 verbose #20268 > > 00:17:13 verbose #20269 > > inl any_string__ (n : i32) : parser_ string _ = 00:17:13 verbose #20270 > > n |> $'FParsec.CharParsers.anyString' 00:17:13 verbose #20271 > > 00:17:13 verbose #20272 > > inl eof_ () : parser_ () _ = 00:17:13 verbose #20273 > > $'FParsec.CharParsers.eof' 00:17:13 verbose #20274 > > 00:17:13 verbose #20275 > > inl spaces_ () : parser_ () () = 00:17:13 verbose #20276 > > $'FParsec.CharParsers.spaces' 00:17:13 verbose #20277 > > 00:17:13 verbose #20278 > > inl spaces1_ () : parser_ () () = 00:17:13 verbose #20279 > > $'FParsec.CharParsers.spaces1' 00:17:13 verbose #20280 > > 00:17:13 verbose #20281 > > inl (<|>$) forall t u. (a : parser_ t u) (b : parser_ t u) : parser_ t u = 00:17:13 verbose #20282 > > b |> $'FParsec.Primitives.(<|>)' a 00:17:13 verbose #20283 > > 00:17:13 verbose #20284 > > inl many_satisfy_ forall t. (x : char -> bool) : parser_ string t = 00:17:13 verbose #20285 > > x |> $'FParsec.CharParsers.manySatisfy' 00:17:13 verbose #20286 > > 00:17:13 verbose #20287 > > inl satisfy_ forall t. (x : char -> bool) : parser_ char t = 00:17:13 verbose #20288 > > x |> $'FParsec.CharParsers.satisfy' 00:17:13 verbose #20289 > > 00:17:13 verbose #20290 > > inl none_of_ (x : list char) : parser_ char () = 00:17:13 verbose #20291 > > x 00:17:13 verbose #20292 > > |> listm'.box 00:17:13 verbose #20293 > > |> listm'.to_array' 00:17:13 verbose #20294 > > |> $'FParsec.CharParsers.noneOf' 00:17:13 verbose #20295 > > 00:17:13 verbose #20296 > > inl any_of_ (x : list char) : parser_ char () = 00:17:13 verbose #20297 > > x 00:17:13 verbose #20298 > > |> listm'.box 00:17:13 verbose #20299 > > |> listm'.to_array' 00:17:13 verbose #20300 > > |> $'FParsec.CharParsers.anyOf' 00:17:13 verbose #20301 > > 00:17:13 verbose #20302 > > inl skip_any_of_ (x : list char) : parser_ () () = 00:17:13 verbose #20303 > > x 00:17:13 verbose #20304 > > |> listm'.box 00:17:13 verbose #20305 > > |> listm'.to_array' 00:17:13 verbose #20306 > > |> $'FParsec.CharParsers.skipAnyOf' 00:17:13 verbose #20307 > > 00:17:13 verbose #20308 > > inl between_ forall t u v x. (a : parser_ t x) (b : parser_ u x) (c : parser_ v 00:17:13 verbose #20309 > > x) : parser_ v x = 00:17:13 verbose #20310 > > c |> $'FParsec.Primitives.between' a b 00:17:13 verbose #20311 > > 00:17:13 verbose #20312 > > inl many_chars_ forall t. (x : parser_ char t) : parser_ string t = 00:17:13 verbose #20313 > > x |> $'FParsec.CharParsers.manyChars' 00:17:13 verbose #20314 > > 00:17:13 verbose #20315 > > inl many1_chars_ forall t. (x : parser_ char t) : parser_ string t = 00:17:13 verbose #20316 > > x |> $'FParsec.CharParsers.many1Chars' 00:17:13 verbose #20317 > > 00:17:13 verbose #20318 > > inl many_strings_ forall t. (x : parser_ string t) : parser_ string t = 00:17:13 verbose #20319 > > x |> $'FParsec.CharParsers.manyStrings' 00:17:13 verbose #20320 > > 00:17:13 verbose #20321 > > inl skip_any_string_ forall t. (n : i32) : parser_ () t = 00:17:13 verbose #20322 > > n |> $'FParsec.CharParsers.skipAnyString' 00:17:13 verbose #20323 > > 00:17:13 verbose #20324 > > inl many1_strings_ forall t. (x : parser_ string t) : parser_ string t = 00:17:13 verbose #20325 > > x |> $'FParsec.CharParsers.many1Strings' 00:17:13 verbose #20326 > > 00:17:13 verbose #20327 > > inl opt_ forall t u. (a : parser_ t u) : parser_ (optionm'.option' t) u = 00:17:13 verbose #20328 > > a |> $'FParsec.Primitives.opt' 00:17:13 verbose #20329 > > 00:17:13 verbose #20330 > > inl choice_ forall t u. (a : list (parser_ t u)) : parser_ t u = 00:17:13 verbose #20331 > > a 00:17:13 verbose #20332 > > |> listm'.box 00:17:13 verbose #20333 > > |> seq.of_list' 00:17:13 verbose #20334 > > |> $'FParsec.Primitives.choice' 00:17:13 verbose #20335 > > 00:17:13 verbose #20336 > > inl delay_ forall t u. (fn : () -> parser_ t u) : parser_ t u = 00:17:13 verbose #20337 > > fn |> $'FParsec.Primitives.parse.Delay' 00:17:13 verbose #20338 > > 00:17:13 verbose #20339 > > inl peek_ forall t u. (a : parser_ t u) : parser_ char u = 00:17:13 verbose #20340 > > $'!a.Peek ()' 00:17:13 verbose #20341 > > 00:17:13 verbose #20342 > > inl not_followed_by_ forall t u. (a : parser_ t u) : parser_ () u = 00:17:13 verbose #20343 > > a |> $'FParsec.Primitives.notFollowedBy' 00:17:13 verbose #20344 > > 00:17:13 verbose #20345 > > inl sep_by_ forall t u v. (a : parser_ t v) (b : parser_ u v) : parser_ 00:17:13 verbose #20346 > > (listm'.list' t) v = 00:17:13 verbose #20347 > > b |> $'FParsec.Primitives.sepBy' a 00:17:13 verbose #20348 > > 00:17:13 verbose #20349 > > inl sep_by1_ forall t u v. (a : parser_ t v) (b : parser_ u v) : parser_ 00:17:13 verbose #20350 > > (listm'.list' t) v = 00:17:13 verbose #20351 > > b |> $'FParsec.Primitives.sepBy1' a 00:17:13 verbose #20352 > > 00:17:13 verbose #20353 > > inl sep_end_by_ forall t u v. (a : parser_ t v) (b : parser_ u v) : parser_ 00:17:13 verbose #20354 > > (listm'.list' t) v = 00:17:13 verbose #20355 > > b |> $'FParsec.Primitives.sepEndBy' a 00:17:13 verbose #20356 > > 00:17:13 verbose #20357 > > inl many_ forall t u. (a : parser_ t u) : parser_ (listm'.list' t) u = 00:17:13 verbose #20358 > > a |> $'FParsec.Primitives.many' 00:17:13 verbose #20359 > > 00:17:13 verbose #20360 > > inl many1_ forall t u. (a : parser_ t u) : parser_ (listm'.list' t) u = 00:17:13 verbose #20361 > > a |> $'FParsec.Primitives.many1' 00:17:13 verbose #20362 > > 00:17:13 verbose #20363 > > inl many1_satisfy_ forall t. (x : char -> bool) : parser_ string t = 00:17:13 verbose #20364 > > x |> $'FParsec.CharParsers.many1Satisfy' 00:17:13 verbose #20365 > > 00:17:13 verbose #20366 > > nominal parser_result'_ t u = $'FParsec.CharParsers.ParserResult<`t, `u>' 00:17:13 verbose #20367 > > 00:17:13 verbose #20368 > > inl run_ forall t. (parser : parser_ t ()) (x : string) : parser_result'_ t () = 00:17:13 verbose #20369 > > x |> $'FParsec.CharParsers.run' parser 00:17:13 verbose #20370 > > 00:17:13 verbose #20371 > > union parser_result_ t u = 00:17:13 verbose #20372 > > | Success : t * u * position_ 00:17:13 verbose #20373 > > | Failure : string * parser_error_ * u 00:17:13 verbose #20374 > > 00:17:13 verbose #20375 > > inl parser_result_ forall t u. = function 00:17:13 verbose #20376 > > | Success (a, b, c) => $'`(parser_result'_ t u).Success (!a, !b, !c)' : 00:17:13 verbose #20377 > > parser_result'_ t u 00:17:13 verbose #20378 > > | Failure (a, b, c) => $'`(parser_result'_ t u).Failure (!a, !b, !c)' : 00:17:13 verbose #20379 > > parser_result'_ t u 00:17:13 verbose #20380 > > 00:17:13 verbose #20381 > > inl parser_result'_ forall t u. (x : parser_result'_ t u) : parser_result_ t u = 00:17:13 verbose #20382 > > $'let mutable _!x = None ' 00:17:13 verbose #20383 > > $'match !x with' 00:17:13 verbose #20384 > > $'| FParsec.CharParsers.Success (a, b, c) -> (' : () 00:17:13 verbose #20385 > > $'(fun () ->' 00:17:13 verbose #20386 > > $'(fun () ->' 00:17:13 verbose #20387 > > (Success ((dyn $'a'), dyn $'b', dyn $'c') : _ t u) |> emit_unit 00:17:13 verbose #20388 > > $')' 00:17:13 verbose #20389 > > $'|> fun x -> x ()' 00:17:13 verbose #20390 > > $') () ) | FParsec.CharParsers.Failure (a, b, c) -> (' : () 00:17:13 verbose #20391 > > $'(fun () ->' 00:17:13 verbose #20392 > > $'(fun () ->' 00:17:13 verbose #20393 > > (Failure ((dyn $'a'), dyn $'b', dyn $'c') : _ t u) |> emit_unit 00:17:13 verbose #20394 > > $')' 00:17:13 verbose #20395 > > $'|> fun x -> x ()' 00:17:13 verbose #20396 > > $') () )' : () 00:17:13 verbose #20397 > > $'|> fun x -> _!x <- Some x' 00:17:13 verbose #20398 > > $'match _!x with Some x -> x | None -> failwith "??? / _!x=None"' 00:17:13 verbose #20399 > > 00:17:13 verbose #20400 > > inl parse_ parser input : result _ _ = 00:17:13 verbose #20401 > > match input |> run_ parser |> parser_result'_ with 00:17:13 verbose #20402 > > | Success (result, b, c) => Ok (result, c) 00:17:13 verbose #20403 > > | Failure (error_msg, b, c) => Error (error_msg, b) 00:17:13 verbose #20404 > 00:17:12 debug #1196 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b23757d8224b15d6b55f4369b627e50d222b5ff706a0cd0518c5f03ecfbd3aa1/main.spi 00:17:13 verbose #20405 > > 00:17:13 verbose #20406 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:13 verbose #20407 > > //// test 00:17:13 verbose #20408 > > 00:17:13 verbose #20409 > > inl split_args (args : string) : result (array_base (string * position_)) 00:17:13 verbose #20410 > > (string * parser_error_) = 00:17:13 verbose #20411 > > inl esc = [[ '\\'; '`' ]] 00:17:13 verbose #20412 > > inl quotes = [[ '"' ]] 00:17:13 verbose #20413 > > inl special = esc ++ quotes 00:17:13 verbose #20414 > > inl p_esc_char c = 00:17:13 verbose #20415 > > p_char_ c >>.$ any_char_ () |>>$ fun c' => $'$"{!c}{!c'}"' 00:17:13 verbose #20416 > > inl p_word = special |> none_of_ |>>$ sm'.obj_to_string 00:17:13 verbose #20417 > > inl p_plain = special ++ [[ ' ' ]] |> none_of_ |> many1_chars_ 00:17:13 verbose #20418 > > inl p_text = p_word |> many1_strings_ 00:17:13 verbose #20419 > > inl p_esc = esc |> listm.map p_esc_char |> choice_ 00:17:13 verbose #20420 > > inl p_quoted = (p_word <|>$ p_esc) |> many_ |>>$ (seq.of_list' >> sm'.concat 00:17:13 verbose #20421 > > "") 00:17:13 verbose #20422 > > inl p_quoted_all = p_quoted |> between_ (p_char_ '"') (p_char_ '"') 00:17:13 verbose #20423 > > inl p_esc_root = p_esc |>>$ (fun _ => "") >>.$ (p_word |> many_) |>>$ 00:17:13 verbose #20424 > > (seq.of_list' >> sm'.concat "") 00:17:13 verbose #20425 > > inl p_content = p_plain <|>$ p_quoted_all <|>$ p_esc_root 00:17:13 verbose #20426 > > inl p_args = spaces1_ () |> sep_by_ p_content 00:17:13 verbose #20427 > > args 00:17:13 verbose #20428 > > |> parse_ p_args 00:17:13 verbose #20429 > > |> resultm.map fun (a', b') => 00:17:13 verbose #20430 > > ( 00:17:13 verbose #20431 > > ( 00:17:13 verbose #20432 > > a' 00:17:13 verbose #20433 > > |> listm'.to_array' 00:17:13 verbose #20434 > > |> a 00:17:13 verbose #20435 > > |> am.map fun x => x, b' 00:17:13 verbose #20436 > > |> fun (a x : _ i32 _) => x 00:17:13 verbose #20437 > > ) 00:17:13 verbose #20438 > > ) 00:17:13 verbose #20439 > > 00:17:13 verbose #20440 > > [[ 00:17:13 verbose #20441 > > "a b c", 00:17:13 verbose #20442 > > ;[[ "a"; "b"; "c" ]] 00:17:13 verbose #20443 > > 00:17:13 verbose #20444 > > "e f \"g h\" i", 00:17:13 verbose #20445 > > ;[[ "e"; "f"; "g h"; "i" ]] 00:17:13 verbose #20446 > > 00:17:13 verbose #20447 > > "\"j k\" \"l\" \"m\"", 00:17:13 verbose #20448 > > ;[[ "j k"; "l"; "m" ]] 00:17:13 verbose #20449 > > 00:17:13 verbose #20450 > > "s -t \"u \`\"v\`\" w\"", 00:17:13 verbose #20451 > > ;[[ "s"; "-t"; "u \`\"v\`\" w" ]] 00:17:13 verbose #20452 > > 00:17:13 verbose #20453 > > "n -o \"p \\\"q\\\" r\"", 00:17:13 verbose #20454 > > ;[[ "n"; "-o"; "p \\\"q\\\" r" ]] 00:17:13 verbose #20455 > > 00:17:13 verbose #20456 > > "r -s \"t \\\"u\\\"\"", 00:17:13 verbose #20457 > > ;[[ "r"; "-s"; "t \\\"u\\\"" ]] 00:17:13 verbose #20458 > > 00:17:13 verbose #20459 > > $'$"x -y \\\"$z -a \'(b=\\\\\\"c-id=)[[a-fA-F0-9]]{{8}}\', {{ \`$_[[1]] + 00:17:13 verbose #20460 > > \`$d++ }}\\\""', 00:17:13 verbose #20461 > > ;[[ "x"; "-y"; "$z -a '(b=\\\"c-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$d++ }" 00:17:13 verbose #20462 > > ]] 00:17:13 verbose #20463 > > 00:17:13 verbose #20464 > > "e -f \"$g -h '(i=`\"j-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$k++ }\"", 00:17:13 verbose #20465 > > ;[[ "e"; "-f"; "$g -h '(i=`\"j-id=)[[a-fA-F0-9]]{8}', { `$_[[1]] + `$k++ }" 00:17:13 verbose #20466 > > ]] 00:17:13 verbose #20467 > > 00:17:13 verbose #20468 > > $'$"--l \\\\\\"\'\'\' m \'\'\'\\\\\\" "', 00:17:13 verbose #20469 > > ;[[ "--l"; "''' m '''" ]] 00:17:13 verbose #20470 > > 00:17:13 verbose #20471 > > $'$"n --o --p q --r \\\"s:/t u/v.w\\\" --x \\\"y:/z.a\\\" --b c.d 00:17:13 verbose #20472 > > \\\"\\\\e{{f-g}}\\\" h.i \\\"j (k)\\\""', 00:17:13 verbose #20473 > > ;[[ "n"; "--o"; "--p"; "q"; "--r"; "s:/t u/v.w"; "--x"; "y:/z.a"; "--b"; 00:17:13 verbose #20474 > > "c.d"; "\\e{f-g}"; "h.i"; "j (k)" ]] 00:17:13 verbose #20475 > > 00:17:13 verbose #20476 > > $'\@$"l ""m n:\\o.p"""', 00:17:13 verbose #20477 > > ;[[ "l"; "m n:\\o.p" ]] 00:17:13 verbose #20478 > > ]] 00:17:13 verbose #20479 > > |> listm.rev 00:17:13 verbose #20480 > > |> listm.map fun input, expected => 00:17:13 verbose #20481 > > input 00:17:13 verbose #20482 > > |> split_args 00:17:13 verbose #20483 > > |> fun x => 00:17:13 verbose #20484 > > try 00:17:13 verbose #20485 > > fun () => 00:17:13 verbose #20486 > > ($'$"\ninput: {!input}"' : string) 00:17:13 verbose #20487 > > |> console.write_line 00:17:13 verbose #20488 > > x 00:17:13 verbose #20489 > > |> resultm.get 00:17:13 verbose #20490 > > |> am'.map_base fst 00:17:13 verbose #20491 > > |> _assert_eq' expected 00:17:13 verbose #20492 > > false 00:17:13 verbose #20493 > > fun ex => 00:17:13 verbose #20494 > > ($'$"error / expected: %A{!expected} / ex: %A{!ex}"' : string) 00:17:13 verbose #20495 > > |> console.write_line 00:17:13 verbose #20496 > > Some true 00:17:13 verbose #20497 > > |> optionm.value 00:17:13 verbose #20498 > > |> listm'.filter id 00:17:13 verbose #20499 > > |> function 00:17:13 verbose #20500 > > | [[]] => () 00:17:13 verbose #20501 > > | x => failwith $'$"{!x}"' 00:17:13 verbose #20502 > 00:17:12 debug #1197 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c120c48793f6e15a96ae541245a732945ddca2be2d341eaa9bfe5af13fa4c065/main.spi 00:17:16 verbose #20503 > > 00:17:16 verbose #20504 > > ╭─[ 2.96s - stdout ]───────────────────────────────────────────────────────────╮ 00:17:16 verbose #20505 > > │ │ 00:17:16 verbose #20506 > > │ input: a b c │ 00:17:16 verbose #20507 > > │ assert_eq' / actual: [|"a"; "b"; "c"|] / expected: [|"a"; "b"; "c"|] │ 00:17:16 verbose #20508 > > │ │ 00:17:16 verbose #20509 > > │ input: e f "g h" i │ 00:17:16 verbose #20510 > > │ assert_eq' / actual: [|"e"; "f"; "g h"; "i"|] / expected: [|"e"; "f"; "g h"; │ 00:17:16 verbose #20511 > > │ "i"|] │ 00:17:16 verbose #20512 > > │ │ 00:17:16 verbose #20513 > > │ input: "j k" "l" "m" │ 00:17:16 verbose #20514 > > │ assert_eq' / actual: [|"j k"; "l"; "m"|] / expected: [|"j k"; "l"; "m"|] │ 00:17:16 verbose #20515 > > │ │ 00:17:16 verbose #20516 > > │ input: s -t "u `"v`" w" │ 00:17:16 verbose #20517 > > │ assert_eq' / actual: [|"s"; "-t"; "u `"v`" w"|] / expected: [|"s"; "-t"; "u │ 00:17:16 verbose #20518 > > │ `"v`" w"|] │ 00:17:16 verbose #20519 > > │ │ 00:17:16 verbose #20520 > > │ input: n -o "p \"q\" r" │ 00:17:16 verbose #20521 > > │ assert_eq' / actual: [|"n"; "-o"; "p \"q\" r"|] / expected: [|"n"; "-o"; "p │ 00:17:16 verbose #20522 > > │ \"q\" r"|] │ 00:17:16 verbose #20523 > > │ │ 00:17:16 verbose #20524 > > │ input: r -s "t \"u\"" │ 00:17:16 verbose #20525 > > │ assert_eq' / actual: [|"r"; "-s"; "t \"u\""|] / expected: [|"r"; "-s"; "t │ 00:17:16 verbose #20526 > > │ \"u\""|] │ 00:17:16 verbose #20527 > > │ │ 00:17:16 verbose #20528 > > │ input: x -y "$z -a '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[1] + `$d++ }" │ 00:17:16 verbose #20529 > > │ assert_eq' / actual: [|"x"; "-y"; "$z -a '(b=\"c-id=)[a-fA-F0-9]{8}', { `$_[ │ 00:17:16 verbose #20530 > > │ 1] + `$d++ }"|] / expected: [|"x"; "-y"; "$z -a '(b=\"c-id=)[a-fA-F0-9]{8}', │ 00:17:16 verbose #20531 > > │ { `$_[1] + `$d++ }"|] │ 00:17:16 verbose #20532 > > │ │ 00:17:16 verbose #20533 > > │ input: e -f "$g -h '(i=`"j-id=)[a-fA-F0-9]{8}', { `$_[1] + `$k++ }" │ 00:17:16 verbose #20534 > > │ assert_eq' / actual: [|"e"; "-f"; "$g -h '(i=`"j-id=)[a-fA-F0-9]{8}', { `$_[ │ 00:17:16 verbose #20535 > > │ 1] + `$k++ }"|] / expected: [|"e"; "-f"; "$g -h '(i=`"j-id=)[a-fA-F0-9]{8}', │ 00:17:16 verbose #20536 > > │ { `$_[1] + `$k++ }"|] │ 00:17:16 verbose #20537 > > │ │ 00:17:16 verbose #20538 > > │ input: --l \"''' m '''\" │ 00:17:16 verbose #20539 > > │ assert_eq' / actual: [|"--l"; "''' m '''"|] / expected: [|"--l"; "''' m │ 00:17:16 verbose #20540 > > │ '''"|] │ 00:17:16 verbose #20541 > > │ │ 00:17:16 verbose #20542 > > │ input: n --o --p q --r "s:/t u/v.w" --x "y:/z.a" --b c.d "\e{f-g}" h.i "j │ 00:17:16 verbose #20543 > > │ (k)" │ 00:17:16 verbose #20544 > > │ assert_eq' / actual: [|"n"; "--o"; "--p"; "q"; "--r"; "s:/t u/v.w"; "--x"; │ 00:17:16 verbose #20545 > > │ "y:/z.a"; "--b"; "c.d"; │ 00:17:16 verbose #20546 > > │ "\e{f-g}"; "h.i"; "j (k)"|] / expected: [|"n"; "--o"; "--p"; "q"; "--r"; │ 00:17:16 verbose #20547 > > │ "s:/t u/v.w"; "--x"; "y:/z.a"; "--b"; "c.d"; │ 00:17:16 verbose #20548 > > │ "\e{f-g}"; "h.i"; "j (k)"|] │ 00:17:16 verbose #20549 > > │ │ 00:17:16 verbose #20550 > > │ input: l "m n:\o.p" │ 00:17:16 verbose #20551 > > │ assert_eq' / actual: [|"l"; "m n:\o.p"|] / expected: [|"l"; "m n:\o.p"|] │ 00:17:16 verbose #20552 > > │ │ 00:17:16 verbose #20553 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20554 > > 00:17:16 verbose #20555 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20556 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20557 > > │ ## parsing │ 00:17:16 verbose #20558 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20559 > > 00:17:16 verbose #20560 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20561 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20562 > > │ ### range │ 00:17:16 verbose #20563 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20564 > > 00:17:16 verbose #20565 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20566 > > type range = 00:17:16 verbose #20567 > > { 00:17:16 verbose #20568 > > from : int 00:17:16 verbose #20569 > > to : int 00:17:16 verbose #20570 > > } 00:17:16 verbose #20571 > 00:17:15 debug #1198 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/39f388da455916535f1fe0b1785dfc2aac5ecee0fceb4e888299f63eb50acf02/main.spi 00:17:16 verbose #20572 > > 00:17:16 verbose #20573 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20574 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20575 > > │ ### position │ 00:17:16 verbose #20576 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20577 > > 00:17:16 verbose #20578 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20579 > > type position = 00:17:16 verbose #20580 > > { 00:17:16 verbose #20581 > > line : int 00:17:16 verbose #20582 > > col : int 00:17:16 verbose #20583 > > } 00:17:16 verbose #20584 > 00:17:15 debug #1199 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e22b1dbebb906fce20c917b85d75324861c4ade217197b8c447d13b9b86ae520/main.spi 00:17:16 verbose #20585 > > 00:17:16 verbose #20586 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20587 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20588 > > │ ### parser_state │ 00:17:16 verbose #20589 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20590 > > 00:17:16 verbose #20591 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20592 > > nominal parser_state = 00:17:16 verbose #20593 > > { 00:17:16 verbose #20594 > > line_text : sm'.string_builder 00:17:16 verbose #20595 > > position : position 00:17:16 verbose #20596 > > } 00:17:16 verbose #20597 > 00:17:15 debug #1200 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/00da87afc6c5ea59b639c664fc6134cd77c1507ab5830590805e2d51102ada96/main.spi 00:17:16 verbose #20598 > > 00:17:16 verbose #20599 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20600 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20601 > > │ ### parser │ 00:17:16 verbose #20602 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20603 > > 00:17:16 verbose #20604 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20605 > > type parser t = string * parser_state -> result (t * string * parser_state) 00:17:16 verbose #20606 > > string 00:17:16 verbose #20607 > 00:17:16 debug #1201 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0e1682d34bf1a3fdb0acf099d56a2416e3399ec5abf7c12b113a0c1581520726/main.spi 00:17:16 verbose #20608 > > 00:17:16 verbose #20609 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20610 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20611 > > │ ### parse │ 00:17:16 verbose #20612 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20613 > > 00:17:16 verbose #20614 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20615 > > inl parse forall t. (p : parser t) (input : string) : result (t * string * 00:17:16 verbose #20616 > > parser_state) string = 00:17:16 verbose #20617 > > inl input = 00:17:16 verbose #20618 > > input 00:17:16 verbose #20619 > > |> optionm'.of_obj 00:17:16 verbose #20620 > > |> optionm'.default_value' "" 00:17:16 verbose #20621 > > p (input, { line_text = "" |> sm'.string_builder; position = { line = 1; col 00:17:16 verbose #20622 > > = 1 } } |> parser_state) 00:17:16 verbose #20623 > 00:17:16 debug #1202 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/af1d73a7952fc43d98d82f0ffa43d79d83efa61962db6252fbdaa05ea11c8064/main.spi 00:17:16 verbose #20624 > > 00:17:16 verbose #20625 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20626 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20627 > > │ ### inc │ 00:17:16 verbose #20628 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20629 > > 00:17:16 verbose #20630 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20631 > > inl inc c (parser_state s) = 00:17:16 verbose #20632 > > match c with 00:17:16 verbose #20633 > > | '\n' => { line = s.position.line + 1; col = 1 } 00:17:16 verbose #20634 > > | _ => { s.position with col = s.position.col + 1 }.position 00:17:16 verbose #20635 > 00:17:16 debug #1203 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a8f78d2a57ad5a282b7d62eb1861b4f10ccc6b965074a107fcc5fc51d00278d0/main.spi 00:17:16 verbose #20636 > > 00:17:16 verbose #20637 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20638 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20639 > > │ ### update │ 00:17:16 verbose #20640 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20641 > > 00:17:16 verbose #20642 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20643 > > inl update result s = 00:17:16 verbose #20644 > > (s, result |> sm'.to_char_array |> a |> (fun x => x : _ int _) |> 00:17:16 verbose #20645 > > am'.to_list' |> listm'.unbox) 00:17:16 verbose #20646 > > ||> listm.fold fun (parser_state s) c => 00:17:16 verbose #20647 > > { s with 00:17:16 verbose #20648 > > position = s |> parser_state |> inc c 00:17:16 verbose #20649 > > line_text = 00:17:16 verbose #20650 > > match c with 00:17:16 verbose #20651 > > | '\n' => s.line_text |> sm'.builder_clear 00:17:16 verbose #20652 > > | c => s.line_text |> sm'.builder_append (sm'.obj_to_string c) 00:17:16 verbose #20653 > > } |> parser_state 00:17:16 verbose #20654 > 00:17:16 debug #1204 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/01ae9a94d084eeaa6568701bf335d717eec65cc4b4c544b72561dd23d35d6e9c/main.spi 00:17:16 verbose #20655 > > 00:17:16 verbose #20656 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:16 verbose #20657 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:16 verbose #20658 > > │ ### any_char │ 00:17:16 verbose #20659 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:16 verbose #20660 > > 00:17:16 verbose #20661 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:16 verbose #20662 > > inl any_char () : parser char = function 00:17:16 verbose #20663 > > | "", s => Error $'$"parsing.any_char / unexpected end of input / s: 00:17:16 verbose #20664 > > %A{!s}"' 00:17:16 verbose #20665 > > | x, s => 00:17:16 verbose #20666 > > inl first_char = x |> sm'.index 0i32 00:17:16 verbose #20667 > > inl rest = x |> sm'.range (am'.Start 1i32) (am'.End id) 00:17:16 verbose #20668 > > in Ok (first_char, rest, s |> update (sm'.obj_to_string first_char)) 00:17:16 verbose #20669 > 00:17:16 debug #1205 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca5210c47c4cccea2f346981a04423871f174837613527946bdd9b93706cf180/main.spi 00:17:17 verbose #20670 > > 00:17:17 verbose #20671 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:17 verbose #20672 > > //// test 00:17:17 verbose #20673 > > 00:17:17 verbose #20674 > > "abc" 00:17:17 verbose #20675 > > |> parse (any_char ()) 00:17:17 verbose #20676 > > |> resultm.get 00:17:17 verbose #20677 > > |> sm'.format_debug 00:17:17 verbose #20678 > > |> _assert_eq ( 00:17:17 verbose #20679 > > ('a', "bc", { line_text = "a" |> sm'.string_builder; position = { line = 00:17:17 verbose #20680 > > 1i32; col = 2i32 } }) 00:17:17 verbose #20681 > > |> sm'.format_debug 00:17:17 verbose #20682 > > ) 00:17:17 verbose #20683 > 00:17:16 debug #1206 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/17ffdc0a4f41f9bab43f64c65c789f5bef4f8409a031c6a032b3780c1ec78db1/main.spi 00:17:17 verbose #20684 > > 00:17:17 verbose #20685 > > ╭─[ 246.29ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:17 verbose #20686 > > │ assert_eq / actual: "struct ('a', "bc", a, 1, 2)" / expected: "struct ('a', │ 00:17:17 verbose #20687 > > │ "bc", a, 1, 2)" │ 00:17:17 verbose #20688 > > │ │ 00:17:17 verbose #20689 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:17 verbose #20690 > > 00:17:17 verbose #20691 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:17 verbose #20692 > > //// test 00:17:17 verbose #20693 > > 00:17:17 verbose #20694 > > "abc" 00:17:17 verbose #20695 > > |> parse_ (any_char_ ()) 00:17:17 verbose #20696 > > |> resultm.get 00:17:17 verbose #20697 > > |> sm'.format_debug 00:17:17 verbose #20698 > > |> _assert_eq' (('a', ($'FParsec.Position (null, 0, 1, 2)' : position_)) |> 00:17:17 verbose #20699 > > sm'.format_debug) 00:17:17 verbose #20700 > 00:17:17 debug #1207 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b19d92a9cb3cb1fd3ec11c5a8bd2e4d9a182f20a4a03504aceaff24725ff3c9/main.spi 00:17:17 verbose #20701 > > 00:17:17 verbose #20702 > > ╭─[ 197.16ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:17 verbose #20703 > > │ assert_eq' / actual: "struct ('a', (Ln: 1, Col: 2))" / expected: "struct │ 00:17:17 verbose #20704 > > │ ('a', (Ln: 1, Col: 2))" │ 00:17:17 verbose #20705 > > │ │ 00:17:17 verbose #20706 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:17 verbose #20707 > > 00:17:17 verbose #20708 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:17 verbose #20709 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:17 verbose #20710 > > │ ### p_char │ 00:17:17 verbose #20711 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:17 verbose #20712 > > 00:17:17 verbose #20713 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:17 verbose #20714 > > inl p_char (c : char) : parser char = function 00:17:17 verbose #20715 > > | "", s => Error $'$"parsing.p_char / unexpected end of input / s: %A{!s}"' 00:17:17 verbose #20716 > > | input, parser_state ({ line_text position = { line col } } as s) => 00:17:17 verbose #20717 > > inl first_char = input |> sm'.index 0i32 00:17:17 verbose #20718 > > if first_char = c 00:17:17 verbose #20719 > > then Ok ( 00:17:17 verbose #20720 > > first_char, 00:17:17 verbose #20721 > > input |> sm'.range (am'.Start 1i32) (am'.End id), 00:17:17 verbose #20722 > > s |> parser_state |> update (sm'.obj_to_string first_char) 00:17:17 verbose #20723 > > ) 00:17:17 verbose #20724 > > else 00:17:17 verbose #20725 > > inl message : string = 00:17:17 verbose #20726 > > inl rest = 00:17:17 verbose #20727 > > input 00:17:17 verbose #20728 > > |> sm'.range 00:17:17 verbose #20729 > > (am'.Start 0i32) 00:17:17 verbose #20730 > > (am'.End fun l => 00:17:17 verbose #20731 > > match (input |> sm'.index_of "\n") - 1 with 00:17:17 verbose #20732 > > | -2 => l 00:17:17 verbose #20733 > > | l => l 00:17:17 verbose #20734 > > ) 00:17:17 verbose #20735 > > $'$"parsing.p_char / expected: \'{!c}\' / line: {!line} / col: 00:17:17 verbose #20736 > > {!col}\n{!line_text}{!rest}"' 00:17:17 verbose #20737 > > inl pointer_line = (sm'.replicate (col - 1) " ") +. "^" 00:17:17 verbose #20738 > > $'$"{!message}\n{!pointer_line}\n"' |> Error 00:17:17 verbose #20739 > 00:17:17 debug #1208 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/93a16bdb5739648a023ad73052679dbf38056fa80ddd2380adca053f2799dd28/main.spi 00:17:17 verbose #20740 > > 00:17:17 verbose #20741 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:17 verbose #20742 > > //// test 00:17:17 verbose #20743 > > 00:17:17 verbose #20744 > > "abc" 00:17:17 verbose #20745 > > |> parse (p_char 'a') 00:17:17 verbose #20746 > > |> resultm.get 00:17:17 verbose #20747 > > |> sm'.format_debug 00:17:17 verbose #20748 > > |> _assert_eq ( 00:17:17 verbose #20749 > > ('a', "bc", { line_text = "a" |> sm'.string_builder; position = { line = 00:17:17 verbose #20750 > > 1i32; col = 2i32 } }) 00:17:17 verbose #20751 > > |> sm'.format_debug 00:17:17 verbose #20752 > > ) 00:17:17 verbose #20753 > 00:17:17 debug #1209 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d804be58be23e7fe273aa47718525189c6bd9f7d11b197a0ea80b2606061fbd1/main.spi 00:17:18 verbose #20754 > > 00:17:18 verbose #20755 > > ╭─[ 197.70ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:18 verbose #20756 > > │ assert_eq / actual: "struct ('a', "bc", a, 1, 2)" / expected: "struct ('a', │ 00:17:18 verbose #20757 > > │ "bc", a, 1, 2)" │ 00:17:18 verbose #20758 > > │ │ 00:17:18 verbose #20759 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20760 > > 00:17:18 verbose #20761 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20762 > > //// test 00:17:18 verbose #20763 > > 00:17:18 verbose #20764 > > "abc" 00:17:18 verbose #20765 > > |> parse_ (p_char_ 'a') 00:17:18 verbose #20766 > > |> resultm.get 00:17:18 verbose #20767 > > |> sm'.format_debug 00:17:18 verbose #20768 > > |> _assert_eq' (('a', ($'FParsec.Position (null, 0, 1, 2)' : position_)) |> 00:17:18 verbose #20769 > > sm'.format_debug) 00:17:18 verbose #20770 > 00:17:17 debug #1210 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c28ad7d6ea9438300b2f365126c1cf8f4e414e7b4a6af6d46670a2396c666a09/main.spi 00:17:18 verbose #20771 > > 00:17:18 verbose #20772 > > ╭─[ 144.73ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:18 verbose #20773 > > │ assert_eq' / actual: "struct ('a', (Ln: 1, Col: 2))" / expected: "struct │ 00:17:18 verbose #20774 > > │ ('a', (Ln: 1, Col: 2))" │ 00:17:18 verbose #20775 > > │ │ 00:17:18 verbose #20776 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20777 > > 00:17:18 verbose #20778 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:18 verbose #20779 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:18 verbose #20780 > > │ ### any_string │ 00:17:18 verbose #20781 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20782 > > 00:17:18 verbose #20783 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20784 > > inl any_string length : parser string = fun input, s => 00:17:18 verbose #20785 > > if sm'.length input < length 00:17:18 verbose #20786 > > then Error $'$"parsing.any_string / unexpected end of input / s: %A{!s}"' 00:17:18 verbose #20787 > > else 00:17:18 verbose #20788 > > inl result = input |> sm'.range (am'.Start 0i32) (am'.End fun _ => 00:17:18 verbose #20789 > > length - 1) 00:17:18 verbose #20790 > > inl rest = input |> sm'.range (am'.Start length) (am'.End id) 00:17:18 verbose #20791 > > Ok (result, rest, s |> update result) 00:17:18 verbose #20792 > 00:17:17 debug #1211 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5f0de9e954e6d2da5fbe45ff9f64e151de5500df525d5256e7646ceb10c52c0a/main.spi 00:17:18 verbose #20793 > > 00:17:18 verbose #20794 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20795 > > //// test 00:17:18 verbose #20796 > > 00:17:18 verbose #20797 > > "abcdef" 00:17:18 verbose #20798 > > |> parse (any_string 3i32) 00:17:18 verbose #20799 > > |> resultm.get 00:17:18 verbose #20800 > > |> sm'.format_debug 00:17:18 verbose #20801 > > |> _assert_eq ( 00:17:18 verbose #20802 > > ("abc", "def", { line_text = "abc" |> sm'.string_builder; position = { line 00:17:18 verbose #20803 > > = 1i32; col = 4i32 } }) 00:17:18 verbose #20804 > > |> sm'.format_debug 00:17:18 verbose #20805 > > ) 00:17:18 verbose #20806 > 00:17:17 debug #1212 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7be08b0eec3c3cbc1ec65c0f21724c025214b9e07ad9c33ccc2016386b2aa8a6/main.spi 00:17:18 verbose #20807 > > 00:17:18 verbose #20808 > > ╭─[ 198.93ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:18 verbose #20809 > > │ assert_eq / actual: "struct ("abc", "def", abc, 1, 4)" / expected: "struct │ 00:17:18 verbose #20810 > > │ ("abc", "def", abc, 1, 4)" │ 00:17:18 verbose #20811 > > │ │ 00:17:18 verbose #20812 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20813 > > 00:17:18 verbose #20814 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20815 > > //// test 00:17:18 verbose #20816 > > 00:17:18 verbose #20817 > > "abcdef" 00:17:18 verbose #20818 > > |> parse_ (any_string__ 3) 00:17:18 verbose #20819 > > |> resultm.get 00:17:18 verbose #20820 > > |> sm'.obj_to_string 00:17:18 verbose #20821 > > |> _assert_eq' (("abc", ($'FParsec.Position (null, 0, 1, 4)' : position_)) |> 00:17:18 verbose #20822 > > sm'.obj_to_string) 00:17:18 verbose #20823 > 00:17:18 debug #1213 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6fce2db751359daffc048f91be7eaa78552016ebd7e5cc22a21197c4929873ac/main.spi 00:17:18 verbose #20824 > > 00:17:18 verbose #20825 > > ╭─[ 176.92ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:18 verbose #20826 > > │ assert_eq' / actual: "(abc, (Ln: 1, Col: 4))" / expected: "(abc, (Ln: 1, │ 00:17:18 verbose #20827 > > │ Col: 4))" │ 00:17:18 verbose #20828 > > │ │ 00:17:18 verbose #20829 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20830 > > 00:17:18 verbose #20831 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:18 verbose #20832 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:18 verbose #20833 > > │ ### skip_any_string │ 00:17:18 verbose #20834 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20835 > > 00:17:18 verbose #20836 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20837 > > inl skip_any_string length : parser () = fun input, s => 00:17:18 verbose #20838 > > if sm'.length input < length 00:17:18 verbose #20839 > > then Error $'$"parsing.skip_any_string / unexpected end of input / s: 00:17:18 verbose #20840 > > %A{!s}"' 00:17:18 verbose #20841 > > else Ok ( 00:17:18 verbose #20842 > > (), 00:17:18 verbose #20843 > > input |> sm'.range (am'.Start length) (am'.End id), 00:17:18 verbose #20844 > > s |> update (input |> sm'.range (am'.Start 0i32) (am'.End fun _ => 00:17:18 verbose #20845 > > length - 1)) 00:17:18 verbose #20846 > > ) 00:17:18 verbose #20847 > 00:17:18 debug #1214 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c289231ed4cd0ccb088f214b7994b632da5ec9aaf3a81209ccdb546982c0f1a1/main.spi 00:17:18 verbose #20848 > > 00:17:18 verbose #20849 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20850 > > //// test 00:17:18 verbose #20851 > > 00:17:18 verbose #20852 > > "abcdef" 00:17:18 verbose #20853 > > |> parse (skip_any_string 3i32) 00:17:18 verbose #20854 > > |> resultm.get 00:17:18 verbose #20855 > > |> sm'.format_debug 00:17:18 verbose #20856 > > |> _assert_eq ( 00:17:18 verbose #20857 > > ((), "def", { line_text = "abc" |> sm'.string_builder; position = { line = 00:17:18 verbose #20858 > > 1i32; col = 4i32 } }) 00:17:18 verbose #20859 > > |> sm'.format_debug 00:17:18 verbose #20860 > > ) 00:17:18 verbose #20861 > 00:17:18 debug #1215 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d434c45741d7ceeca0589a788148ef05e97df744038ae2f1c93bd381605888bf/main.spi 00:17:18 verbose #20862 > > 00:17:18 verbose #20863 > > ╭─[ 186.03ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:18 verbose #20864 > > │ assert_eq / actual: "struct ("def", abc, 1, 4)" / expected: "struct ("def", │ 00:17:18 verbose #20865 > > │ abc, 1, 4)" │ 00:17:18 verbose #20866 > > │ │ 00:17:18 verbose #20867 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20868 > > 00:17:18 verbose #20869 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:18 verbose #20870 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:18 verbose #20871 > > │ ### (>>.) │ 00:17:18 verbose #20872 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:18 verbose #20873 > > 00:17:18 verbose #20874 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:18 verbose #20875 > > inl (>>.) forall t u. (a : parser t) (b : parser u) : parser u = fun input, s => 00:17:18 verbose #20876 > > match a (input, s) with 00:17:18 verbose #20877 > > | Ok (_, rest, s) => b (rest, s) 00:17:18 verbose #20878 > > | Error e => Error e 00:17:18 verbose #20879 > 00:17:18 debug #1216 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/963ab8adcdb34aede4de2126c8f71cdf6e1f49a4a3e59270600352c6237c92f4/main.spi 00:17:19 verbose #20880 > > 00:17:19 verbose #20881 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:19 verbose #20882 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:19 verbose #20883 > > │ ### (>>.) │ 00:17:19 verbose #20884 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #20885 > > 00:17:19 verbose #20886 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #20887 > > inl (.>>) forall t u. (a : parser t) (b : parser u) : parser t = fun input, s => 00:17:19 verbose #20888 > > match a (input, s) with 00:17:19 verbose #20889 > > | Ok (result, rest, s) => 00:17:19 verbose #20890 > > match b (rest, s) with 00:17:19 verbose #20891 > > | Ok (_, rest, s) => Ok (result, rest, s) 00:17:19 verbose #20892 > > | Error e => Error e 00:17:19 verbose #20893 > > | Error e => Error e 00:17:19 verbose #20894 > 00:17:18 debug #1217 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/46fbc3e2709774f4d97537ba992f424423e166a8f05058242e83fd260dca684f/main.spi 00:17:19 verbose #20895 > > 00:17:19 verbose #20896 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:19 verbose #20897 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:19 verbose #20898 > > │ ### (.>>.) │ 00:17:19 verbose #20899 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #20900 > > 00:17:19 verbose #20901 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #20902 > > inl (.>>.) forall t u. (a : parser t) (b : parser u) : parser (t * u) = fun 00:17:19 verbose #20903 > > input, s => 00:17:19 verbose #20904 > > match a (input, s) with 00:17:19 verbose #20905 > > | Ok (result_a, rest, s) => 00:17:19 verbose #20906 > > match b (rest, s) with 00:17:19 verbose #20907 > > | Ok (result_b, rest, s) => Ok ((result_a, result_b), rest, s) 00:17:19 verbose #20908 > > | Error e => Error e 00:17:19 verbose #20909 > > | Error e => Error e 00:17:19 verbose #20910 > 00:17:18 debug #1218 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ddf0d995789d1f8f8a2b5472d81812b7b940b3269b06e3e41b4641fb82787f5/main.spi 00:17:19 verbose #20911 > > 00:17:19 verbose #20912 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:19 verbose #20913 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:19 verbose #20914 > > │ ### (>>%) │ 00:17:19 verbose #20915 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #20916 > > 00:17:19 verbose #20917 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #20918 > > inl (>>%) forall t u. (a : parser t) (b : u) : parser u = fun input, s => 00:17:19 verbose #20919 > > match a (input, s) with 00:17:19 verbose #20920 > > | Ok (_, rest, s) => Ok (b, rest, s) 00:17:19 verbose #20921 > > | Error e => Error e 00:17:19 verbose #20922 > 00:17:18 debug #1219 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/39a600906ff1beedadb2afff73b8db653e37a47e6804c1c5c6d99e25bb8805f7/main.spi 00:17:19 verbose #20923 > > 00:17:19 verbose #20924 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #20925 > > //// test 00:17:19 verbose #20926 > > 00:17:19 verbose #20927 > > "abc" 00:17:19 verbose #20928 > > |> parse (p_char 'a' >>. p_char 'b') 00:17:19 verbose #20929 > > |> resultm.get 00:17:19 verbose #20930 > > |> sm'.format_debug 00:17:19 verbose #20931 > > |> _assert_eq ( 00:17:19 verbose #20932 > > ('b', "c", { line_text = "ab" |> sm'.string_builder; position = { line = 00:17:19 verbose #20933 > > 1i32; col = 3i32 } }) 00:17:19 verbose #20934 > > |> sm'.format_debug 00:17:19 verbose #20935 > > ) 00:17:19 verbose #20936 > > 00:17:19 verbose #20937 > > "abc\ndef\nghi" 00:17:19 verbose #20938 > > |> parse (skip_any_string 5i32 >>. p_char 'a') 00:17:19 verbose #20939 > > |> _assert_eq (Error "parsing.p_char / expected: 'a' / line: 2 / col: 2\ndef\n 00:17:19 verbose #20940 > > ^\n") 00:17:19 verbose #20941 > 00:17:18 debug #1220 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9999dfab9661317f9e2ee7b9d467c93dbb0d09c1af100dde9d17e43f7939804b/main.spi 00:17:19 verbose #20942 > > 00:17:19 verbose #20943 > > ╭─[ 329.63ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:19 verbose #20944 > > │ assert_eq / actual: "struct ('b', "c", ab, 1, 3)" / expected: "struct ('b', │ 00:17:19 verbose #20945 > > │ "c", ab, 1, 3)" │ 00:17:19 verbose #20946 > > │ assert_eq / actual: US0_1 "parsing.p_char / expected: 'a' / line: 2 / col: 2 │ 00:17:19 verbose #20947 > > │ def │ 00:17:19 verbose #20948 > > │ ^ │ 00:17:19 verbose #20949 > > │ " / expected: US0_1 "parsing.p_char / expected: 'a' / line: 2 / col: 2 │ 00:17:19 verbose #20950 > > │ def │ 00:17:19 verbose #20951 > > │ ^ │ 00:17:19 verbose #20952 > > │ " │ 00:17:19 verbose #20953 > > │ │ 00:17:19 verbose #20954 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #20955 > > 00:17:19 verbose #20956 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #20957 > > //// test 00:17:19 verbose #20958 > > 00:17:19 verbose #20959 > > "abc" 00:17:19 verbose #20960 > > |> parse_ (p_char_ 'a' >>.$ p_char_ 'b') 00:17:19 verbose #20961 > > |> resultm.get 00:17:19 verbose #20962 > > |> sm'.obj_to_string 00:17:19 verbose #20963 > > |> _assert_eq' (('b', ($'FParsec.Position (null, 0, 1, 3)' : position_)) |> 00:17:19 verbose #20964 > > sm'.obj_to_string) 00:17:19 verbose #20965 > 00:17:19 debug #1221 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0a90cdbd96bab4de63eae7fee72e26b696e485ab6f6c4cf35a9b093c5ae8bace/main.spi 00:17:19 verbose #20966 > > 00:17:19 verbose #20967 > > ╭─[ 160.46ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:19 verbose #20968 > > │ assert_eq' / actual: "(b, (Ln: 1, Col: 3))" / expected: "(b, (Ln: 1, Col: │ 00:17:19 verbose #20969 > > │ 3))" │ 00:17:19 verbose #20970 > > │ │ 00:17:19 verbose #20971 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #20972 > > 00:17:19 verbose #20973 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #20974 > > //// test 00:17:19 verbose #20975 > > 00:17:19 verbose #20976 > > "abc\ndef\nghi" 00:17:19 verbose #20977 > > |> parse_ (skip_any_string_ 5 >>.$ p_char_ 'a') 00:17:19 verbose #20978 > > |> resultm.unwrap_err 00:17:19 verbose #20979 > > |> sm'.obj_to_string 00:17:19 verbose #20980 > > |> sm'.replace "\r\n" "\n" 00:17:19 verbose #20981 > > |> _assert_eq "(Error in Ln: 2 Col: 2\ndef\n ^\nExpecting: 'a'\n, Error in Ln: 2 00:17:19 verbose #20982 > > Col: 2\nExpecting: 'a'\n)" 00:17:19 verbose #20983 > 00:17:19 debug #1222 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/33639e046e74e546a89ca26d6b6cf2461cd858e50ab38bdc0fc6a31489651b16/main.spi 00:17:19 verbose #20984 > > 00:17:19 verbose #20985 > > ╭─[ 159.77ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:19 verbose #20986 > > │ assert_eq / actual: "(Error in Ln: 2 Col: 2 │ 00:17:19 verbose #20987 > > │ def │ 00:17:19 verbose #20988 > > │ ^ │ 00:17:19 verbose #20989 > > │ Expecting: 'a' │ 00:17:19 verbose #20990 > > │ , Error in Ln: 2 Col: 2 │ 00:17:19 verbose #20991 > > │ Expecting: 'a' │ 00:17:19 verbose #20992 > > │ )" / expected: "(Error in Ln: 2 Col: 2 │ 00:17:19 verbose #20993 > > │ def │ 00:17:19 verbose #20994 > > │ ^ │ 00:17:19 verbose #20995 > > │ Expecting: 'a' │ 00:17:19 verbose #20996 > > │ , Error in Ln: 2 Col: 2 │ 00:17:19 verbose #20997 > > │ Expecting: 'a' │ 00:17:19 verbose #20998 > > │ )" │ 00:17:19 verbose #20999 > > │ │ 00:17:19 verbose #21000 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #21001 > > 00:17:19 verbose #21002 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:19 verbose #21003 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:19 verbose #21004 > > │ ### none_of │ 00:17:19 verbose #21005 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:19 verbose #21006 > > 00:17:19 verbose #21007 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:19 verbose #21008 > > inl none_of (chars : list char) : parser char = function 00:17:19 verbose #21009 > > | "", s => 00:17:19 verbose #21010 > > inl chars = chars |> listm'.box |> listm'.to_array' 00:17:19 verbose #21011 > > Error $'$"parsing.none_of / unexpected end of input / chars: %A{!chars} 00:17:19 verbose #21012 > > / s: %A{!s}"' 00:17:19 verbose #21013 > > | x, s => 00:17:19 verbose #21014 > > inl first_char = x |> sm'.index 0i32 00:17:19 verbose #21015 > > inl rest = x |> sm'.range (am'.Start 1i32) (am'.End id) 00:17:19 verbose #21016 > > if chars |> listm'.exists' ((=) first_char) |> not 00:17:19 verbose #21017 > > then Ok (first_char, rest, s |> update (sm'.obj_to_string first_char)) 00:17:19 verbose #21018 > > else 00:17:19 verbose #21019 > > inl chars = chars |> listm'.box |> listm'.to_array' 00:17:19 verbose #21020 > > Error $'$"parsing.none_of / unexpected char: \'{!first_char}\' 00:17:19 verbose #21021 > > chars: %A{!chars} / s: %A{!s}"' 00:17:20 verbose #21022 > 00:17:19 debug #1223 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9dcc5a5330af36824f09c1da4c9fb48a071b478cc605ef67fd67bb3610b2c0c7/main.spi 00:17:20 verbose #21023 > > 00:17:20 verbose #21024 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:20 verbose #21025 > > //// test 00:17:20 verbose #21026 > > 00:17:20 verbose #21027 > > "abc" 00:17:20 verbose #21028 > > |> parse (none_of [['a'; 'b'; 'c']]) 00:17:20 verbose #21029 > > |> _assert_eq (Error "parsing.none_of / unexpected char: \'a\' / chars: [[|'a'; 00:17:20 verbose #21030 > > 'b'; 'c'|]] / s: struct (, 1, 1)") 00:17:20 verbose #21031 > > 00:17:20 verbose #21032 > > "def" 00:17:20 verbose #21033 > > |> parse (none_of [['a'; 'b'; 'c']]) 00:17:20 verbose #21034 > > |> resultm.get 00:17:20 verbose #21035 > > |> sm'.format_debug 00:17:20 verbose #21036 > > |> _assert_eq ( 00:17:20 verbose #21037 > > ('d', "ef", { line_text = "d" |> sm'.string_builder; position = { line = 00:17:20 verbose #21038 > > 1i32; col = 2i32 } }) 00:17:20 verbose #21039 > > |> sm'.format_debug 00:17:20 verbose #21040 > > ) 00:17:20 verbose #21041 > 00:17:19 debug #1224 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a505c401f8a5e4eb8bb482d531bcb0d70ebc61734cf372a4fd592b1a0365658/main.spi 00:17:20 verbose #21042 > > 00:17:20 verbose #21043 > > ╭─[ 260.58ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:20 verbose #21044 > > │ assert_eq / actual: US0_1 │ 00:17:20 verbose #21045 > > │ "parsing.none_of / unexpected char: 'a' / chars: [|'a'; 'b'; 'c'|] / s: │ 00:17:20 verbose #21046 > > │ struct (, 1, 1)" / expected: US0_1 │ 00:17:20 verbose #21047 > > │ "parsing.none_of / unexpected char: 'a' / chars: [|'a'; 'b'; 'c'|] / s: │ 00:17:20 verbose #21048 > > │ struct (, 1, 1)" │ 00:17:20 verbose #21049 > > │ assert_eq / actual: "struct ('d', "ef", d, 1, 2)" / expected: "struct ('d', │ 00:17:20 verbose #21050 > > │ "ef", d, 1, 2)" │ 00:17:20 verbose #21051 > > │ │ 00:17:20 verbose #21052 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:20 verbose #21053 > > 00:17:20 verbose #21054 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:20 verbose #21055 > > //// test 00:17:20 verbose #21056 > > 00:17:20 verbose #21057 > > "abc" 00:17:20 verbose #21058 > > |> parse_ (none_of_ [['a'; 'b'; 'c']]) 00:17:20 verbose #21059 > > |> resultm.unwrap_err 00:17:20 verbose #21060 > > |> sm'.obj_to_string 00:17:20 verbose #21061 > > |> sm'.replace "\r\n" "\n" 00:17:20 verbose #21062 > > |> _assert_eq ($'"(Error in Ln: 1 Col: 1\nabc\n^\nExpecting: any char not in 00:17:20 verbose #21063 > > ‘abc’\n, Error in Ln: 1 Col: 1\nExpecting: any char not in ‘abc’\n)"') 00:17:20 verbose #21064 > > 00:17:20 verbose #21065 > > "def" 00:17:20 verbose #21066 > > |> parse_ (none_of_ [['a'; 'b'; 'c']]) 00:17:20 verbose #21067 > > |> resultm.get 00:17:20 verbose #21068 > > |> sm'.obj_to_string 00:17:20 verbose #21069 > > |> _assert_eq' (('d', ($'FParsec.Position (null, 0, 1, 2)' : position_)) |> 00:17:20 verbose #21070 > > sm'.obj_to_string) 00:17:20 verbose #21071 > 00:17:19 debug #1225 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/da608d5b966eda8fefa1ae16307a749235e184148ed32a33aa0eef3aa2849ff6/main.spi 00:17:20 verbose #21072 > > 00:17:20 verbose #21073 > > ╭─[ 189.94ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:20 verbose #21074 > > │ assert_eq / actual: "(Error in Ln: 1 Col: 1 │ 00:17:20 verbose #21075 > > │ abc │ 00:17:20 verbose #21076 > > │ ^ │ 00:17:20 verbose #21077 > > │ Expecting: any char not in ‘abc’ │ 00:17:20 verbose #21078 > > │ , Error in Ln: 1 Col: 1 │ 00:17:20 verbose #21079 > > │ Expecting: any char not in ‘abc’ │ 00:17:20 verbose #21080 > > │ )" / expected: "(Error in Ln: 1 Col: 1 │ 00:17:20 verbose #21081 > > │ abc │ 00:17:20 verbose #21082 > > │ ^ │ 00:17:20 verbose #21083 > > │ Expecting: any char not in ‘abc’ │ 00:17:20 verbose #21084 > > │ , Error in Ln: 1 Col: 1 │ 00:17:20 verbose #21085 > > │ Expecting: any char not in ‘abc’ │ 00:17:20 verbose #21086 > > │ )" │ 00:17:20 verbose #21087 > > │ assert_eq' / actual: "(d, (Ln: 1, Col: 2))" / expected: "(d, (Ln: 1, Col: │ 00:17:20 verbose #21088 > > │ 2))" │ 00:17:20 verbose #21089 > > │ │ 00:17:20 verbose #21090 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:20 verbose #21091 > > 00:17:20 verbose #21092 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:20 verbose #21093 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:20 verbose #21094 > > │ ### (<|>) │ 00:17:20 verbose #21095 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:20 verbose #21096 > > 00:17:20 verbose #21097 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:20 verbose #21098 > > inl (<|>) forall t. (a : parser t) (b : parser t) : parser t = fun input, s => 00:17:20 verbose #21099 > > match a (input, s) with 00:17:20 verbose #21100 > > | Ok _ as result => result 00:17:20 verbose #21101 > > | Error _ => b (input, s) 00:17:20 verbose #21102 > 00:17:20 debug #1226 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e85c201b57b994fb1920d2cf0c734355d534d507f54bcbf1d4c4a8d5d5ed0ad3/main.spi 00:17:20 verbose #21103 > > 00:17:20 verbose #21104 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:20 verbose #21105 > > //// test 00:17:20 verbose #21106 > > 00:17:20 verbose #21107 > > "abc" 00:17:20 verbose #21108 > > |> parse (p_char 'a' <|> p_char 'b') 00:17:20 verbose #21109 > > |> resultm.get 00:17:20 verbose #21110 > > |> sm'.format_debug 00:17:20 verbose #21111 > > |> _assert_eq ( 00:17:20 verbose #21112 > > ('a', "bc", { line_text = "a" |> sm'.string_builder; position = { line = 00:17:20 verbose #21113 > > 1i32; col = 2i32 } }) 00:17:20 verbose #21114 > > |> sm'.format_debug 00:17:20 verbose #21115 > > ) 00:17:20 verbose #21116 > > 00:17:20 verbose #21117 > > "cba" 00:17:20 verbose #21118 > > |> parse (p_char 'a' <|> p_char 'b') 00:17:20 verbose #21119 > > |> _assert_eq (Error "parsing.p_char / expected: 'b' / line: 1 / col: 00:17:20 verbose #21120 > > 1\ncba\n^\n") 00:17:20 verbose #21121 > 00:17:20 debug #1227 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/83f854b4db640f0ce4976d31536fe68a0c08e2b2024ee848c7842cd0a01fc868/main.spi 00:17:21 verbose #21122 > > 00:17:21 verbose #21123 > > ╭─[ 322.26ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:21 verbose #21124 > > │ assert_eq / actual: "struct ('a', "bc", a, 1, 2)" / expected: "struct ('a', │ 00:17:21 verbose #21125 > > │ "bc", a, 1, 2)" │ 00:17:21 verbose #21126 > > │ assert_eq / actual: US0_1 "parsing.p_char / expected: 'b' / line: 1 / col: 1 │ 00:17:21 verbose #21127 > > │ cba │ 00:17:21 verbose #21128 > > │ ^ │ 00:17:21 verbose #21129 > > │ " / expected: US0_1 "parsing.p_char / expected: 'b' / line: 1 / col: 1 │ 00:17:21 verbose #21130 > > │ cba │ 00:17:21 verbose #21131 > > │ ^ │ 00:17:21 verbose #21132 > > │ " │ 00:17:21 verbose #21133 > > │ │ 00:17:21 verbose #21134 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:21 verbose #21135 > > 00:17:21 verbose #21136 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:21 verbose #21137 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:21 verbose #21138 > > │ ### (|>>) │ 00:17:21 verbose #21139 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:21 verbose #21140 > > 00:17:21 verbose #21141 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:21 verbose #21142 > > inl (|>>) p f : parser _ = fun input => 00:17:21 verbose #21143 > > match p input with 00:17:21 verbose #21144 > > | Ok (result, rest) => Ok (f result, rest) 00:17:21 verbose #21145 > > | Error e => Error e 00:17:21 verbose #21146 > 00:17:20 debug #1228 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8692bc34c3e74a5a8bfef38201ed00420c5fcd155d782ded3288afb975739bbf/main.spi 00:17:21 verbose #21147 > > 00:17:21 verbose #21148 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:21 verbose #21149 > > //// test 00:17:21 verbose #21150 > > 00:17:21 verbose #21151 > > "abc" 00:17:21 verbose #21152 > > |> parse (p_char 'a' |>> sm'.char_to_upper) 00:17:21 verbose #21153 > > |> resultm.get 00:17:21 verbose #21154 > > |> sm'.format_debug 00:17:21 verbose #21155 > > |> _assert_eq ( 00:17:21 verbose #21156 > > ('A', "bc", { line_text = "a" |> sm'.string_builder; position = { line = 00:17:21 verbose #21157 > > 1i32; col = 2i32 } }) 00:17:21 verbose #21158 > > |> sm'.format_debug 00:17:21 verbose #21159 > > ) 00:17:21 verbose #21160 > 00:17:20 debug #1229 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0a6db824dbdf60db9e0059244c91abb0b3a973e3781f0a2dad99e60f1d2a81a3/main.spi 00:17:21 verbose #21161 > > 00:17:21 verbose #21162 > > ╭─[ 228.91ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:21 verbose #21163 > > │ assert_eq / actual: "struct ('A', "bc", a, 1, 2)" / expected: "struct ('A', │ 00:17:21 verbose #21164 > > │ "bc", a, 1, 2)" │ 00:17:21 verbose #21165 > > │ │ 00:17:21 verbose #21166 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:21 verbose #21167 > > 00:17:21 verbose #21168 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:21 verbose #21169 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:21 verbose #21170 > > │ ### many │ 00:17:21 verbose #21171 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:21 verbose #21172 > > 00:17:21 verbose #21173 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:21 verbose #21174 > > inl many p : parser (list _) = fun input => 00:17:21 verbose #21175 > > let rec loop acc input = 00:17:21 verbose #21176 > > match p input with 00:17:21 verbose #21177 > > | Ok (result, rest) => loop (result :: acc) rest 00:17:21 verbose #21178 > > | Error _ => Ok (listm.rev acc, input) 00:17:21 verbose #21179 > > loop [[]] input 00:17:21 verbose #21180 > 00:17:20 debug #1230 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74fb0ab0d8ddc6e586d07320a8705495c1fae2dab3183ec66611b50bb05bc9ef/main.spi 00:17:21 verbose #21181 > > 00:17:21 verbose #21182 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:21 verbose #21183 > > //// test 00:17:21 verbose #21184 > > 00:17:21 verbose #21185 > > "aaabbc" 00:17:21 verbose #21186 > > |> parse (many (p_char 'a' <|> p_char 'b')) 00:17:21 verbose #21187 > > |> resultm.get 00:17:21 verbose #21188 > > |> sm'.format_debug 00:17:21 verbose #21189 > > |> _assert_eq ( 00:17:21 verbose #21190 > > ([['a'; 'a'; 'a'; 'b'; 'b']], "c", { line_text = "aaabb" |> 00:17:21 verbose #21191 > > sm'.string_builder; position = { line = 1i32; col = 6i32 } }) 00:17:21 verbose #21192 > > |> sm'.format_debug 00:17:21 verbose #21193 > > ) 00:17:21 verbose #21194 > 00:17:21 debug #1231 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a0bebd9f810d02ee04dc8ec8b00fc40461d82d2c1785a873c443ec08d9a1002b/main.spi 00:17:21 verbose #21195 > > 00:17:21 verbose #21196 > > ╭─[ 258.48ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:21 verbose #21197 > > │ assert_eq / actual: "struct (UH0_1 ('a', UH0_1 ('a', UH0_1 ('a', UH0_1 ('b', │ 00:17:21 verbose #21198 > > │ UH0_1 ('b', UH0_0))))), │ 00:17:21 verbose #21199 > > │ "c", aaabb, 1, 6)" / expected: "struct (UH0_1 ('a', UH0_1 ('a', │ 00:17:21 verbose #21200 > > │ UH0_1 ('a', UH0_1 ('b', UH0_1 ('b', UH0_0))))), │ 00:17:21 verbose #21201 > > │ "c", aaabb, 1, 6)" │ 00:17:21 verbose #21202 > > │ │ 00:17:21 verbose #21203 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:21 verbose #21204 > > 00:17:21 verbose #21205 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:21 verbose #21206 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:21 verbose #21207 > > │ ### many1_chars │ 00:17:21 verbose #21208 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:21 verbose #21209 > > 00:17:21 verbose #21210 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:21 verbose #21211 > > inl many1_chars p : parser string = fun input => 00:17:21 verbose #21212 > > match p input with 00:17:21 verbose #21213 > > | Error e => Error e 00:17:21 verbose #21214 > > | Ok (first_result, rest) => 00:17:21 verbose #21215 > > let rec loop acc input = 00:17:21 verbose #21216 > > match p input with 00:17:21 verbose #21217 > > | Ok (result, rest) => loop (acc +. sm'.obj_to_string result) rest 00:17:21 verbose #21218 > > | Error _ => Ok (acc, input) 00:17:21 verbose #21219 > > loop (sm'.obj_to_string first_result) rest 00:17:21 verbose #21220 > 00:17:21 debug #1232 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/26c32bd724a6f92b950257a86f8c0d8c999f4106d53c12887f01b399c4afca2c/main.spi 00:17:21 verbose #21221 > > 00:17:21 verbose #21222 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:21 verbose #21223 > > //// test 00:17:21 verbose #21224 > > 00:17:21 verbose #21225 > > "aaabbc" 00:17:21 verbose #21226 > > |> parse (many1_chars (p_char 'a' <|> p_char 'b')) 00:17:21 verbose #21227 > > |> resultm.get 00:17:21 verbose #21228 > > |> sm'.format_debug 00:17:21 verbose #21229 > > |> _assert_eq ( 00:17:21 verbose #21230 > > ("aaabb", "c", { line_text = "aaabb" |> sm'.string_builder; position = { 00:17:21 verbose #21231 > > line = 1i32; col = 6i32 } }) 00:17:21 verbose #21232 > > |> sm'.format_debug 00:17:21 verbose #21233 > > ) 00:17:21 verbose #21234 > 00:17:21 debug #1233 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2e974a79577ee036d00a0b362b309ec6e9e16bc6257e320d6e16d2f8760cc706/main.spi 00:17:22 verbose #21235 > > 00:17:22 verbose #21236 > > ╭─[ 318.50ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:22 verbose #21237 > > │ assert_eq / actual: "struct ("aaabb", "c", aaabb, 1, 6)" / expected: "struct │ 00:17:22 verbose #21238 > > │ ("aaabb", "c", aaabb, 1, 6)" │ 00:17:22 verbose #21239 > > │ │ 00:17:22 verbose #21240 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:22 verbose #21241 > > 00:17:22 verbose #21242 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:22 verbose #21243 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:22 verbose #21244 > > │ ### many_chars │ 00:17:22 verbose #21245 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:22 verbose #21246 > > 00:17:22 verbose #21247 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:22 verbose #21248 > > inl many_chars p : parser string = fun input => 00:17:22 verbose #21249 > > match many1_chars p input with 00:17:22 verbose #21250 > > | Ok (result, rest) => Ok (result, rest) 00:17:22 verbose #21251 > > | Error e => Ok ("", input) 00:17:22 verbose #21252 > 00:17:21 debug #1234 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e0f8f429e27b4b857a3f662dda391eeb1ad0837f9608da72713913c6b30d1cfa/main.spi 00:17:22 verbose #21253 > > 00:17:22 verbose #21254 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:22 verbose #21255 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:22 verbose #21256 > > │ ### many_chars_till │ 00:17:22 verbose #21257 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:22 verbose #21258 > > 00:17:22 verbose #21259 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:22 verbose #21260 > > inl many_chars_till p end_p : parser string = fun input => 00:17:22 verbose #21261 > > match end_p input with 00:17:22 verbose #21262 > > | Ok _ => Ok ("", input) 00:17:22 verbose #21263 > > | Error _ => 00:17:22 verbose #21264 > > match many_chars p input with 00:17:22 verbose #21265 > > | Ok (result, rest) => Ok (result, rest) 00:17:22 verbose #21266 > > | Error e => Error e 00:17:22 verbose #21267 > 00:17:21 debug #1235 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8a87495ab324d15c061d6609ae531b40fa35eda3a80b511dc37c0410d2570dac/main.spi 00:17:22 verbose #21268 > > 00:17:22 verbose #21269 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:22 verbose #21270 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:22 verbose #21271 > > │ ### many1 │ 00:17:22 verbose #21272 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:22 verbose #21273 > > 00:17:22 verbose #21274 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:22 verbose #21275 > > inl many1 p : parser (list _) = fun input => 00:17:22 verbose #21276 > > match p input with 00:17:22 verbose #21277 > > | Error e => Error e 00:17:22 verbose #21278 > > | Ok (first_result, rest) => 00:17:22 verbose #21279 > > let rec loop acc input = 00:17:22 verbose #21280 > > match p input with 00:17:22 verbose #21281 > > | Ok (result, rest) => loop (result :: acc) rest 00:17:22 verbose #21282 > > | Error _ => Ok (listm.rev acc, input) 00:17:22 verbose #21283 > > loop [[ first_result ]] rest 00:17:22 verbose #21284 > 00:17:21 debug #1236 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/808e547ec8d4435d0043510a82ada2d6aa0116c35cf0ce55d4443f73c38efe1c/main.spi 00:17:22 verbose #21285 > > 00:17:22 verbose #21286 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:22 verbose #21287 > > //// test 00:17:22 verbose #21288 > > 00:17:22 verbose #21289 > > "aaabbc" 00:17:22 verbose #21290 > > |> parse (many1 (p_char 'a' <|> p_char 'b')) 00:17:22 verbose #21291 > > |> resultm.get 00:17:22 verbose #21292 > > |> sm'.format_debug 00:17:22 verbose #21293 > > |> _assert_eq ( 00:17:22 verbose #21294 > > ([['a'; 'a'; 'a'; 'b'; 'b']], "c", { line_text = "aaabb" |> 00:17:22 verbose #21295 > > sm'.string_builder; position = { line = 1i32; col = 6i32 } }) 00:17:22 verbose #21296 > > |> sm'.format_debug 00:17:22 verbose #21297 > > ) 00:17:22 verbose #21298 > > 00:17:22 verbose #21299 > > "bcc" 00:17:22 verbose #21300 > > |> parse (many1 (p_char 'a' <|> p_char 'b')) 00:17:22 verbose #21301 > > |> resultm.get 00:17:22 verbose #21302 > > |> sm'.format_debug 00:17:22 verbose #21303 > > |> _assert_eq ( 00:17:22 verbose #21304 > > ([['b']], "cc", { line_text = "b" |> sm'.string_builder; position = { line = 00:17:22 verbose #21305 > > 1i32; col = 2i32 } }) 00:17:22 verbose #21306 > > |> sm'.format_debug 00:17:22 verbose #21307 > > ) 00:17:22 verbose #21308 > > 00:17:22 verbose #21309 > > "cba" 00:17:22 verbose #21310 > > |> parse (many1 (p_char 'a' <|> p_char 'b')) 00:17:22 verbose #21311 > > |> _assert_eq (Error "parsing.p_char / expected: 'b' / line: 1 / col: 00:17:22 verbose #21312 > > 1\ncba\n^\n") 00:17:22 verbose #21313 > 00:17:22 debug #1237 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7164e36cb6e07a4d5bb20a155c2b53ff39c52b0d403f56f94ecbf0feced05b99/main.spi 00:17:23 verbose #21314 > > 00:17:23 verbose #21315 > > ╭─[ 471.21ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:23 verbose #21316 > > │ assert_eq / actual: "struct (UH0_1 ('a', UH0_1 ('a', UH0_1 ('a', UH0_1 ('b', │ 00:17:23 verbose #21317 > > │ UH0_1 ('b', UH0_0))))), │ 00:17:23 verbose #21318 > > │ "c", aaabb, 1, 6)" / expected: "struct (UH0_1 ('a', UH0_1 ('a', │ 00:17:23 verbose #21319 > > │ UH0_1 ('a', UH0_1 ('b', UH0_1 ('b', UH0_0))))), │ 00:17:23 verbose #21320 > > │ "c", aaabb, 1, 6)" │ 00:17:23 verbose #21321 > > │ assert_eq / actual: "struct (UH0_1 ('b', UH0_0), "cc", b, 1, 2)" / expected: │ 00:17:23 verbose #21322 > > │ "struct (UH0_1 ('b', UH0_0), "cc", b, 1, 2)" │ 00:17:23 verbose #21323 > > │ assert_eq / actual: US1_1 "parsing.p_char / expected: 'b' / line: 1 / col: 1 │ 00:17:23 verbose #21324 > > │ cba │ 00:17:23 verbose #21325 > > │ ^ │ 00:17:23 verbose #21326 > > │ " / expected: US1_1 "parsing.p_char / expected: 'b' / line: 1 / col: 1 │ 00:17:23 verbose #21327 > > │ cba │ 00:17:23 verbose #21328 > > │ ^ │ 00:17:23 verbose #21329 > > │ " │ 00:17:23 verbose #21330 > > │ │ 00:17:23 verbose #21331 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:23 verbose #21332 > > 00:17:23 verbose #21333 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:23 verbose #21334 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:23 verbose #21335 > > │ ### many1_strings │ 00:17:23 verbose #21336 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:23 verbose #21337 > > 00:17:23 verbose #21338 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:23 verbose #21339 > > inl many1_strings p : parser string = fun input => 00:17:23 verbose #21340 > > match many1 p input with 00:17:23 verbose #21341 > > | Ok (results, rest) => 00:17:23 verbose #21342 > > Ok (results |> listm.map sm'.obj_to_string |> listm'.box |> seq.of_list' 00:17:23 verbose #21343 > > |> sm'.concat "", rest) 00:17:23 verbose #21344 > > | Error e => Error e 00:17:23 verbose #21345 > 00:17:22 debug #1238 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3de1f9f6ce2d8195100cb0404c354dcefa340fb0cfe17ac82735e911fd5dbec4/main.spi 00:17:23 verbose #21346 > > 00:17:23 verbose #21347 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:23 verbose #21348 > > //// test 00:17:23 verbose #21349 > > 00:17:23 verbose #21350 > > "aaabbc" 00:17:23 verbose #21351 > > |> parse (many1_strings (p_char 'a' <|> p_char 'b')) 00:17:23 verbose #21352 > > |> resultm.get 00:17:23 verbose #21353 > > |> sm'.format_debug 00:17:23 verbose #21354 > > |> _assert_eq ( 00:17:23 verbose #21355 > > ("aaabb", "c", { line_text = "aaabb" |> sm'.string_builder; position = { 00:17:23 verbose #21356 > > line = 1i32; col = 6i32 } }) 00:17:23 verbose #21357 > > |> sm'.format_debug 00:17:23 verbose #21358 > > ) 00:17:23 verbose #21359 > 00:17:22 debug #1239 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a2705a53ce5fa1b21df71aab4f279af1a6b87bfd0cd7efadaa0e7fe44dec734/main.spi 00:17:23 verbose #21360 > > 00:17:23 verbose #21361 > > ╭─[ 363.30ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:23 verbose #21362 > > │ assert_eq / actual: "struct ("aaabb", "c", aaabb, 1, 6)" / expected: "struct │ 00:17:23 verbose #21363 > > │ ("aaabb", "c", aaabb, 1, 6)" │ 00:17:23 verbose #21364 > > │ │ 00:17:23 verbose #21365 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:23 verbose #21366 > > 00:17:23 verbose #21367 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:23 verbose #21368 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:23 verbose #21369 > > │ ### many_strings │ 00:17:23 verbose #21370 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:23 verbose #21371 > > 00:17:23 verbose #21372 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:23 verbose #21373 > > inl many_strings p : parser string = fun input => 00:17:23 verbose #21374 > > match many p input with 00:17:23 verbose #21375 > > | Ok (results, rest) => 00:17:23 verbose #21376 > > Ok (results |> listm.map sm'.obj_to_string |> listm'.box |> seq.of_list' 00:17:23 verbose #21377 > > |> sm'.concat "", rest) 00:17:23 verbose #21378 > > | Error e => Ok ("", input) 00:17:23 verbose #21379 > 00:17:23 debug #1240 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/56bacb1992fea218cab188f9170b523fb44010df5631407b6abf26ae19501a66/main.spi 00:17:23 verbose #21380 > > 00:17:23 verbose #21381 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:23 verbose #21382 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:23 verbose #21383 > > │ ### choice │ 00:17:23 verbose #21384 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:23 verbose #21385 > > 00:17:23 verbose #21386 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:23 verbose #21387 > > inl choice parsers : parser _ = fun input => 00:17:23 verbose #21388 > > let rec loop = function 00:17:23 verbose #21389 > > | [[]] => Error "choice / no parsers succeeded" 00:17:23 verbose #21390 > > | p :: ps => 00:17:23 verbose #21391 > > match p input with 00:17:23 verbose #21392 > > | Ok _ as result => result 00:17:23 verbose #21393 > > | Error _ => loop ps 00:17:23 verbose #21394 > > loop parsers 00:17:23 verbose #21395 > 00:17:23 debug #1241 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/de7d8fc8db31149a0ff35fbe7358f32cb3314d590da30e3025236eb9cf1431c5/main.spi 00:17:23 verbose #21396 > > 00:17:23 verbose #21397 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:23 verbose #21398 > > //// test 00:17:23 verbose #21399 > > 00:17:23 verbose #21400 > > "bca" 00:17:23 verbose #21401 > > |> parse (choice [[p_char 'a'; p_char 'b'; p_char 'c']]) 00:17:23 verbose #21402 > > |> resultm.get 00:17:23 verbose #21403 > > |> sm'.format_debug 00:17:23 verbose #21404 > > |> _assert_eq ( 00:17:23 verbose #21405 > > ('b', "ca", { line_text = "b" |> sm'.string_builder; position = { line = 00:17:23 verbose #21406 > > 1i32; col = 2i32 } }) 00:17:23 verbose #21407 > > |> sm'.format_debug 00:17:23 verbose #21408 > > ) 00:17:23 verbose #21409 > > 00:17:23 verbose #21410 > > "cba" 00:17:23 verbose #21411 > > |> parse (choice [[p_char 'a'; p_char 'b'; p_char 'c']]) 00:17:23 verbose #21412 > > |> resultm.get 00:17:23 verbose #21413 > > |> sm'.format_debug 00:17:23 verbose #21414 > > |> _assert_eq ( 00:17:23 verbose #21415 > > ('c', "ba", { line_text = "c" |> sm'.string_builder; position = { line = 00:17:23 verbose #21416 > > 1i32; col = 2i32 } }) 00:17:23 verbose #21417 > > |> sm'.format_debug 00:17:23 verbose #21418 > > ) 00:17:23 verbose #21419 > 00:17:23 debug #1242 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b07f88c53f70ef7d992be6c64e10406b15b368be00baf953c9ad50d369abc607/main.spi 00:17:24 verbose #21420 > > 00:17:24 verbose #21421 > > ╭─[ 351.70ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:24 verbose #21422 > > │ assert_eq / actual: "struct ('b', "ca", b, 1, 2)" / expected: "struct ('b', │ 00:17:24 verbose #21423 > > │ "ca", b, 1, 2)" │ 00:17:24 verbose #21424 > > │ assert_eq / actual: "struct ('c', "ba", c, 1, 2)" / expected: "struct ('c', │ 00:17:24 verbose #21425 > > │ "ba", c, 1, 2)" │ 00:17:24 verbose #21426 > > │ │ 00:17:24 verbose #21427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:24 verbose #21428 > > 00:17:24 verbose #21429 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:24 verbose #21430 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:24 verbose #21431 > > │ ### between │ 00:17:24 verbose #21432 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:24 verbose #21433 > > 00:17:24 verbose #21434 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:24 verbose #21435 > > inl between p_open p_close p_content : parser _ = fun input => 00:17:24 verbose #21436 > > match p_open input with 00:17:24 verbose #21437 > > | Ok (_, rest1) => 00:17:24 verbose #21438 > > match p_content rest1 with 00:17:24 verbose #21439 > > | Ok (result, rest2) => 00:17:24 verbose #21440 > > match p_close rest2 with 00:17:24 verbose #21441 > > | Ok (_, rest3) => Ok (result, rest3) 00:17:24 verbose #21442 > > | Error e => Error $'$"between / expected closing delimiter / e: 00:17:24 verbose #21443 > > %A{!e} / input: %A{!input} / rest1: %A{!rest1} / rest2: %A{!rest2}"' 00:17:24 verbose #21444 > > | Error _ => Error "between / expected content" 00:17:24 verbose #21445 > > | Error e => Error e 00:17:24 verbose #21446 > 00:17:23 debug #1243 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e0987de7946763aa471831a19c8cf6851a10144d021f96347de3be80cacfca7c/main.spi 00:17:24 verbose #21447 > > 00:17:24 verbose #21448 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:24 verbose #21449 > > //// test 00:17:24 verbose #21450 > > 00:17:24 verbose #21451 > > "[[aaabb]]" 00:17:24 verbose #21452 > > |> parse (between (p_char '[[') (p_char ']]') (many1_chars (p_char 'a' <|> 00:17:24 verbose #21453 > > p_char 'b'))) 00:17:24 verbose #21454 > > |> resultm.get 00:17:24 verbose #21455 > > |> sm'.format_debug 00:17:24 verbose #21456 > > |> _assert_eq ( 00:17:24 verbose #21457 > > ("aaabb", "", { line_text = "[[aaabb]]" |> sm'.string_builder; position = { 00:17:24 verbose #21458 > > line = 1i32; col = 8i32 } }) 00:17:24 verbose #21459 > > |> sm'.format_debug 00:17:24 verbose #21460 > > ) 00:17:24 verbose #21461 > > 00:17:24 verbose #21462 > > "[[aaabb" 00:17:24 verbose #21463 > > |> parse (between (p_char '[[') (p_char ']]') (many1_chars (p_char 'a' <|> 00:17:24 verbose #21464 > > p_char 'b'))) 00:17:24 verbose #21465 > > |> resultm.unwrap_err 00:17:24 verbose #21466 > > |> sm'.format_debug 00:17:24 verbose #21467 > > |> _assert_eq "\"between / expected closing delimiter / e: \"parsing.p_char 00:17:24 verbose #21468 > > unexpected end of input / s: struct ([[aaabb, 1, 7)\" / input: struct 00:17:24 verbose #21469 > > (\"[[aaabb\", [[aaabb, 1, 1) / rest1: struct (\"aaabb\", [[aaabb, 1, 2) / rest2: 00:17:24 verbose #21470 > > struct (\"\", [[aaabb, 1, 7)\"" 00:17:24 verbose #21471 > 00:17:24 debug #1244 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c8d0ced83d55ccd4eaae8bc188dcfbeda72858840e78b6bf7190c98a3fd5a29/main.spi 00:17:25 verbose #21472 > > 00:17:25 verbose #21473 > > ╭─[ 598.51ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:25 verbose #21474 > > │ assert_eq / actual: "struct ("aaabb", "", [aaabb], 1, 8)" / expected: │ 00:17:25 verbose #21475 > > │ "struct ("aaabb", "", [aaabb], 1, 8)" │ 00:17:25 verbose #21476 > > │ assert_eq / actual: ""between / expected closing delimiter / e: │ 00:17:25 verbose #21477 > > │ "parsing.p_char / unexpected end of input / s: struct ([aaabb, 1, 7)" / │ 00:17:25 verbose #21478 > > │ input: struct ("[aaabb", [aaabb, 1, 1) / rest1: struct ("aaabb", [aaabb, 1, │ 00:17:25 verbose #21479 > > │ 2) / rest2: struct ("", [aaabb, 1, 7)"" / expected: ""between / expected │ 00:17:25 verbose #21480 > > │ closing delimiter / e: "parsing.p_char / unexpected end of input / s: struct │ 00:17:25 verbose #21481 > > │ ([aaabb, 1, 7)" / input: struct ("[aaabb", [aaabb, 1, 1) / rest1: struct │ 00:17:25 verbose #21482 > > │ ("aaabb", [aaabb, 1, 2) / rest2: struct ("", [aaabb, 1, 7)"" │ 00:17:25 verbose #21483 > > │ │ 00:17:25 verbose #21484 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:25 verbose #21485 > > 00:17:25 verbose #21486 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:25 verbose #21487 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:25 verbose #21488 > > │ ### sep_by │ 00:17:25 verbose #21489 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:25 verbose #21490 > > 00:17:25 verbose #21491 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:25 verbose #21492 > > inl sep_by p sep : parser (list _) = fun input, s => 00:17:25 verbose #21493 > > let rec loop acc input s = 00:17:25 verbose #21494 > > match p (input, s) with 00:17:25 verbose #21495 > > | Error _ => Ok (acc |> listm.rev, input, s) 00:17:25 verbose #21496 > > | Ok (result, rest, s) => 00:17:25 verbose #21497 > > match sep (rest, s) with 00:17:25 verbose #21498 > > | Error _ => Ok ((result :: acc) |> listm.rev, rest, s) 00:17:25 verbose #21499 > > | Ok (_, rest, s) => loop (result :: acc) rest s 00:17:25 verbose #21500 > > loop [[]] input s 00:17:25 verbose #21501 > 00:17:24 debug #1245 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6029b195249a7682c0c56ad582f78ed6e341ee7306df24a135ad55d82e089c23/main.spi 00:17:25 verbose #21502 > > 00:17:25 verbose #21503 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:25 verbose #21504 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:25 verbose #21505 > > │ ### span │ 00:17:25 verbose #21506 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:25 verbose #21507 > > 00:17:25 verbose #21508 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:25 verbose #21509 > > inl span pred str = 00:17:25 verbose #21510 > > let rec loop i = 00:17:25 verbose #21511 > > if i >= sm'.length str 00:17:25 verbose #21512 > > then i 00:17:25 verbose #21513 > > elif pred (str |> sm'.index i) 00:17:25 verbose #21514 > > then loop (i + 1) 00:17:25 verbose #21515 > > else i 00:17:25 verbose #21516 > > loop 0 00:17:25 verbose #21517 > 00:17:24 debug #1246 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/36b91e62bea2486727d6e551e6c5782bcaacb882ecef854253ce3b7d7c434cf1/main.spi 00:17:25 verbose #21518 > > 00:17:25 verbose #21519 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:25 verbose #21520 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:25 verbose #21521 > > │ ### spaces1 │ 00:17:25 verbose #21522 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:25 verbose #21523 > > 00:17:25 verbose #21524 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:25 verbose #21525 > > inl spaces1 () : parser () = fun input, s => 00:17:25 verbose #21526 > > match input |> span fun c => c = ' ' with 00:17:25 verbose #21527 > > | 0i32 => Error "spaces1 / expected at least one space" 00:17:25 verbose #21528 > > | n => Ok ((), input |> sm'.range (am'.Start n) (am'.End id), s) 00:17:25 verbose #21529 > 00:17:25 debug #1247 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ef2cf04bb297717a1c5d7272fad4d7008bb271d50021cbee0876d922a660c6b/main.spi 00:17:25 verbose #21530 > > 00:17:25 verbose #21531 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:25 verbose #21532 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:25 verbose #21533 > > │ ### spaces │ 00:17:25 verbose #21534 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:25 verbose #21535 > > 00:17:25 verbose #21536 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:25 verbose #21537 > > inl spaces () : parser () = fun input, s => 00:17:25 verbose #21538 > > input 00:17:25 verbose #21539 > > |> span fun c => c = ' ' 00:17:25 verbose #21540 > > |> fun (n : i32) => Ok ((), input |> sm'.range (am'.Start n) (am'.End id), 00:17:25 verbose #21541 > > s) 00:17:25 verbose #21542 > 00:17:25 debug #1248 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/641c1cbdc207a7f2d209491bc6ad94aa6ed550a99d68a900557309b8ef2df6e0/main.spi 00:17:25 verbose #21543 > > 00:17:25 verbose #21544 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:25 verbose #21545 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:25 verbose #21546 > > │ ### p_digit │ 00:17:25 verbose #21547 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:25 verbose #21548 > > 00:17:25 verbose #21549 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:25 verbose #21550 > > inl p_digit () : parser char = fun input, s => 00:17:25 verbose #21551 > > match input |> sm'.index 0i32 with 00:17:25 verbose #21552 > > | ('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9') as c => 00:17:25 verbose #21553 > > Ok (c, input |> sm'.range (am'.Start 1i32) (am'.End id), s) 00:17:25 verbose #21554 > > | c => Error $'$"p_digit / unexpected char: {!c}"' 00:17:25 verbose #21555 > 00:17:25 debug #1249 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/92e30414e835cc741d4ffe46a10320364b40d62c59f25bf9ba3df1c566d41e5a/main.spi 00:17:25 verbose #21556 > > 00:17:25 verbose #21557 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:25 verbose #21558 > > //// test 00:17:25 verbose #21559 > > 00:17:25 verbose #21560 > > "1 2 3" 00:17:25 verbose #21561 > > |> parse (sep_by (p_digit ()) (spaces1 ())) 00:17:25 verbose #21562 > > |> resultm.get 00:17:25 verbose #21563 > > |> sm'.format_debug 00:17:25 verbose #21564 > > |> _assert_eq ( 00:17:25 verbose #21565 > > ([['1'; '2'; '3']], "", { line_text = "" |> sm'.string_builder; position = { 00:17:25 verbose #21566 > > col = 1i32; line = 1i32 } }) 00:17:25 verbose #21567 > > |> sm'.format_debug 00:17:25 verbose #21568 > > ) 00:17:25 verbose #21569 > 00:17:25 debug #1250 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0bcc5dce6fba1cb7a12c0db0015fff6b91360939c62e4793767d44e9f04933af/main.spi 00:17:26 verbose #21570 > > 00:17:26 verbose #21571 > > ╭─[ 275.33ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:26 verbose #21572 > > │ assert_eq / actual: "struct (UH0_1 ('1', UH0_1 ('2', UH0_1 ('3', UH0_0))), │ 00:17:26 verbose #21573 > > │ "", , 1, 1)" / expected: "struct (UH0_1 ('1', UH0_1 ('2', UH0_1 ('3', │ 00:17:26 verbose #21574 > > │ UH0_0))), "", , 1, 1)" │ 00:17:26 verbose #21575 > > │ │ 00:17:26 verbose #21576 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:26 verbose #21577 > > 00:17:26 verbose #21578 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:26 verbose #21579 > > //// test 00:17:26 verbose #21580 > > 00:17:26 verbose #21581 > > "1 a 2" 00:17:26 verbose #21582 > > |> parse (sep_by (p_digit ()) (spaces1 ())) 00:17:26 verbose #21583 > > |> resultm.get 00:17:26 verbose #21584 > > |> sm'.format_debug 00:17:26 verbose #21585 > > |> _assert_eq ( 00:17:26 verbose #21586 > > ([['1']], "a 2", { line_text = "" |> sm'.string_builder; position = { col = 00:17:26 verbose #21587 > > 1i32; line = 1i32 } }) 00:17:26 verbose #21588 > > |> sm'.format_debug 00:17:26 verbose #21589 > > ) 00:17:26 verbose #21590 > 00:17:25 debug #1251 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1052519562441ac5d08b3aad88d3c66e05280ce73c12e776be598bfff585239c/main.spi 00:17:26 verbose #21591 > > 00:17:26 verbose #21592 > > ╭─[ 290.97ms - stdout ]────────────────────────────────────────────────────────╮ 00:17:26 verbose #21593 > > │ assert_eq / actual: "struct (UH0_1 ('1', UH0_0), "a 2", , 1, 1)" / expected: │ 00:17:26 verbose #21594 > > │ "struct (UH0_1 ('1', UH0_0), "a 2", , 1, 1)" │ 00:17:26 verbose #21595 > > │ │ 00:17:26 verbose #21596 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:26 verbose #21597 > > 00:17:26 verbose #21598 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:26 verbose #21599 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:26 verbose #21600 > > │ ### opt │ 00:17:26 verbose #21601 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:26 verbose #21602 > > 00:17:26 verbose #21603 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:26 verbose #21604 > > inl opt p : parser (option _) = fun input, s => 00:17:26 verbose #21605 > > match p (input, s) with 00:17:26 verbose #21606 > > | Ok (result, rest, s) => Ok (Some result, rest, s) 00:17:26 verbose #21607 > > | Error _ => Ok (None, input, s) 00:17:26 verbose #21608 > 00:17:26 debug #1252 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bff3b00c0faa3f90425020b47b32ae54e4a8facde03a86c7dec86a68b1f6f927/main.spi 00:17:26 verbose #21609 > > 00:17:26 verbose #21610 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:26 verbose #21611 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:26 verbose #21612 > > │ ### rest_of_line │ 00:17:26 verbose #21613 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:26 verbose #21614 > > 00:17:26 verbose #21615 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:26 verbose #21616 > > inl rest_of_line () : parser string = fun input, s => 00:17:26 verbose #21617 > > inl i : i32 = input |> span ((<>) '\n') 00:17:26 verbose #21618 > > Ok (input |> sm'.range (am'.Start i) (am'.End id), input |> sm'.range 00:17:26 verbose #21619 > > (am'.Start i) (am'.End id), s) 00:17:26 verbose #21620 > 00:17:26 debug #1253 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0db6532ffecf94c2a3d2a2b0029c8d83b64e2e86ea4d7b0c349b36a8479ccb8e/main.spi 00:17:26 verbose #21621 > > 00:17:26 verbose #21622 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:26 verbose #21623 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:26 verbose #21624 > > │ ### eof │ 00:17:26 verbose #21625 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:26 verbose #21626 > > 00:17:26 verbose #21627 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:26 verbose #21628 > > inl eof () : parser () = fun input, s => 00:17:26 verbose #21629 > > if sm'.length input = 0i32 00:17:26 verbose #21630 > > then Ok ((), input, s) 00:17:26 verbose #21631 > > else Error $'$"parsing.eof / expected end of input / input: %A{!input}"' 00:17:26 verbose #21632 > 00:17:26 debug #1254 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a590b2c4741d2d79f60be1620ad5fde04c842cc4d33471c5ebeef222f607f36d/main.spi 00:17:26 verbose #21633 > 00:00:20 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 70234 } 00:17:26 verbose #21634 > 00:00:20 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:27 verbose #21635 > 00:00:21 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.ipynb to html 00:17:27 verbose #21636 > 00:00:21 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:17:27 verbose #21637 > 00:00:21 verbose #7 ! validate(nb) 00:17:28 verbose #21638 > 00:00:21 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:17:28 verbose #21639 > 00:00:21 verbose #9 ! return _pygments_highlight( 00:17:28 verbose #21640 > 00:00:22 verbose #10 ! [NbConvertApp] Writing 477281 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.html 00:17:28 verbose #21641 > 00:00:22 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 898 } 00:17:28 verbose #21642 > 00:00:22 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 898 } 00:17:28 verbose #21643 > 00:00:22 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/parsing.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:29 verbose #21644 > 00:00:22 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:17:29 verbose #21645 > 00:00:22 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:17:29 verbose #21646 > 00:00:22 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 71191 } 00:17:29 debug #21647 runtime.execute_with_options_async / { exit_code = 0; output_length = 76735 } 00:17:29 debug #29 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path parsing.dib --retries 3 00:17:29 debug #21648 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path threading.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:29 verbose #21649 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "threading.dib", "--retries", "3"])) } 00:17:29 verbose #21650 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:17:30 verbose #21651 > > 00:17:30 verbose #21652 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:30 verbose #21653 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:30 verbose #21654 > > │ # threading │ 00:17:30 verbose #21655 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:33 verbose #21656 > > 00:17:33 verbose #21657 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:33 verbose #21658 > > open rust 00:17:33 verbose #21659 > > open rust_operators 00:17:33 verbose #21660 > 00:17:33 debug #1255 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd47537238fcdc924c2a6b0a99d4f87ecbbde40a43ba8772a0907b5bf4a50e9d/main.spi 00:17:33 verbose #21661 > > 00:17:33 verbose #21662 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:33 verbose #21663 > > //// test 00:17:33 verbose #21664 > > 00:17:33 verbose #21665 > > open testing 00:17:33 verbose #21666 > 00:17:33 debug #1256 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f990f43922e45080129606975ec74b3f88780cb3b27c2ae1151c776db6e5e262/main.spi 00:17:33 verbose #21667 > > 00:17:33 verbose #21668 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:33 verbose #21669 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:33 verbose #21670 > > │ ## rust │ 00:17:33 verbose #21671 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:33 verbose #21672 > > 00:17:33 verbose #21673 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:33 verbose #21674 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:33 verbose #21675 > > │ ### sleep │ 00:17:33 verbose #21676 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:33 verbose #21677 > > 00:17:33 verbose #21678 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:33 verbose #21679 > > inl sleep (duration : date_time.duration) : () = 00:17:33 verbose #21680 > > inl duration = join duration 00:17:33 verbose #21681 > > !\($'"std::thread::sleep(!duration)"') 00:17:33 verbose #21682 > 00:17:33 debug #1257 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/977038b66c0ad3e795cac3b2de993a8673fb828080aed8074389dbc131b29b87/main.spi 00:17:34 verbose #21683 > > 00:17:34 verbose #21684 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21685 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21686 > > │ ### join_handle │ 00:17:34 verbose #21687 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21688 > > 00:17:34 verbose #21689 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21690 > > nominal join_handle t = 00:17:34 verbose #21691 > > `( 00:17:34 verbose #21692 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:34 verbose #21693 > > Fable.Core.Emit(\"std::thread::JoinHandle<$0>\")>]]\n#endif\ntype 00:17:34 verbose #21694 > > std_thread_JoinHandle<'T> = class end" 00:17:34 verbose #21695 > > $'' : $'std_thread_JoinHandle<`t>' 00:17:34 verbose #21696 > > ) 00:17:34 verbose #21697 > 00:17:33 debug #1258 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d9e7ae05ea191d9b4f03d4394e5f9f5a14b93f4cdbd73af3b7ccc46835d2c1fb/main.spi 00:17:34 verbose #21698 > > 00:17:34 verbose #21699 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21700 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21701 > > │ ### spawn │ 00:17:34 verbose #21702 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21703 > > 00:17:34 verbose #21704 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21705 > > inl spawn forall t. depth flag (x : () -> t) : join_handle t = 00:17:34 verbose #21706 > > if flag = 1u8 00:17:34 verbose #21707 > > then (!\($'"true; let __result = std::thread::spawn(move || { //"') : bool) 00:17:34 verbose #21708 > > |> ignore 00:17:34 verbose #21709 > > else (!\($'"true; let __result = std::thread::spawn(|| { //"') : bool) |> 00:17:34 verbose #21710 > > ignore 00:17:34 verbose #21711 > > 00:17:34 verbose #21712 > > let x' = x () 00:17:34 verbose #21713 > > inl x' = join x' 00:17:34 verbose #21714 > > 00:17:34 verbose #21715 > > x' |> rust.fix_closure depth 00:17:34 verbose #21716 > > 00:17:34 verbose #21717 > > !\($'"__result"') 00:17:34 verbose #21718 > 00:17:33 debug #1259 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5c4761076fc8c42e3121e700d66c1de29fc61460cfda4d1b01b22d8270b628e8/main.spi 00:17:34 verbose #21719 > > 00:17:34 verbose #21720 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21721 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21722 > > │ ### join' │ 00:17:34 verbose #21723 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21724 > > 00:17:34 verbose #21725 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21726 > > inl join' forall t. 00:17:34 verbose #21727 > > (x : join_handle t) 00:17:34 verbose #21728 > > : resultm.result' 00:17:34 verbose #21729 > > t 00:17:34 verbose #21730 > > ( 00:17:34 verbose #21731 > > rust.box ( 00:17:34 verbose #21732 > > rust.lifetime_ref 00:17:34 verbose #21733 > > rust.dyn' 00:17:34 verbose #21734 > > ( 00:17:34 verbose #21735 > > rust.lifetime_join 00:17:34 verbose #21736 > > rust.any 00:17:34 verbose #21737 > > ( 00:17:34 verbose #21738 > > rust.lifetime_ref 00:17:34 verbose #21739 > > rust.send 00:17:34 verbose #21740 > > rust.static_lifetime 00:17:34 verbose #21741 > > ) 00:17:34 verbose #21742 > > ) 00:17:34 verbose #21743 > > ) 00:17:34 verbose #21744 > > ) = 00:17:34 verbose #21745 > > !\\(x, $'"std::thread::JoinHandle::join($0)"') 00:17:34 verbose #21746 > 00:17:33 debug #1260 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/20f3cd723b848feadd84a013de360fa455c689c470040bfe7ad4ceb46ee779ca/main.spi 00:17:34 verbose #21747 > > 00:17:34 verbose #21748 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21749 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21750 > > │ ### arc │ 00:17:34 verbose #21751 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21752 > > 00:17:34 verbose #21753 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21754 > > nominal arc t = 00:17:34 verbose #21755 > > `( 00:17:34 verbose #21756 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:34 verbose #21757 > > Fable.Core.Emit(\"std::sync::Arc<$0>\")>]]\n#endif\ntype std_sync_Arc<'T> = 00:17:34 verbose #21758 > > class end" 00:17:34 verbose #21759 > > $'' : $'std_sync_Arc<`t>' 00:17:34 verbose #21760 > > ) 00:17:34 verbose #21761 > 00:17:33 debug #1261 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b7ee1ddccf08f8fe7ed7bbc69dc0cdffc274125114f1097023fcbc239339c93e/main.spi 00:17:34 verbose #21762 > > 00:17:34 verbose #21763 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21764 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21765 > > │ ### new_arc │ 00:17:34 verbose #21766 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21767 > > 00:17:34 verbose #21768 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21769 > > inl new_arc forall t. (x : t) : arc t = 00:17:34 verbose #21770 > > !\\(x, $'"std::sync::Arc::new($0)"') 00:17:34 verbose #21771 > 00:17:33 debug #1262 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ccefb3311eaf06fb244978f16a5f8096d3b940aa87b5eb0331a5c370b42771a3/main.spi 00:17:34 verbose #21772 > > 00:17:34 verbose #21773 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21774 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21775 > > │ ### mutex │ 00:17:34 verbose #21776 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21777 > > 00:17:34 verbose #21778 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21779 > > nominal mutex t = 00:17:34 verbose #21780 > > `( 00:17:34 verbose #21781 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:34 verbose #21782 > > Fable.Core.Emit(\"std::sync::Mutex<$0>\")>]]\n#endif\ntype std_sync_Mutex<'T> = 00:17:34 verbose #21783 > > class end" 00:17:34 verbose #21784 > > $'' : $'std_sync_Mutex<`t>' 00:17:34 verbose #21785 > > ) 00:17:34 verbose #21786 > 00:17:34 debug #1263 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f7473ff762b5f8180c0485194a76be51a5a48e0cc20ebd8b2130bb7e7d646a7c/main.spi 00:17:34 verbose #21787 > > 00:17:34 verbose #21788 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21789 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21790 > > │ ### new_mutex │ 00:17:34 verbose #21791 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21792 > > 00:17:34 verbose #21793 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21794 > > inl new_mutex forall t. (x : t) : mutex t = 00:17:34 verbose #21795 > > !\\(x, $'"std::sync::Mutex::new($0)"') 00:17:34 verbose #21796 > 00:17:34 debug #1264 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/36a2f45277f8d3a68236cd07954aafe0b9994915c1668b20047298d2b20debee/main.spi 00:17:34 verbose #21797 > > 00:17:34 verbose #21798 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21799 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21800 > > │ ### new_arc_mutex │ 00:17:34 verbose #21801 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21802 > > 00:17:34 verbose #21803 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21804 > > inl new_arc_mutex forall t. (x : t) : arc (mutex t) = 00:17:34 verbose #21805 > > x |> new_mutex |> new_arc 00:17:34 verbose #21806 > 00:17:34 debug #1265 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44e035dda09b243b3b646e55f5bf89f918b0320d37f3b02dc0b66b0cb037836d/main.spi 00:17:34 verbose #21807 > > 00:17:34 verbose #21808 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21809 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21810 > > │ ### arc_clone │ 00:17:34 verbose #21811 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21812 > > 00:17:34 verbose #21813 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21814 > > inl arc_clone forall t. (x : arc t) : arc t = 00:17:34 verbose #21815 > > inl x = join x 00:17:34 verbose #21816 > > !\($'"std::sync::Arc::clone(&!x)"') 00:17:34 verbose #21817 > 00:17:34 debug #1266 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ea94485dbd5b913cad062d798e6793b8df4d742fddef039e0ab89b287bb2b1f/main.spi 00:17:34 verbose #21818 > > 00:17:34 verbose #21819 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21820 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21821 > > │ ### mutex_guard │ 00:17:34 verbose #21822 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21823 > > 00:17:34 verbose #21824 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21825 > > nominal mutex_guard t = 00:17:34 verbose #21826 > > `( 00:17:34 verbose #21827 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:34 verbose #21828 > > Fable.Core.Emit(\"std::sync::MutexGuard<$0>\")>]]\n#endif\ntype 00:17:34 verbose #21829 > > std_sync_MutexGuard<'T> = class end" 00:17:34 verbose #21830 > > $'' : $'std_sync_MutexGuard<`t>' 00:17:34 verbose #21831 > > ) 00:17:34 verbose #21832 > 00:17:34 debug #1267 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dfdc542e7abbf49ad0a46979bf5c53684b11a7c9b501c4752dee69134b1179d6/main.spi 00:17:34 verbose #21833 > > 00:17:34 verbose #21834 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21835 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21836 > > │ ### poison_error │ 00:17:34 verbose #21837 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21838 > > 00:17:34 verbose #21839 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21840 > > nominal poison_error t = 00:17:34 verbose #21841 > > `( 00:17:34 verbose #21842 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:34 verbose #21843 > > Fable.Core.Emit(\"std::sync::PoisonError<$0>\")>]]\n#endif\ntype 00:17:34 verbose #21844 > > std_sync_PoisonError<'T> = class end" 00:17:34 verbose #21845 > > $'' : $'std_sync_PoisonError<`t>' 00:17:34 verbose #21846 > > ) 00:17:34 verbose #21847 > 00:17:34 debug #1268 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9b95ecac820f6e73ee839a8c26e36b516d17231508c74a557205cbd422ac9f68/main.spi 00:17:34 verbose #21848 > > 00:17:34 verbose #21849 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:34 verbose #21850 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:34 verbose #21851 > > │ ### arc_mutex_lock │ 00:17:34 verbose #21852 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:34 verbose #21853 > > 00:17:34 verbose #21854 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:34 verbose #21855 > > inl arc_mutex_lock forall t. (x : arc (mutex t)) : resultm.result' (mutex_guard 00:17:34 verbose #21856 > > t) (poison_error (mutex_guard t)) = 00:17:34 verbose #21857 > > inl x = join x 00:17:34 verbose #21858 > > !\($'"!x.lock()"') 00:17:35 verbose #21859 > 00:17:34 debug #1269 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/513c8c01f15a3d797d7c656bd0dd86a4969d3ee997c086c157fb30f630089d47/main.spi 00:17:35 verbose #21860 > > 00:17:35 verbose #21861 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21862 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21863 > > │ ### mutex_guard_ref │ 00:17:35 verbose #21864 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21865 > > 00:17:35 verbose #21866 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21867 > > inl mutex_guard_ref forall t. (x : mutex_guard t) : rust.ref t = 00:17:35 verbose #21868 > > !\\(x, $'"&$0"') 00:17:35 verbose #21869 > 00:17:34 debug #1270 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1a8b9af574b46ff27c3e5d76ffe056649b16463a1ab8c7c68cad655f857c3676/main.spi 00:17:35 verbose #21870 > > 00:17:35 verbose #21871 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21872 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21873 > > │ ### mutex_guard_ref_mut │ 00:17:35 verbose #21874 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21875 > > 00:17:35 verbose #21876 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21877 > > inl mutex_guard_ref_mut forall t. (x : mutex_guard t) : rust.ref (rust.mut' t) = 00:17:35 verbose #21878 > > (!\($'"true; let mut !x = !x"') : bool) |> ignore 00:17:35 verbose #21879 > > !\\(x, $'"&mut $0"') 00:17:35 verbose #21880 > 00:17:34 debug #1271 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce14da45b7147f81c638b5467aa563fc9d9cc657d82a7eacf591731985888219/main.spi 00:17:35 verbose #21881 > > 00:17:35 verbose #21882 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21883 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21884 > > │ ### mutex_guard_as_mut │ 00:17:35 verbose #21885 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21886 > > 00:17:35 verbose #21887 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21888 > > inl mutex_guard_as_mut forall (t : * -> *) u. (x : mutex_guard (t u)) : t 00:17:35 verbose #21889 > > (rust.ref (rust.mut' u)) = 00:17:35 verbose #21890 > > (!\($'"true; let mut !x = !x"') : bool) |> ignore 00:17:35 verbose #21891 > > !\\(x, $'"$0.as_mut()"') 00:17:35 verbose #21892 > 00:17:34 debug #1272 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d241aa8034c2ec114786879700a2c145f5fb3acd96097c094efe98fd3f0fb805/main.spi 00:17:35 verbose #21893 > > 00:17:35 verbose #21894 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21895 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21896 > > │ ### channel_receiver │ 00:17:35 verbose #21897 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21898 > > 00:17:35 verbose #21899 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21900 > > nominal channel_receiver t = 00:17:35 verbose #21901 > > `( 00:17:35 verbose #21902 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:35 verbose #21903 > > Fable.Core.Emit(\"std::sync::mpsc::Receiver<$0>\")>]]\n#endif\ntype 00:17:35 verbose #21904 > > std_sync_mpsc_Receiver<'T> = class end" 00:17:35 verbose #21905 > > $'' : $'std_sync_mpsc_Receiver<`t>' 00:17:35 verbose #21906 > > ) 00:17:35 verbose #21907 > 00:17:34 debug #1273 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4f4ce173d48657ba081412c6a50cd7eb4f1f2c6922336b624cdfeb57e9ed1e16/main.spi 00:17:35 verbose #21908 > > 00:17:35 verbose #21909 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21910 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21911 > > │ ### channel_sender │ 00:17:35 verbose #21912 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21913 > > 00:17:35 verbose #21914 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21915 > > nominal channel_sender t = 00:17:35 verbose #21916 > > `( 00:17:35 verbose #21917 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:35 verbose #21918 > > Fable.Core.Emit(\"std::sync::mpsc::Sender<$0>\")>]]\n#endif\ntype 00:17:35 verbose #21919 > > std_sync_mpsc_Sender<'T> = class end" 00:17:35 verbose #21920 > > $'' : $'std_sync_mpsc_Sender<`t>' 00:17:35 verbose #21921 > > ) 00:17:35 verbose #21922 > 00:17:34 debug #1274 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77a7ecf0282aed03bbd493dde74862a43e54dc6d1a1b556e00e10843fd3abcbf/main.spi 00:17:35 verbose #21923 > > 00:17:35 verbose #21924 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21925 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21926 > > │ ### new_channel │ 00:17:35 verbose #21927 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21928 > > 00:17:35 verbose #21929 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21930 > > inl new_channel () : channel_sender sm'.std_string * arc (channel_receiver 00:17:35 verbose #21931 > > sm'.std_string) = 00:17:35 verbose #21932 > > !\($'"{ let (sender, receiver) = std::sync::mpsc::channel(); (sender, 00:17:35 verbose #21933 > > std::sync::Arc::new(receiver)) }"') 00:17:35 verbose #21934 > 00:17:35 debug #1275 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1fa8327963d7809a090f8a10336de27951ec6a37c012b2590ca20690d464e293/main.spi 00:17:35 verbose #21935 > > 00:17:35 verbose #21936 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21937 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21938 > > │ ### send_error │ 00:17:35 verbose #21939 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21940 > > 00:17:35 verbose #21941 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21942 > > nominal send_error t = 00:17:35 verbose #21943 > > `( 00:17:35 verbose #21944 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:17:35 verbose #21945 > > Fable.Core.Emit(\"std::sync::mpsc::SendError<$0>\")>]]\n#endif\ntype 00:17:35 verbose #21946 > > std_sync_mpsc_SendError<'T> = class end" 00:17:35 verbose #21947 > > $'' : $'std_sync_mpsc_SendError<`t>' 00:17:35 verbose #21948 > > ) 00:17:35 verbose #21949 > 00:17:35 debug #1276 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7579dc3bc4f3d93d92adc6374073c702c91121a2b63e6abfd91b42fe98b8d555/main.spi 00:17:35 verbose #21950 > > 00:17:35 verbose #21951 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21952 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21953 > > │ ### channel_send │ 00:17:35 verbose #21954 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21955 > > 00:17:35 verbose #21956 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21957 > > inl channel_send forall t. (line : t) (sender : rust.ref (channel_sender t)) : 00:17:35 verbose #21958 > > resultm.result' () (send_error sm'.std_string) = 00:17:35 verbose #21959 > > !\\((sender, line), $'"$0.send($1)"') 00:17:35 verbose #21960 > 00:17:35 debug #1277 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7315459dbd6d549c975c9ea52872b57a54914a40b0dfcf7fc76bc25fcc19dee1/main.spi 00:17:35 verbose #21961 > > 00:17:35 verbose #21962 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21963 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21964 > > │ ## fsharp │ 00:17:35 verbose #21965 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21966 > > 00:17:35 verbose #21967 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21968 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21969 > > │ ### sleep' │ 00:17:35 verbose #21970 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21971 > > 00:17:35 verbose #21972 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21973 > > inl sleep' (n : i32) : () = 00:17:35 verbose #21974 > > run_target function 00:17:35 verbose #21975 > > | Fsharp (Native) => fun () => $'System.Threading.Thread.Sleep' n 00:17:35 verbose #21976 > > | _ => fun () => () 00:17:35 verbose #21977 > 00:17:35 debug #1278 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9978acdc10422364cda09439bb09274ff212316a19405d12e0b0710025225d23/main.spi 00:17:35 verbose #21978 > > 00:17:35 verbose #21979 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21980 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21981 > > │ ### thread │ 00:17:35 verbose #21982 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21983 > > 00:17:35 verbose #21984 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21985 > > nominal thread = $'System.Threading.Thread' 00:17:35 verbose #21986 > 00:17:35 debug #1279 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6df07d655955e1a9c6a85e0230e7e5893141274353a9848c454fbd0a3615f0a4/main.spi 00:17:35 verbose #21987 > > 00:17:35 verbose #21988 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21989 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21990 > > │ ### cancellation_token │ 00:17:35 verbose #21991 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #21992 > > 00:17:35 verbose #21993 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #21994 > > nominal cancellation_token = $'System.Threading.CancellationToken' 00:17:35 verbose #21995 > 00:17:35 debug #1280 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8fe8f8e8b58d949ce46233ead9f8fe6a9981ce505055d8ebdccb923620a0ee30/main.spi 00:17:35 verbose #21996 > > 00:17:35 verbose #21997 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:35 verbose #21998 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:35 verbose #21999 > > │ ### cancellation_token_source │ 00:17:35 verbose #22000 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:35 verbose #22001 > > 00:17:35 verbose #22002 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:35 verbose #22003 > > nominal cancellation_token_source = $'System.Threading.CancellationTokenSource' 00:17:36 verbose #22004 > 00:17:35 debug #1281 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/27dac766e403de2ba4ecaf7302f41761ee929232379605769c0d5dc8344fb10e/main.spi 00:17:36 verbose #22005 > > 00:17:36 verbose #22006 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22007 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22008 > > │ ### cancellation_token_registration │ 00:17:36 verbose #22009 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22010 > > 00:17:36 verbose #22011 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22012 > > nominal cancellation_token_registration = 00:17:36 verbose #22013 > > $'System.Threading.CancellationTokenRegistration' 00:17:36 verbose #22014 > 00:17:35 debug #1282 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/feee7b9332f1b46a6c77e421420f658bdb5c2c3e7ba00514060aed5ac57d57dc/main.spi 00:17:36 verbose #22015 > > 00:17:36 verbose #22016 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22017 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22018 > > │ ### cancellation_source_token │ 00:17:36 verbose #22019 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22020 > > 00:17:36 verbose #22021 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22022 > > inl cancellation_source_token (x : cancellation_token_source) : 00:17:36 verbose #22023 > > cancellation_token = 00:17:36 verbose #22024 > > $'!x.Token' 00:17:36 verbose #22025 > 00:17:35 debug #1283 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/34a725249ab33c3e2b7298b5f46e5a62f70d847487613da852cc84930633a477/main.spi 00:17:36 verbose #22026 > > 00:17:36 verbose #22027 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22028 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22029 > > │ ### cancellation_source_cancel │ 00:17:36 verbose #22030 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22031 > > 00:17:36 verbose #22032 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22033 > > inl cancellation_source_cancel (x : cancellation_token_source) : () = 00:17:36 verbose #22034 > > run_target function 00:17:36 verbose #22035 > > | Fsharp (Native) => fun () => 00:17:36 verbose #22036 > > $'!x.Cancel' () 00:17:36 verbose #22037 > > | _ => fun () => null () 00:17:36 verbose #22038 > 00:17:35 debug #1284 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44435481b20281a6936c934e131ababa44b9357e52f907b1268e6fd69fa408a1/main.spi 00:17:36 verbose #22039 > > 00:17:36 verbose #22040 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22041 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22042 > > │ ### create_linked_token_source │ 00:17:36 verbose #22043 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22044 > > 00:17:36 verbose #22045 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22046 > > inl create_linked_token_source (x : array_base cancellation_token) : 00:17:36 verbose #22047 > > cancellation_token_source = 00:17:36 verbose #22048 > > x |> $'System.Threading.CancellationTokenSource.CreateLinkedTokenSource' 00:17:36 verbose #22049 > 00:17:35 debug #1285 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/18541b3400b78b6d674b15a30aa091d2d3f32c8349d6b6791aac2d6f612a1240/main.spi 00:17:36 verbose #22050 > > 00:17:36 verbose #22051 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22052 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22053 > > │ ### concurrent_stack │ 00:17:36 verbose #22054 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22055 > > 00:17:36 verbose #22056 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22057 > > nominal concurrent_stack t = 00:17:36 verbose #22058 > > $'System.Collections.Concurrent.ConcurrentStack<`t>' 00:17:36 verbose #22059 > 00:17:36 debug #1286 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ae5d1665c8411db87287fd2ada619ac51af5ec4cf00fe2b39fdc70e9ffb2b92/main.spi 00:17:36 verbose #22060 > > 00:17:36 verbose #22061 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22062 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22063 > > │ ### concurrent_stack_push │ 00:17:36 verbose #22064 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22065 > > 00:17:36 verbose #22066 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22067 > > inl concurrent_stack_push forall t. (item : t) (stack : concurrent_stack t) : () 00:17:36 verbose #22068 > > = 00:17:36 verbose #22069 > > $'!stack.Push' item 00:17:36 verbose #22070 > 00:17:36 debug #1287 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/be24104442a7147b9194d9e017c1c9bc4d0aa95aa56f9f2248a82c7af072b82e/main.spi 00:17:36 verbose #22071 > > 00:17:36 verbose #22072 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22073 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22074 > > │ ### token_none │ 00:17:36 verbose #22075 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22076 > > 00:17:36 verbose #22077 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22078 > > inl token_none () : cancellation_token = 00:17:36 verbose #22079 > > $'`cancellation_token.None' 00:17:36 verbose #22080 > 00:17:36 debug #1288 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4409d22aad88bdbf2c16f719644ca24602d0fecfc5b8e47cbe8d3b8d349408be/main.spi 00:17:36 verbose #22081 > > 00:17:36 verbose #22082 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22083 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22084 > > │ ### new_concurrent_stack │ 00:17:36 verbose #22085 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22086 > > 00:17:36 verbose #22087 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22088 > > inl new_concurrent_stack forall t. () : concurrent_stack t = 00:17:36 verbose #22089 > > $'System.Collections.Concurrent.ConcurrentStack<`t>' () 00:17:36 verbose #22090 > 00:17:36 debug #1289 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/02d62270c38a30775c406ed44663ed61732f73c4eb2c92c04844036ede2836cf/main.spi 00:17:36 verbose #22091 > > 00:17:36 verbose #22092 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22093 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22094 > > │ ### token_register │ 00:17:36 verbose #22095 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22096 > > 00:17:36 verbose #22097 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22098 > > inl token_register (fn : () -> ()) (ct : cancellation_token) : 00:17:36 verbose #22099 > > cancellation_token_registration = 00:17:36 verbose #22100 > > fn |> $'!ct.Register' 00:17:36 verbose #22101 > 00:17:36 debug #1290 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa29731ed6e2836039d54945cc432c2601a5147f2d322dc81b487f4672f0f2d2/main.spi 00:17:36 verbose #22102 > > 00:17:36 verbose #22103 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:36 verbose #22104 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:36 verbose #22105 > > │ ### new_cancellation_token_source │ 00:17:36 verbose #22106 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:36 verbose #22107 > > 00:17:36 verbose #22108 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:36 verbose #22109 > > inl new_cancellation_token_source () : cancellation_token_source = 00:17:36 verbose #22110 > > $'new `cancellation_token_source ()' 00:17:36 verbose #22111 > 00:17:36 debug #1291 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/63251aad1ab1b6cd5eb806afce3ed2f0fe85119196a653a7b7e2aab7654ca9cd/main.spi 00:17:37 verbose #22112 > > 00:17:37 verbose #22113 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:37 verbose #22114 > > inl token_cancellation_requested (ct : cancellation_token) : bool = 00:17:37 verbose #22115 > > $'!ct.IsCancellationRequested' 00:17:37 verbose #22116 > 00:17:37 debug #1292 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/847eac374c67e785e46a26b4bbf9bb95f9086bc98f6d5bb17e6a41cef24f8b24/main.spi 00:17:37 verbose #22117 > > 00:17:37 verbose #22118 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:37 verbose #22119 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:37 verbose #22120 > > │ ### new_disposable_token │ 00:17:37 verbose #22121 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:37 verbose #22122 > > 00:17:37 verbose #22123 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:37 verbose #22124 > > inl new_disposable_token (merge_token : optionm'.option' cancellation_token) = 00:17:37 verbose #22125 > > run_target function 00:17:37 verbose #22126 > > | Fsharp (Native) => fun () => 00:17:37 verbose #22127 > > inl cts = new_cancellation_token_source () 00:17:37 verbose #22128 > > inl cts = 00:17:37 verbose #22129 > > match merge_token |> optionm'.unbox with 00:17:37 verbose #22130 > > | None => cts 00:17:37 verbose #22131 > > | Some merge_token => 00:17:37 verbose #22132 > > create_linked_token_source ;[[ cts |> 00:17:37 verbose #22133 > > cancellation_source_token; merge_token ]] 00:17:37 verbose #22134 > > inl disposable : _ () = new_disposable fun () => 00:17:37 verbose #22135 > > cts |> cancellation_source_cancel 00:17:37 verbose #22136 > > cts |> cancellation_source_token, disposable 00:17:37 verbose #22137 > > | _ => fun () => null () 00:17:37 verbose #22138 > 00:17:37 debug #1293 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8809fd9b08377f4279cf9c7cbb555fd64c85fa6c22222441e9ba3011218ec985/main.spi 00:17:37 verbose #22139 > > 00:17:37 verbose #22140 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:37 verbose #22141 > > //// test 00:17:37 verbose #22142 > > 00:17:37 verbose #22143 > > inl run fn = 00:17:37 verbose #22144 > > inl token, disposable = new_disposable_token (None |> optionm'.box) 00:17:37 verbose #22145 > > disposable |> use |> ignore 00:17:37 verbose #22146 > > fn token 00:17:37 verbose #22147 > > fun () => 00:17:37 verbose #22148 > > fn token 00:17:37 verbose #22149 > > |> async.new_async 00:17:37 verbose #22150 > > |> async.start 00:17:37 verbose #22151 > > 00:17:37 verbose #22152 > > fun () => 00:17:37 verbose #22153 > > inl counter = mut 0i32 00:17:37 verbose #22154 > > 00:17:37 verbose #22155 > > inl fn (token : cancellation_token) = 00:17:37 verbose #22156 > > counter <- *counter + (if token |> token_cancellation_requested then 10 00:17:37 verbose #22157 > > else 1) 00:17:37 verbose #22158 > > 00:17:37 verbose #22159 > > join run fn 00:17:37 verbose #22160 > > async.sleep 10 |> async.do 00:17:37 verbose #22161 > > return *counter 00:17:37 verbose #22162 > > |> async.new_async_unit 00:17:37 verbose #22163 > > |> async.run_synchronously 00:17:37 verbose #22164 > > |> _assert_eq 11i32 00:17:37 verbose #22165 > 00:17:37 debug #1294 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/00d33966272a71e2df5a9bf33899505c5715fb0d43af0275a184a67bd37fdbad/main.spi 00:17:38 verbose #22166 > > 00:17:38 verbose #22167 > > ╭─[ 1.24s - stdout ]───────────────────────────────────────────────────────────╮ 00:17:38 verbose #22168 > > │ assert_eq / actual: 11 / expected: 11 │ 00:17:38 verbose #22169 > > │ │ 00:17:38 verbose #22170 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:38 verbose #22171 > > 00:17:38 verbose #22172 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:38 verbose #22173 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:38 verbose #22174 > > │ ## main │ 00:17:38 verbose #22175 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:38 verbose #22176 > > 00:17:38 verbose #22177 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:38 verbose #22178 > > inl main () = 00:17:38 verbose #22179 > > $'let new_disposable_token x = !new_disposable_token x' : () 00:17:38 verbose #22180 > 00:17:38 debug #1295 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5600e40756b130e113404bb144fecc52c45b6a23bc49ba77d37cbbc5faafaaaf/main.spi 00:17:39 verbose #22181 > 00:00:09 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 27597 } 00:17:39 verbose #22182 > 00:00:09 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:39 verbose #22183 > 00:00:10 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.ipynb to html 00:17:39 verbose #22184 > 00:00:10 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:17:39 verbose #22185 > 00:00:10 verbose #7 ! validate(nb) 00:17:40 verbose #22186 > 00:00:10 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:17:40 verbose #22187 > 00:00:10 verbose #9 ! return _pygments_highlight( 00:17:40 verbose #22188 > 00:00:11 verbose #10 ! [NbConvertApp] Writing 344118 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.html 00:17:40 verbose #22189 > 00:00:11 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 902 } 00:17:40 verbose #22190 > 00:00:11 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 902 } 00:17:40 verbose #22191 > 00:00:11 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/threading.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:40 verbose #22192 > 00:00:11 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:17:40 verbose #22193 > 00:00:11 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:17:40 verbose #22194 > 00:00:11 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 28558 } 00:17:40 debug #22195 runtime.execute_with_options_async / { exit_code = 0; output_length = 32346 } 00:17:40 debug #30 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path threading.dib --retries 3 00:17:40 debug #22196 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path benchmark.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:40 verbose #22197 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "benchmark.dib", "--retries", "3"])) } 00:17:40 verbose #22198 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:17:42 verbose #22199 > > 00:17:42 verbose #22200 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:42 verbose #22201 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:42 verbose #22202 > > │ ## benchmark │ 00:17:42 verbose #22203 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:44 verbose #22204 > > 00:17:44 verbose #22205 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:44 verbose #22206 > > //// test 00:17:44 verbose #22207 > > 00:17:44 verbose #22208 > > open testing 00:17:45 verbose #22209 > 00:17:44 debug #1296 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:17:45 verbose #22210 > > 00:17:45 verbose #22211 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22212 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22213 > > │ ## fsharp │ 00:17:45 verbose #22214 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22215 > > 00:17:45 verbose #22216 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22217 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22218 > > │ ### test_case_result │ 00:17:45 verbose #22219 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22220 > > 00:17:45 verbose #22221 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22222 > > type test_case_result = 00:17:45 verbose #22223 > > { 00:17:45 verbose #22224 > > input : string 00:17:45 verbose #22225 > > expected : string 00:17:45 verbose #22226 > > result : string 00:17:45 verbose #22227 > > time_list : array_base i64 00:17:45 verbose #22228 > > } 00:17:45 verbose #22229 > 00:17:45 debug #1297 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15d929cf08c028299e48d797581c0a711100163c268b9ffb95fc65527ed60c03/main.spi 00:17:45 verbose #22230 > > 00:17:45 verbose #22231 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22232 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22233 > > │ ### invoke │ 00:17:45 verbose #22234 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22235 > > 00:17:45 verbose #22236 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22237 > > inl invoke forall t. count (fn : () -> t) = 00:17:45 verbose #22238 > > runtime.gc_collect () 00:17:45 verbose #22239 > > inl stopwatch = date_time.stopwatch () 00:17:45 verbose #22240 > > stopwatch |> date_time.stopwatch_start 00:17:45 verbose #22241 > > inl time1 = stopwatch |> date_time.stopwatch_elapsed_milliseconds 00:17:45 verbose #22242 > > inl result : t = 00:17:45 verbose #22243 > > am'.init_series 0 count 1i32 00:17:45 verbose #22244 > > |> fun x => a x : _ int _ 00:17:45 verbose #22245 > > |> am'.parallel_map fun _n => fn () 00:17:45 verbose #22246 > > |> am'.last 00:17:45 verbose #22247 > > inl time2 = (stopwatch |> date_time.stopwatch_elapsed_milliseconds) - time1 00:17:45 verbose #22248 > > result, time2 00:17:45 verbose #22249 > 00:17:45 debug #1298 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/712c2d68277aab0d37869991c25bac3a3ef50db8d1a1a6771f389950716dadd5/main.spi 00:17:45 verbose #22250 > > 00:17:45 verbose #22251 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22252 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22253 > > │ ### run │ 00:17:45 verbose #22254 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22255 > > 00:17:45 verbose #22256 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22257 > > inl run forall input expected. 00:17:45 verbose #22258 > > count 00:17:45 verbose #22259 > > (solutions : list (string * (input -> expected))) 00:17:45 verbose #22260 > > ((input, expected) : (input * expected)) 00:17:45 verbose #22261 > > : test_case_result 00:17:45 verbose #22262 > > = 00:17:45 verbose #22263 > > inl input_str = input |> sm'.format_debug 00:17:45 verbose #22264 > > 00:17:45 verbose #22265 > > console.write_line "" 00:17:45 verbose #22266 > > trace Verbose 00:17:45 verbose #22267 > > fun () => $'$"benchmark.run"' 00:17:45 verbose #22268 > > fun () => { input_str = input_str |> sm'.ellipsis_end 40 } 00:17:45 verbose #22269 > > 00:17:45 verbose #22270 > > inl results_with_time : array_base _ = 00:17:45 verbose #22271 > > solutions 00:17:45 verbose #22272 > > |> listm'.indexed 00:17:45 verbose #22273 > > |> listm'.box 00:17:45 verbose #22274 > > |> listm'.to_array' 00:17:45 verbose #22275 > > |> am'.map_base fun ((i : int), (test_name, solution)) => 00:17:45 verbose #22276 > > inl result, time = 00:17:45 verbose #22277 > > fun () => solution input 00:17:45 verbose #22278 > > |> invoke count 00:17:45 verbose #22279 > > trace Verbose 00:17:45 verbose #22280 > > fun () => $'$"benchmark.run / solutions.map"' 00:17:45 verbose #22281 > > fun () => { i = i + 1; test_name time } 00:17:45 verbose #22282 > > result, time 00:17:45 verbose #22283 > > 00:17:45 verbose #22284 > > match results_with_time |> am'.map_base fst with 00:17:45 verbose #22285 > > | array when (array |> (fun x => a x : _ int _) |> am'.length) <= 1 => () 00:17:45 verbose #22286 > > | array when array |> (fun x => a x : _ int _) |> am.forall' ((=) (array |> 00:17:45 verbose #22287 > > (fun x => a x : _ int _) |> am'.index 0)) => () 00:17:45 verbose #22288 > > | results => failwith ($'$"benchmark.run / error / results: {!results}"' : 00:17:45 verbose #22289 > > string) 00:17:45 verbose #22290 > > 00:17:45 verbose #22291 > > { 00:17:45 verbose #22292 > > input = input_str 00:17:45 verbose #22293 > > expected = expected |> sm'.format_debug 00:17:45 verbose #22294 > > result = results_with_time |> am'.map_base fst |> (fun x => a x : _ int 00:17:45 verbose #22295 > > _) |> am'.index 0 |> sm'.format_debug 00:17:45 verbose #22296 > > time_list = results_with_time |> am'.map_base snd 00:17:45 verbose #22297 > > } 00:17:45 verbose #22298 > 00:17:45 debug #1299 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a58d85ac241e292350c694f056d3396d8090089e951cd8567adff0553d396e3b/main.spi 00:17:45 verbose #22299 > > 00:17:45 verbose #22300 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22301 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22302 > > │ ### run_all │ 00:17:45 verbose #22303 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22304 > > 00:17:45 verbose #22305 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22306 > > inl run_all forall input expected. 00:17:45 verbose #22307 > > test_name 00:17:45 verbose #22308 > > count 00:17:45 verbose #22309 > > (solutions : list (string * (input -> expected))) 00:17:45 verbose #22310 > > test_cases 00:17:45 verbose #22311 > > = 00:17:45 verbose #22312 > > console.write_line "" 00:17:45 verbose #22313 > > console.write_line "```" 00:17:45 verbose #22314 > > trace Verbose 00:17:45 verbose #22315 > > fun () => $'$"benchmark.run_all"' 00:17:45 verbose #22316 > > fun () => { test_name count } 00:17:45 verbose #22317 > > test_cases 00:17:45 verbose #22318 > > |> listm'.box 00:17:45 verbose #22319 > > |> listm'.to_array' 00:17:45 verbose #22320 > > |> am'.map_base (run count solutions) 00:17:45 verbose #22321 > 00:17:45 debug #1300 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/76308705ec2a82227c9e0f4f3cf3114c2531985fad51c8cc4058f4f3f3fe823a/main.spi 00:17:45 verbose #22322 > > 00:17:45 verbose #22323 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22324 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22325 > > │ ### sort_result_list │ 00:17:45 verbose #22326 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22327 > > 00:17:45 verbose #22328 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22329 > > inl sort_result_list results = 00:17:45 verbose #22330 > > inl table = 00:17:45 verbose #22331 > > inl rows = 00:17:45 verbose #22332 > > results 00:17:45 verbose #22333 > > |> am'.map_base fun (result : test_case_result) => 00:17:45 verbose #22334 > > inl best = 00:17:45 verbose #22335 > > result.time_list 00:17:45 verbose #22336 > > |> am'.indexed 00:17:45 verbose #22337 > > |> am'.map_base fun (i, time) => 00:17:45 verbose #22338 > > i + 1i32, time 00:17:45 verbose #22339 > > |> fun x => a x : _ int _ 00:17:45 verbose #22340 > > |> am'.sort_by snd 00:17:45 verbose #22341 > > |> am'.index 0i32 00:17:45 verbose #22342 > > |> sm'.format 00:17:45 verbose #22343 > > inl row = 00:17:45 verbose #22344 > > [[ 00:17:45 verbose #22345 > > result.input |> sm'.ellipsis_end 40 |> sm'.replace "|" 00:17:45 verbose #22346 > > "" 00:17:45 verbose #22347 > > result.expected 00:17:45 verbose #22348 > > result.result 00:17:45 verbose #22349 > > best 00:17:45 verbose #22350 > > ]] 00:17:45 verbose #22351 > > inl color : option console.console_color = 00:17:45 verbose #22352 > > open console 00:17:45 verbose #22353 > > match result.expected = result.result with 00:17:45 verbose #22354 > > | true => Some $'`console_color.DarkGreen' 00:17:45 verbose #22355 > > | false => Some $'`console_color.DarkRed' 00:17:45 verbose #22356 > > row, color 00:17:45 verbose #22357 > > 00:17:45 verbose #22358 > > inl header = 00:17:45 verbose #22359 > > [[ 00:17:45 verbose #22360 > > [[ 00:17:45 verbose #22361 > > "input" 00:17:45 verbose #22362 > > "expected" 00:17:45 verbose #22363 > > "result" 00:17:45 verbose #22364 > > "best" 00:17:45 verbose #22365 > > ]] 00:17:45 verbose #22366 > > [[ 00:17:45 verbose #22367 > > "---" 00:17:45 verbose #22368 > > "---" 00:17:45 verbose #22369 > > "---" 00:17:45 verbose #22370 > > "---" 00:17:45 verbose #22371 > > ]] 00:17:45 verbose #22372 > > ]] 00:17:45 verbose #22373 > > |> listm.map fun row => row, None 00:17:45 verbose #22374 > > |> listm'.box 00:17:45 verbose #22375 > > |> listm'.to_array' 00:17:45 verbose #22376 > > |> fun x => a x : _ int _ 00:17:45 verbose #22377 > > a rows 00:17:45 verbose #22378 > > |> am.append header 00:17:45 verbose #22379 > > |> fun (a x) => x 00:17:45 verbose #22380 > > 00:17:45 verbose #22381 > > inl formatted_table = 00:17:45 verbose #22382 > > inl length_map : mapm.map i32 i64 = 00:17:45 verbose #22383 > > table 00:17:45 verbose #22384 > > |> am'.map_base (fst >> listm'.box >> listm'.to_array') 00:17:45 verbose #22385 > > |> am'.transpose 00:17:45 verbose #22386 > > |> am'.map_base fun column => 00:17:45 verbose #22387 > > column 00:17:45 verbose #22388 > > |> am'.map_base sm.length 00:17:45 verbose #22389 > > |> fun x => a x : _ int _ 00:17:45 verbose #22390 > > |> am'.sort_descending 00:17:45 verbose #22391 > > |> am'.try_item 0i32 00:17:45 verbose #22392 > > |> optionm'.default_value 0i64 00:17:45 verbose #22393 > > |> am'.indexed 00:17:45 verbose #22394 > > |> fun x => a x : _ int _ 00:17:45 verbose #22395 > > |> mapm.of_array 00:17:45 verbose #22396 > > table 00:17:45 verbose #22397 > > |> am'.map_base fun (row, color) => 00:17:45 verbose #22398 > > inl new_row = 00:17:45 verbose #22399 > > row 00:17:45 verbose #22400 > > |> listm'.indexed 00:17:45 verbose #22401 > > |> listm.map fun (i, cell) => 00:17:45 verbose #22402 > > cell |> sm'.pad_right (length_map |> mapm.item i |> conv) ' 00:17:45 verbose #22403 > > ' 00:17:45 verbose #22404 > > |> listm'.box 00:17:45 verbose #22405 > > |> listm'.to_array' 00:17:45 verbose #22406 > > new_row, color 00:17:45 verbose #22407 > > 00:17:45 verbose #22408 > > console.write_line "```" 00:17:45 verbose #22409 > > formatted_table 00:17:45 verbose #22410 > > |> fun x => a x : _ int _ 00:17:45 verbose #22411 > > |> am'.to_list' 00:17:45 verbose #22412 > > |> listm'.unbox 00:17:45 verbose #22413 > > |> listm.iter fun (row, color) => 00:17:45 verbose #22414 > > match color with 00:17:45 verbose #22415 > > | Some color => color |> console.set_foreground_color 00:17:45 verbose #22416 > > | None => console.reset_color () 00:17:45 verbose #22417 > > 00:17:45 verbose #22418 > > a row |> sm'.join' "\t| " |> console.write_line 00:17:45 verbose #22419 > > 00:17:45 verbose #22420 > > console.reset_color () 00:17:45 verbose #22421 > > 00:17:45 verbose #22422 > > inl averages = 00:17:45 verbose #22423 > > results 00:17:45 verbose #22424 > > |> am'.map_base fun result => 00:17:45 verbose #22425 > > result.time_list 00:17:45 verbose #22426 > > |> am'.map_base ($'float' : i64 -> f64) 00:17:45 verbose #22427 > > |> am'.transpose 00:17:45 verbose #22428 > > |> am'.map_base ((fun x => a x : _ int _) >> am'.average) 00:17:45 verbose #22429 > > |> am'.map_base ($'int64' : f64 -> i64) 00:17:45 verbose #22430 > > |> am'.indexed 00:17:45 verbose #22431 > > |> fun x => a x : _ u64 _ 00:17:45 verbose #22432 > > 00:17:45 verbose #22433 > > console.write_line "```" 00:17:45 verbose #22434 > > averages 00:17:45 verbose #22435 > > |> am'.sort_by snd 00:17:45 verbose #22436 > > |> am'.to_list' 00:17:45 verbose #22437 > > |> listm'.unbox 00:17:45 verbose #22438 > > |> listm.iter fun ((i : i32), avg) => 00:17:45 verbose #22439 > > trace Verbose 00:17:45 verbose #22440 > > fun () => $'$"benchmark.sort_result_list / averages.iter"' 00:17:45 verbose #22441 > > fun () => { i = i + 1; avg } 00:17:45 verbose #22442 > > console.write_line "```" 00:17:45 verbose #22443 > 00:17:45 debug #1301 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/913d029af6f4d88ef331628f0142cceef774ceceaae5c0bd31a7192ed49afca3/main.spi 00:17:45 verbose #22444 > > 00:17:45 verbose #22445 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22446 > > //// test 00:17:45 verbose #22447 > > 00:17:45 verbose #22448 > > inl is_fast () = 00:17:45 verbose #22449 > > false 00:17:45 verbose #22450 > 00:17:45 debug #1302 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cbdbb70747f799eb260ebfa6040ad17c949ee4084ba824aa65ab2d9a77d2c726/main.spi 00:17:45 verbose #22451 > > 00:17:45 verbose #22452 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22453 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22454 > > │ ### empty2Tests │ 00:17:45 verbose #22455 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22456 > > 00:17:45 verbose #22457 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:45 verbose #22458 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:45 verbose #22459 > > │ Test: Empty2 │ 00:17:45 verbose #22460 > > │ │ 00:17:45 verbose #22461 > > │ Solution: (a, a) │ 00:17:45 verbose #22462 > > │ Test case 1. A. Time: 59L │ 00:17:45 verbose #22463 > > │ │ 00:17:45 verbose #22464 > > │ Solution: (a, a) │ 00:17:45 verbose #22465 > > │ Test case 1. A. Time: 53L │ 00:17:45 verbose #22466 > > │ │ 00:17:45 verbose #22467 > > │ Input | Expected | Result | Best │ 00:17:45 verbose #22468 > > │ --- | --- | --- | --- │ 00:17:45 verbose #22469 > > │ (a, a) | a | a | (1, 59) │ 00:17:45 verbose #22470 > > │ (a, a) | a | a | (1, 53) │ 00:17:45 verbose #22471 > > │ │ 00:17:45 verbose #22472 > > │ Averages │ 00:17:45 verbose #22473 > > │ Test case 1. Average Time: 56L │ 00:17:45 verbose #22474 > > │ │ 00:17:45 verbose #22475 > > │ Ranking │ 00:17:45 verbose #22476 > > │ Test case 1. Average Time: 56L │ 00:17:45 verbose #22477 > > │ │ 00:17:45 verbose #22478 > > │ --- │ 00:17:45 verbose #22479 > > │ │ 00:17:45 verbose #22480 > > │ │ 00:17:45 verbose #22481 > > │ ``` │ 00:17:45 verbose #22482 > > │ 01:12:03 verbose #1 benchmark.run_all / {count = 2000000; test_name = │ 00:17:45 verbose #22483 > > │ empty_2_tests} │ 00:17:45 verbose #22484 > > │ 01:12:03 verbose #2 benchmark.run / {count = 2000000; expected = a; │ 00:17:45 verbose #22485 > > │ input = a, a; input_str = struct ("a", "a")} │ 00:17:45 verbose #22486 > > │ 01:12:03 verbose #3 benchmark.run / solutions.map / {count = 2000000; │ 00:17:45 verbose #22487 > > │ expected = a; i = 0; input = a, a; input_str = struct ("a", "a"); test_name │ 00:17:45 verbose #22488 > > │ = A; time = 119} │ 00:17:45 verbose #22489 > > │ 01:12:04 verbose #4 benchmark.run / solutions.map / {count = 2000000; │ 00:17:45 verbose #22490 > > │ expected = a; i = 1; input = a, a; input_str = struct ("a", "a"); test_name │ 00:17:45 verbose #22491 > > │ = B; time = 122} │ 00:17:45 verbose #22492 > > │ 01:12:04 verbose #5 benchmark.run / {count = 2000000; expected = b; │ 00:17:45 verbose #22493 > > │ input = b, b; input_str = struct ("b", "b")} │ 00:17:45 verbose #22494 > > │ 01:12:04 verbose #6 benchmark.run / solutions.map / {count = 2000000; │ 00:17:45 verbose #22495 > > │ expected = b; i = 0; input = b, b; input_str = struct ("b", "b"); test_name │ 00:17:45 verbose #22496 > > │ = A; time = 110} │ 00:17:45 verbose #22497 > > │ 01:12:04 verbose #7 benchmark.run / solutions.map / {count = 2000000; │ 00:17:45 verbose #22498 > > │ expected = b; i = 1; input = b, b; input_str = struct ("b", "b"); test_name │ 00:17:45 verbose #22499 > > │ = B; time = 120} │ 00:17:45 verbose #22500 > > │ ``` │ 00:17:45 verbose #22501 > > │ Input | Expected | Result | Best │ 00:17:45 verbose #22502 > > │ --- | --- | --- | --- │ 00:17:45 verbose #22503 > > │ struct ("a", "a") | "a" | "a" | struct (1L, 119L) │ 00:17:45 verbose #22504 > > │ struct ("b", "b") | "b" | "b" | struct (1L, 110L) │ 00:17:45 verbose #22505 > > │ ``` │ 00:17:45 verbose #22506 > > │ 01:12:04 verbose #8 benchmark.sort_result_list / averages.iter / {avg = │ 00:17:45 verbose #22507 > > │ 114; i = 0} │ 00:17:45 verbose #22508 > > │ 01:12:04 verbose #9 benchmark.sort_result_list / averages.iter / {avg = │ 00:17:45 verbose #22509 > > │ 121; i = 1} │ 00:17:45 verbose #22510 > > │ ``` │ 00:17:45 verbose #22511 > > │ ` │ 00:17:45 verbose #22512 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:45 verbose #22513 > > 00:17:45 verbose #22514 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:45 verbose #22515 > > //// test 00:17:45 verbose #22516 > > 00:17:45 verbose #22517 > > inl get_solutions () = 00:17:45 verbose #22518 > > [[ 00:17:45 verbose #22519 > > "A", 00:17:45 verbose #22520 > > fun (a, _b) => 00:17:45 verbose #22521 > > a 00:17:45 verbose #22522 > > 00:17:45 verbose #22523 > > "B", 00:17:45 verbose #22524 > > fun (_a, b) => 00:17:45 verbose #22525 > > b 00:17:45 verbose #22526 > > ]] 00:17:45 verbose #22527 > > 00:17:45 verbose #22528 > > inl rec empty_2_tests () = 00:17:45 verbose #22529 > > inl test_cases = [[ 00:17:45 verbose #22530 > > ("a", "a"), "a" 00:17:45 verbose #22531 > > ("b", "b"), "b" 00:17:45 verbose #22532 > > ]] 00:17:45 verbose #22533 > > 00:17:45 verbose #22534 > > inl solutions = get_solutions () 00:17:45 verbose #22535 > > 00:17:45 verbose #22536 > > // inl is_fast () = true 00:17:45 verbose #22537 > > 00:17:45 verbose #22538 > > inl count = 00:17:45 verbose #22539 > > if is_fast () 00:17:45 verbose #22540 > > then 1000i32 00:17:45 verbose #22541 > > else 2000000i32 00:17:45 verbose #22542 > > 00:17:45 verbose #22543 > > run_all (reflection.nameof { empty_2_tests }) count solutions test_cases 00:17:45 verbose #22544 > > |> sort_result_list 00:17:45 verbose #22545 > > 00:17:45 verbose #22546 > > empty_2_tests () 00:17:45 verbose #22547 > 00:17:45 debug #1303 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5ad3762f3cc66fd0f2aec076f1d78ec99849752e580ba05ed9bba352313a8d98/main.spi 00:17:49 verbose #22548 > > 00:17:49 verbose #22549 > > ╭─[ 3.14s - stdout ]───────────────────────────────────────────────────────────╮ 00:17:49 verbose #22550 > > │ │ 00:17:49 verbose #22551 > > │ ``` │ 00:17:49 verbose #22552 > > │ 00:00:00 verbose #1 benchmark.run_all / { test_name = empty_2_tests; │ 00:17:49 verbose #22553 > > │ count = 2000000 } │ 00:17:49 verbose #22554 > > │ │ 00:17:49 verbose #22555 > > │ 00:00:00 verbose #2 benchmark.run / { input_str = struct ("a", "a") } │ 00:17:49 verbose #22556 > > │ 00:00:00 verbose #3 benchmark.run / solutions.map / { i = 1; test_name │ 00:17:49 verbose #22557 > > │ = A; time = 29 } │ 00:17:49 verbose #22558 > > │ 00:00:00 verbose #4 benchmark.run / solutions.map / { i = 2; test_name │ 00:17:49 verbose #22559 > > │ = B; time = 17 } │ 00:17:49 verbose #22560 > > │ │ 00:17:49 verbose #22561 > > │ 00:00:00 verbose #5 benchmark.run / { input_str = struct ("b", "b") } │ 00:17:49 verbose #22562 > > │ 00:00:00 verbose #6 benchmark.run / solutions.map / { i = 1; test_name │ 00:17:49 verbose #22563 > > │ = A; time = 17 } │ 00:17:49 verbose #22564 > > │ 00:00:00 verbose #7 benchmark.run / solutions.map / { i = 2; test_name │ 00:17:49 verbose #22565 > > │ = B; time = 18 } │ 00:17:49 verbose #22566 > > │ ``` │ 00:17:49 verbose #22567 > > │ input | expected | result | best │ 00:17:49 verbose #22568 > > │ --- | --- | --- | --- │ 00:17:49 verbose #22569 > > │ struct ("a", "a") | "a" | "a" | 2, 17 │ 00:17:49 verbose #22570 > > │ struct ("b", "b") | "b" | "b" | 1, 17 │ 00:17:49 verbose #22571 > > │ ``` │ 00:17:49 verbose #22572 > > │ 00:00:00 verbose #8 benchmark.sort_result_list / averages.iter / { i = │ 00:17:49 verbose #22573 > > │ 2; avg = 17 } │ 00:17:49 verbose #22574 > > │ 00:00:00 verbose #9 benchmark.sort_result_list / averages.iter / { i = │ 00:17:49 verbose #22575 > > │ 1; avg = 23 } │ 00:17:49 verbose #22576 > > │ ``` │ 00:17:49 verbose #22577 > > │ │ 00:17:49 verbose #22578 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:49 verbose #22579 > > 00:17:49 verbose #22580 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:49 verbose #22581 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:49 verbose #22582 > > │ ### emptyTests │ 00:17:49 verbose #22583 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:49 verbose #22584 > > 00:17:49 verbose #22585 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:49 verbose #22586 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:49 verbose #22587 > > │ Test: Empty │ 00:17:49 verbose #22588 > > │ │ 00:17:49 verbose #22589 > > │ Solution: 0 │ 00:17:49 verbose #22590 > > │ Test case 1. A. Time: 61L │ 00:17:49 verbose #22591 > > │ │ 00:17:49 verbose #22592 > > │ Solution: 2 │ 00:17:49 verbose #22593 > > │ Test case 1. A. Time: 62L │ 00:17:49 verbose #22594 > > │ │ 00:17:49 verbose #22595 > > │ Solution: 5 │ 00:17:49 verbose #22596 > > │ Test case 1. A. Time: 70L │ 00:17:49 verbose #22597 > > │ │ 00:17:49 verbose #22598 > > │ Input | Expected | Result | Best │ 00:17:49 verbose #22599 > > │ --- | --- | --- | --- │ 00:17:49 verbose #22600 > > │ 0 | 0 | 0 | (1, 61) │ 00:17:49 verbose #22601 > > │ 2 | 2 | 2 | (1, 62) │ 00:17:49 verbose #22602 > > │ 5 | 5 | 5 | (1, 70) │ 00:17:49 verbose #22603 > > │ │ 00:17:49 verbose #22604 > > │ Averages │ 00:17:49 verbose #22605 > > │ Test case 1. Average Time: 64L │ 00:17:49 verbose #22606 > > │ │ 00:17:49 verbose #22607 > > │ Ranking │ 00:17:49 verbose #22608 > > │ Test case 1. Average Time: 64L │ 00:17:49 verbose #22609 > > │ │ 00:17:49 verbose #22610 > > │ --- │ 00:17:49 verbose #22611 > > │ │ 00:17:49 verbose #22612 > > │ ``` │ 00:17:49 verbose #22613 > > │ 01:21:25 verbose #1 benchmark.run_all / {count = 2000000; test_name = │ 00:17:49 verbose #22614 > > │ empty_1_tests} │ 00:17:49 verbose #22615 > > │ 01:21:25 verbose #2 benchmark.run / {count = 2000000; expected = │ 00:17:49 verbose #22616 > > │ +1.000000; input = +0.000000; input_str = 0.0} │ 00:17:49 verbose #22617 > > │ 01:21:25 verbose #3 benchmark.run / solutions.map / {count = 2000000; │ 00:17:49 verbose #22618 > > │ expected = +1.000000; i = 0; input = +0.000000; input_str = 0.0; test_name = │ 00:17:49 verbose #22619 > > │ A; time = 36} │ 00:17:49 verbose #22620 > > │ 01:21:25 verbose #4 benchmark.run / {count = 2000000; expected = │ 00:17:49 verbose #22621 > > │ +3.000000; input = +2.000000; input_str = 2.0} │ 00:17:49 verbose #22622 > > │ 01:21:25 verbose #5 benchmark.run / solutions.map / {count = 2000000; │ 00:17:49 verbose #22623 > > │ expected = +3.000000; i = 0; input = +2.000000; input_str = 2.0; test_name = │ 00:17:49 verbose #22624 > > │ A; time = 20} │ 00:17:49 verbose #22625 > > │ 01:21:25 verbose #6 benchmark.run / {count = 2000000; expected = │ 00:17:49 verbose #22626 > > │ +6.000000; input = +5.000000; input_str = 5.0} │ 00:17:49 verbose #22627 > > │ 01:21:25 verbose #7 benchmark.run / solutions.map / {count = 2000000; │ 00:17:49 verbose #22628 > > │ expected = +6.000000; i = 0; input = +5.000000; input_str = 5.0; test_name = │ 00:17:49 verbose #22629 > > │ A; time = 22} │ 00:17:49 verbose #22630 > > │ ``` │ 00:17:49 verbose #22631 > > │ Input | Expected | Result | Best │ 00:17:49 verbose #22632 > > │ --- | --- | --- | --- │ 00:17:49 verbose #22633 > > │ 0.0 | 1.0 | 1.0 | struct (1L, 36L) │ 00:17:49 verbose #22634 > > │ 2.0 | 3.0 | 3.0 | struct (1L, 20L) │ 00:17:49 verbose #22635 > > │ 5.0 | 6.0 | 6.0 | struct (1L, 22L) │ 00:17:49 verbose #22636 > > │ ``` │ 00:17:49 verbose #22637 > > │ 01:21:25 verbose #8 benchmark.sort_result_list / averages.iter / {avg = │ 00:17:49 verbose #22638 > > │ 26; i = 0} │ 00:17:49 verbose #22639 > > │ ``` │ 00:17:49 verbose #22640 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:49 verbose #22641 > > 00:17:49 verbose #22642 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:17:49 verbose #22643 > > //// test 00:17:49 verbose #22644 > > 00:17:49 verbose #22645 > > inl get_solutions () = 00:17:49 verbose #22646 > > [[ 00:17:49 verbose #22647 > > "A", 00:17:49 verbose #22648 > > fun n => 00:17:49 verbose #22649 > > n + 1f64 00:17:49 verbose #22650 > > ]] 00:17:49 verbose #22651 > > 00:17:49 verbose #22652 > > inl rec empty_1_tests () = 00:17:49 verbose #22653 > > inl test_cases = [[ 00:17:49 verbose #22654 > > 0, 1 00:17:49 verbose #22655 > > 2, 3 00:17:49 verbose #22656 > > 5, 6 00:17:49 verbose #22657 > > ]] 00:17:49 verbose #22658 > > 00:17:49 verbose #22659 > > inl solutions = get_solutions () 00:17:49 verbose #22660 > > 00:17:49 verbose #22661 > > // inl is_fast () = true 00:17:49 verbose #22662 > > 00:17:49 verbose #22663 > > inl count = 00:17:49 verbose #22664 > > if is_fast () 00:17:49 verbose #22665 > > then 1000i32 00:17:49 verbose #22666 > > else 2000000i32 00:17:49 verbose #22667 > > 00:17:49 verbose #22668 > > run_all (reflection.nameof { empty_1_tests }) count solutions test_cases 00:17:49 verbose #22669 > > |> sort_result_list 00:17:49 verbose #22670 > > 00:17:49 verbose #22671 > > empty_1_tests () 00:17:49 verbose #22672 > 00:17:48 debug #1304 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/42aba3e2b1b601b222b60b057e8550a2bfe1c46c8fa80af09eeee634db28aaab/main.spi 00:17:50 verbose #22673 > > 00:17:50 verbose #22674 > > ╭─[ 1.84s - stdout ]───────────────────────────────────────────────────────────╮ 00:17:50 verbose #22675 > > │ │ 00:17:50 verbose #22676 > > │ ``` │ 00:17:50 verbose #22677 > > │ 00:00:00 verbose #1 benchmark.run_all / { test_name = empty_1_tests; │ 00:17:50 verbose #22678 > > │ count = 2000000 } │ 00:17:50 verbose #22679 > > │ │ 00:17:50 verbose #22680 > > │ 00:00:00 verbose #2 benchmark.run / { input_str = 0.0 } │ 00:17:50 verbose #22681 > > │ 00:00:00 verbose #3 benchmark.run / solutions.map / { i = 1; test_name │ 00:17:50 verbose #22682 > > │ = A; time = 19 } │ 00:17:50 verbose #22683 > > │ │ 00:17:50 verbose #22684 > > │ 00:00:00 verbose #4 benchmark.run / { input_str = 2.0 } │ 00:17:50 verbose #22685 > > │ 00:00:00 verbose #5 benchmark.run / solutions.map / { i = 1; test_name │ 00:17:50 verbose #22686 > > │ = A; time = 11 } │ 00:17:50 verbose #22687 > > │ │ 00:17:50 verbose #22688 > > │ 00:00:00 verbose #6 benchmark.run / { input_str = 5.0 } │ 00:17:50 verbose #22689 > > │ 00:00:00 verbose #7 benchmark.run / solutions.map / { i = 1; test_name │ 00:17:50 verbose #22690 > > │ = A; time = 14 } │ 00:17:50 verbose #22691 > > │ ``` │ 00:17:50 verbose #22692 > > │ input | expected | result | best │ 00:17:50 verbose #22693 > > │ --- | --- | --- | --- │ 00:17:50 verbose #22694 > > │ 0.0 | 1.0 | 1.0 | 1, 19 │ 00:17:50 verbose #22695 > > │ 2.0 | 3.0 | 3.0 | 1, 11 │ 00:17:50 verbose #22696 > > │ 5.0 | 6.0 | 6.0 | 1, 14 │ 00:17:50 verbose #22697 > > │ ``` │ 00:17:50 verbose #22698 > > │ 00:00:00 verbose #8 benchmark.sort_result_list / averages.iter / { i = │ 00:17:50 verbose #22699 > > │ 1; avg = 14 } │ 00:17:50 verbose #22700 > > │ ``` │ 00:17:50 verbose #22701 > > │ │ 00:17:50 verbose #22702 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:17:51 verbose #22703 > 00:00:10 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 30420 } 00:17:51 verbose #22704 > 00:00:10 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:51 verbose #22705 > 00:00:10 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.ipynb to html 00:17:51 verbose #22706 > 00:00:10 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:17:51 verbose #22707 > 00:00:10 verbose #7 ! validate(nb) 00:17:52 verbose #22708 > 00:00:11 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:17:52 verbose #22709 > 00:00:11 verbose #9 ! return _pygments_highlight( 00:17:52 verbose #22710 > 00:00:11 verbose #10 ! [NbConvertApp] Writing 316964 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.html 00:17:52 verbose #22711 > 00:00:11 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 902 } 00:17:52 verbose #22712 > 00:00:11 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 902 } 00:17:52 verbose #22713 > 00:00:11 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/benchmark.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:52 verbose #22714 > 00:00:11 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:17:52 verbose #22715 > 00:00:11 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:17:52 verbose #22716 > 00:00:11 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 31381 } 00:17:52 debug #22717 runtime.execute_with_options_async / { exit_code = 0; output_length = 35181 } 00:17:52 debug #31 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path benchmark.dib --retries 3 00:17:52 debug #22718 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path physics.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:17:52 verbose #22719 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "physics.dib", "--retries", "3"])) } 00:17:52 verbose #22720 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:17:54 verbose #22721 > > 00:17:54 verbose #22722 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:17:54 verbose #22723 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:17:54 verbose #22724 > > │ # physics │ 00:17:54 verbose #22725 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:08 verbose #22726 > > 00:18:08 verbose #22727 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:08 verbose #22728 > > //// test 00:18:08 verbose #22729 > > 00:18:08 verbose #22730 > > open testing 00:18:08 verbose #22731 > 00:18:08 debug #1305 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:18:08 verbose #22732 > > 00:18:08 verbose #22733 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:08 verbose #22734 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:08 verbose #22735 > > │ ### init_series │ 00:18:08 verbose #22736 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:08 verbose #22737 > > 00:18:08 verbose #22738 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:08 verbose #22739 > > //// test 00:18:08 verbose #22740 > > 00:18:08 verbose #22741 > > inl x = am'.init_series -3f64 3 0.01 00:18:08 verbose #22742 > > inl y = x |> am'.map_base math.square 00:18:08 verbose #22743 > > "square", "x", "y", ;[[ "square", x, y ]] 00:18:08 verbose #22744 > 00:18:08 debug #1306 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1a7ad985805fb6991339e38a1741fe40fa03196f8017dcafcb6a3a6ccd6d666f/main.spi 00:18:09 verbose #22745 > > 00:18:09 verbose #22746 > > ╭─[ 409.77ms - return value ]──────────────────────────────────────────────────╮ 00:18:09 verbose #22747 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:09 verbose #22748 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:09 verbose #22749 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:09 verbose #22750 > > │ stroke="none"/> │ 00:18:09 verbose #22751 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:09 verbose #22752 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22753 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22754 > > │ square │ 00:18:09 verbose #22755 > > │ </text> │ 00:18:09 verbose #22756 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │ 00:18:09 verbose #22757 > > │ y2="75"/> │ 00:18:09 verbose #22758 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:09 verbose #22759 > > │ y2="75"/> │ 00:18:09 verbose #22760 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │ 00:18:09 verbose #22761 > > │ y2="75"/> │ 00:18:09 verbose #22762 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │ 00:18:09 verbose #22763 > > │ y2="75"/> │ 00:18:09 verbose #22764 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │ 00:18:09 verbose #22765 > > │ y2="75"/> │ 00:18:09 verbose #22766 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │ 00:18:09 verbose #22767 > > │ x2="103" y2="75"/> │ 00:18:09 verbose #22768 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │ 00:18:09 verbose #22769 > > │ x2="111" y2="75"/> │ 00:18:09 verbose #22770 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:09 verbose #22771 > > │ x2="119" y2="75"/> │ 00:18:09 verbose #22772 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │ 00:18:09 verbose #22773 > > │ x2="128" y2="75"/> │ 00:18:09 verbose #22774 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │ 00:18:09 verbose #22775 > > │ x2="136" y2="75"/> │ 00:18:09 verbose #22776 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │ 00:18:09 verbose #22777 > > │ x2="144" y2="75"/> │ 00:18:09 verbose #22778 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │ 00:18:09 verbose #22779 > > │ x2="153" y2="75"/> │ 00:18:09 verbose #22780 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │ 00:18:09 verbose #22781 > > │ x2="161" y2="75"/> │ 00:18:09 verbose #22782 > > │ <line opacity="1" stroke="#... 449,326 450,324 450,323 451,322 452,321 │ 00:18:09 verbose #22783 > > │ 453,320 454,319 455,317 455,316 456,315 457,314 458,313 459,311 460,310 │ 00:18:09 verbose #22784 > > │ 460,309 461,308 462,306 463,305 464,304 465,303 465,301 466,300 467,299 │ 00:18:09 verbose #22785 > > │ 468,297 469,296 470,295 470,293 471,292 472,291 473,289 474,288 475,287 │ 00:18:09 verbose #22786 > > │ 475,285 476,284 477,283 478,281 479,280 480,278 480,277 481,276 482,274 │ 00:18:09 verbose #22787 > > │ 483,273 484,271 485,270 485,268 486,267 487,265 488,264 489,262 490,261 │ 00:18:09 verbose #22788 > > │ 490,259 491,258 492,256 493,255 494,253 495,252 495,250 496,249 497,247 │ 00:18:09 verbose #22789 > > │ 498,246 499,244 499,242 500,241 501,239 502,238 503,236 504,234 504,233 │ 00:18:09 verbose #22790 > > │ 505,231 506,229 507,228 508,226 509,224 509,223 510,221 511,219 512,218 │ 00:18:09 verbose #22791 > > │ 513,216 514,214 514,213 515,211 516,209 517,207 518,206 519,204 519,202 │ 00:18:09 verbose #22792 > > │ 520,200 521,199 522,197 523,195 524,193 524,191 525,190 526,188 527,186 │ 00:18:09 verbose #22793 > > │ 528,184 529,182 529,180 530,179 531,177 532,175 533,173 534,171 534,169 │ 00:18:09 verbose #22794 > > │ 535,167 536,165 537,164 538,162 539,160 539,158 540,156 541,154 542,152 │ 00:18:09 verbose #22795 > > │ 543,150 544,148 544,146 545,144 546,142 547,140 548,138 549,136 549,134 │ 00:18:09 verbose #22796 > > │ 550,132 551,130 552,128 553,126 554,124 554,122 555,120 556,117 557,115 │ 00:18:09 verbose #22797 > > │ 558,113 559,111 559,109 560,107 561,105 562,103 563,101 564,98 564,96 565,94 │ 00:18:09 verbose #22798 > > │ 566,92 567,90 568,88 569,85 "/> │ 00:18:09 verbose #22799 > > │ <rect x="497" y="235" width="83" height="30" opacity="1" fill="none" │ 00:18:09 verbose #22800 > > │ stroke="#FFFFFF"/> │ 00:18:09 verbose #22801 > > │ <text x="537" y="245" dy="0.76em" text-anchor="start" │ 00:18:09 verbose #22802 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22803 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22804 > > │ square │ 00:18:09 verbose #22805 > > │ </text> │ 00:18:09 verbose #22806 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:09 verbose #22807 > > │ points="507,250 527,250 "/> │ 00:18:09 verbose #22808 > > │ </svg> │ 00:18:09 verbose #22809 > > │ │ 00:18:09 verbose #22810 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #22811 > > 00:18:09 verbose #22812 > > ╭─[ 416.68ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:09 verbose #22813 > > │ 00:00:05 debug #1 runtime.execute_with_options_async / { options = { │ 00:18:09 verbose #22814 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:09 verbose #22815 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:09 verbose #22816 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:09 verbose #22817 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:09 verbose #22818 > > │ 00:00:05 verbose #2 > Creating │ 00:18:09 verbose #22819 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/7b7fc4c35397bb203cd │ 00:18:09 verbose #22820 > > │ 73e71999e798459034face642d83ec40fb90a61bec926.svg │ 00:18:09 verbose #22821 > > │ 00:00:05 debug #3 runtime.execute_with_options_async / { exit_code = │ 00:18:09 verbose #22822 > > │ 0; output_length = 134 } │ 00:18:09 verbose #22823 > > │ │ 00:18:09 verbose #22824 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #22825 > > 00:18:09 verbose #22826 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #22827 > > //// test 00:18:09 verbose #22828 > > 00:18:09 verbose #22829 > > inl x = am'.init_series -10f64 10 0.1 00:18:09 verbose #22830 > > inl y_sin = x |> am'.map_base sin 00:18:09 verbose #22831 > > inl y_cos = x |> am'.map_base cos 00:18:09 verbose #22832 > > "sin cos", "x", "y", ;[[ "sin", x, y_sin; "cos", x, y_cos ]] 00:18:09 verbose #22833 > 00:18:08 debug #1307 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/810b585c3b9f35674862bc78476fbff1b676964e99081f1b6297792e7fb0c079/main.spi 00:18:09 verbose #22834 > > 00:18:09 verbose #22835 > > ╭─[ 108.31ms - return value ]──────────────────────────────────────────────────╮ 00:18:09 verbose #22836 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:09 verbose #22837 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:09 verbose #22838 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:09 verbose #22839 > > │ stroke="none"/> │ 00:18:09 verbose #22840 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:09 verbose #22841 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22842 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22843 > > │ sin cos │ 00:18:09 verbose #22844 > > │ </text> │ 00:18:09 verbose #22845 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │ 00:18:09 verbose #22846 > > │ y2="75"/> │ 00:18:09 verbose #22847 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:09 verbose #22848 > > │ y2="75"/> │ 00:18:09 verbose #22849 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │ 00:18:09 verbose #22850 > > │ y2="75"/> │ 00:18:09 verbose #22851 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │ 00:18:09 verbose #22852 > > │ y2="75"/> │ 00:18:09 verbose #22853 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │ 00:18:09 verbose #22854 > > │ x2="107" y2="75"/> │ 00:18:09 verbose #22855 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:09 verbose #22856 > > │ x2="119" y2="75"/> │ 00:18:09 verbose #22857 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424" │ 00:18:09 verbose #22858 > > │ x2="132" y2="75"/> │ 00:18:09 verbose #22859 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │ 00:18:09 verbose #22860 > > │ x2="144" y2="75"/> │ 00:18:09 verbose #22861 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424" │ 00:18:09 verbose #22862 > > │ x2="157" y2="75"/> │ 00:18:09 verbose #22863 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:09 verbose #22864 > > │ x2="169" y2="75"/> │ 00:18:09 verbose #22865 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424" │ 00:18:09 verbose #22866 > > │ x2="182" y2="75"/> │ 00:18:09 verbose #22867 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │ 00:18:09 verbose #22868 > > │ x2="194" y2="75"/> │ 00:18:09 verbose #22869 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424" │ 00:18:09 verbose #22870 > > │ x2="207" y2="75"/> │ 00:18:09 verbose #22871 > > │ <line opacity="1" stroke...55 282,238 284,222 287,206 289,190 292,175 │ 00:18:09 verbose #22872 > > │ 294,161 297,148 299,135 302,124 304,114 307,106 309,98 312,93 314,89 317,86 │ 00:18:09 verbose #22873 > > │ 319,85 321,86 324,89 326,93 329,98 331,106 334,114 336,124 339,135 341,148 │ 00:18:09 verbose #22874 > > │ 344,161 346,175 349,190 351,206 354,222 356,238 359,255 361,271 364,287 │ 00:18:09 verbose #22875 > > │ 366,303 369,319 371,333 374,347 376,360 379,371 381,382 384,391 386,399 │ 00:18:09 verbose #22876 > > │ 389,405 391,410 394,413 396,414 399,414 401,413 404,409 406,404 409,398 │ 00:18:09 verbose #22877 > > │ 411,390 414,380 416,370 419,358 421,345 424,331 426,316 429,301 431,285 │ 00:18:09 verbose #22878 > > │ 434,268 436,252 439,236 441,219 444,203 446,188 449,173 451,159 454,146 │ 00:18:09 verbose #22879 > > │ 456,133 459,122 461,113 464,104 466,97 469,92 471,88 474,86 476,85 479,86 │ 00:18:09 verbose #22880 > > │ 481,89 484,94 486,99 489,107 491,116 494,126 496,137 499,150 501,163 504,178 │ 00:18:09 verbose #22881 > > │ 506,193 509,209 511,225 514,241 516,258 519,274 521,290 524,306 526,321 │ 00:18:09 verbose #22882 > > │ 529,335 531,349 534,362 536,373 539,384 541,392 544,400 546,406 549,410 │ 00:18:09 verbose #22883 > > │ 551,413 554,415 556,414 559,412 561,408 564,403 566,396 569,388 "/> │ 00:18:09 verbose #22884 > > │ <rect x="514" y="227" width="66" height="45" opacity="1" fill="none" │ 00:18:09 verbose #22885 > > │ stroke="#FFFFFF"/> │ 00:18:09 verbose #22886 > > │ <text x="554" y="237" dy="0.76em" text-anchor="start" │ 00:18:09 verbose #22887 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22888 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22889 > > │ sin │ 00:18:09 verbose #22890 > > │ </text> │ 00:18:09 verbose #22891 > > │ <text x="554" y="252" dy="0.76em" text-anchor="start" │ 00:18:09 verbose #22892 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22893 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22894 > > │ cos │ 00:18:09 verbose #22895 > > │ </text> │ 00:18:09 verbose #22896 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:09 verbose #22897 > > │ points="524,242 544,242 "/> │ 00:18:09 verbose #22898 > > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │ 00:18:09 verbose #22899 > > │ points="524,257 544,257 "/> │ 00:18:09 verbose #22900 > > │ </svg> │ 00:18:09 verbose #22901 > > │ │ 00:18:09 verbose #22902 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #22903 > > 00:18:09 verbose #22904 > > ╭─[ 112.90ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:09 verbose #22905 > > │ 00:00:05 debug #4 runtime.execute_with_options_async / { options = { │ 00:18:09 verbose #22906 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:09 verbose #22907 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:09 verbose #22908 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:09 verbose #22909 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:09 verbose #22910 > > │ 00:00:05 verbose #5 > Creating │ 00:18:09 verbose #22911 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/92923048c2357a58925 │ 00:18:09 verbose #22912 > > │ 5fc3a1ba8375e45c2d4a0a29d12fd266f7c935f7a46fa.svg │ 00:18:09 verbose #22913 > > │ 00:00:05 debug #6 runtime.execute_with_options_async / { exit_code = │ 00:18:09 verbose #22914 > > │ 0; output_length = 134 } │ 00:18:09 verbose #22915 > > │ │ 00:18:09 verbose #22916 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #22917 > > 00:18:09 verbose #22918 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #22919 > > //// test 00:18:09 verbose #22920 > > 00:18:09 verbose #22921 > > inl y_pos y0 vy0 ay t = 00:18:09 verbose #22922 > > y0 + vy0 * t + ay * (t |> math.square) / 2 00:18:09 verbose #22923 > > 00:18:09 verbose #22924 > > inl x = am'.init_series 0f64 5 0.01 00:18:09 verbose #22925 > > inl y = x |> am'.map_base (y_pos 0 20 -9.8) 00:18:09 verbose #22926 > > "projectile motion", "time (s)", "", ;[[ "height of projectile (m)", x, y ]] 00:18:09 verbose #22927 > 00:18:08 debug #1308 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/288a212fee50dfad7344c70905581751e7325cba0d50c8c991d8ae508fd94a2f/main.spi 00:18:09 verbose #22928 > > 00:18:09 verbose #22929 > > ╭─[ 107.11ms - return value ]──────────────────────────────────────────────────╮ 00:18:09 verbose #22930 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:09 verbose #22931 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:09 verbose #22932 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:09 verbose #22933 > > │ stroke="none"/> │ 00:18:09 verbose #22934 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:09 verbose #22935 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22936 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22937 > > │ projectile motion │ 00:18:09 verbose #22938 > > │ </text> │ 00:18:09 verbose #22939 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:09 verbose #22940 > > │ y2="75"/> │ 00:18:09 verbose #22941 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:09 verbose #22942 > > │ y2="75"/> │ 00:18:09 verbose #22943 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:09 verbose #22944 > > │ y2="75"/> │ 00:18:09 verbose #22945 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:09 verbose #22946 > > │ y2="75"/> │ 00:18:09 verbose #22947 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:09 verbose #22948 > > │ y2="75"/> │ 00:18:09 verbose #22949 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:09 verbose #22950 > > │ x2="109" y2="75"/> │ 00:18:09 verbose #22951 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:09 verbose #22952 > > │ x2="119" y2="75"/> │ 00:18:09 verbose #22953 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:09 verbose #22954 > > │ x2="129" y2="75"/> │ 00:18:09 verbose #22955 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:09 verbose #22956 > > │ x2="139" y2="75"/> │ 00:18:09 verbose #22957 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:09 verbose #22958 > > │ x2="149" y2="75"/> │ 00:18:09 verbose #22959 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:09 verbose #22960 > > │ x2="159" y2="75"/> │ 00:18:09 verbose #22961 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:09 verbose #22962 > > │ x2="169" y2="75"/> │ 00:18:09 verbose #22963 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:09 verbose #22964 > > │ x2="179" y2="75"/> │ 00:18:09 verbose #22965 > > │ <line opacity="1...28,176 429,177 430,178 431,179 432,180 433,182 434,183 │ 00:18:09 verbose #22966 > > │ 435,184 436,185 437,186 438,188 439,189 440,190 441,191 442,193 443,194 │ 00:18:09 verbose #22967 > > │ 444,195 445,197 446,198 447,199 448,200 449,202 450,203 451,204 452,206 │ 00:18:09 verbose #22968 > > │ 453,207 454,208 455,210 456,211 457,213 458,214 459,215 460,217 461,218 │ 00:18:09 verbose #22969 > > │ 462,220 463,221 464,222 465,224 466,225 467,227 468,228 469,230 470,231 │ 00:18:09 verbose #22970 > > │ 471,233 472,234 473,236 474,237 475,239 476,240 477,242 478,243 479,245 │ 00:18:09 verbose #22971 > > │ 480,246 481,248 482,249 483,251 484,253 485,254 486,256 487,257 488,259 │ 00:18:09 verbose #22972 > > │ 489,261 490,262 491,264 492,266 493,267 494,269 495,271 496,272 497,274 │ 00:18:09 verbose #22973 > > │ 498,276 499,277 500,279 501,281 502,282 503,284 504,286 505,288 506,289 │ 00:18:09 verbose #22974 > > │ 507,291 508,293 509,295 510,296 511,298 512,300 513,302 514,304 515,305 │ 00:18:09 verbose #22975 > > │ 516,307 517,309 518,311 519,313 520,315 521,316 522,318 523,320 524,322 │ 00:18:09 verbose #22976 > > │ 525,324 526,326 527,328 528,330 529,332 530,334 531,335 532,337 533,339 │ 00:18:09 verbose #22977 > > │ 534,341 535,343 536,345 537,347 538,349 539,351 540,353 541,355 542,357 │ 00:18:09 verbose #22978 > > │ 543,359 544,361 545,363 546,365 547,367 548,370 549,372 550,374 551,376 │ 00:18:09 verbose #22979 > > │ 552,378 553,380 554,382 555,384 556,386 557,388 558,391 559,393 560,395 │ 00:18:09 verbose #22980 > > │ 561,397 562,399 563,401 564,404 565,406 566,408 567,410 568,412 569,415 "/> │ 00:18:09 verbose #22981 > > │ <rect x="399" y="235" width="181" height="30" opacity="1" fill="none" │ 00:18:09 verbose #22982 > > │ stroke="#FFFFFF"/> │ 00:18:09 verbose #22983 > > │ <text x="439" y="245" dy="0.76em" text-anchor="start" │ 00:18:09 verbose #22984 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #22985 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #22986 > > │ height of projectile (m) │ 00:18:09 verbose #22987 > > │ </text> │ 00:18:09 verbose #22988 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:09 verbose #22989 > > │ points="409,250 429,250 "/> │ 00:18:09 verbose #22990 > > │ </svg> │ 00:18:09 verbose #22991 > > │ │ 00:18:09 verbose #22992 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #22993 > > 00:18:09 verbose #22994 > > ╭─[ 111.55ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:09 verbose #22995 > > │ 00:00:05 debug #7 runtime.execute_with_options_async / { options = { │ 00:18:09 verbose #22996 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:09 verbose #22997 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:09 verbose #22998 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:09 verbose #22999 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:09 verbose #23000 > > │ 00:00:05 verbose #8 > Creating │ 00:18:09 verbose #23001 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/9ba10ae80d4645862b9 │ 00:18:09 verbose #23002 > > │ 25ee46c6c11acaddaeeaef0ca08c6bf4f906b08df5b19.svg │ 00:18:09 verbose #23003 > > │ 00:00:05 debug #9 runtime.execute_with_options_async / { exit_code = │ 00:18:09 verbose #23004 > > │ 0; output_length = 134 } │ 00:18:09 verbose #23005 > > │ │ 00:18:09 verbose #23006 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23007 > > 00:18:09 verbose #23008 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:09 verbose #23009 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:09 verbose #23010 > > │ ### velocity_cf │ 00:18:09 verbose #23011 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23012 > > 00:18:09 verbose #23013 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23014 > > type mass = f64 00:18:09 verbose #23015 > > type time = f64 00:18:09 verbose #23016 > > type position = f64 00:18:09 verbose #23017 > > type velocity = f64 00:18:09 verbose #23018 > > type force = f64 00:18:09 verbose #23019 > > 00:18:09 verbose #23020 > > type velocity_cf = mass -> velocity -> list force -> (time -> velocity) 00:18:09 verbose #23021 > > 00:18:09 verbose #23022 > > inl velocity_cf m v0 fs = 00:18:09 verbose #23023 > > inl f_net = fs |> listm'.sum 00:18:09 verbose #23024 > > inl a0 = f_net / m 00:18:09 verbose #23025 > > inl v t = v0 + a0 * t 00:18:09 verbose #23026 > > v 00:18:09 verbose #23027 > 00:18:08 debug #1309 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/313e4aa9581625299dff75773fb55c6630e9d836ce37307c6698d46513e882c3/main.spi 00:18:09 verbose #23028 > > 00:18:09 verbose #23029 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23030 > > //// test 00:18:09 verbose #23031 > > 00:18:09 verbose #23032 > > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 0 00:18:09 verbose #23033 > > |> _assert_eq 0.6 00:18:09 verbose #23034 > > 00:18:09 verbose #23035 > > velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]] 1 00:18:09 verbose #23036 > > |> _assert_eq 0.2 00:18:09 verbose #23037 > 00:18:08 debug #1310 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b69f07cd5cbe3602d135eb4804e16819046c15a1d304bc80652c08373bebc2f4/main.spi 00:18:09 verbose #23038 > > 00:18:09 verbose #23039 > > ╭─[ 89.10ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:09 verbose #23040 > > │ assert_eq / actual: 0.6 / expected: 0.6 │ 00:18:09 verbose #23041 > > │ assert_eq / actual: 0.2 / expected: 0.2 │ 00:18:09 verbose #23042 > > │ │ 00:18:09 verbose #23043 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23044 > > 00:18:09 verbose #23045 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23046 > > //// test 00:18:09 verbose #23047 > > 00:18:09 verbose #23048 > > inl x = am'.init_series 0f64 4 0.1 00:18:09 verbose #23049 > > inl y = x |> am'.map_base (velocity_cf 0.1f64 0.6 [[ 0.04; -0.08 ]]) 00:18:09 verbose #23050 > > "car on an air track", "time (s)", "", ;[[ "velocity of car (m/s)", x, y ]] 00:18:09 verbose #23051 > 00:18:09 debug #1311 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4ee895a8c40325362074de083c9b61d797af55f40efe265c277931e43c6ad593/main.spi 00:18:09 verbose #23052 > > 00:18:09 verbose #23053 > > ╭─[ 105.26ms - return value ]──────────────────────────────────────────────────╮ 00:18:09 verbose #23054 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:09 verbose #23055 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:09 verbose #23056 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:09 verbose #23057 > > │ stroke="none"/> │ 00:18:09 verbose #23058 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:09 verbose #23059 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #23060 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #23061 > > │ car on an air track │ 00:18:09 verbose #23062 > > │ </text> │ 00:18:09 verbose #23063 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="57" y1="424" x2="57" │ 00:18:09 verbose #23064 > > │ y2="75"/> │ 00:18:09 verbose #23065 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:09 verbose #23066 > > │ y2="75"/> │ 00:18:09 verbose #23067 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="82" y1="424" x2="82" │ 00:18:09 verbose #23068 > > │ y2="75"/> │ 00:18:09 verbose #23069 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │ 00:18:09 verbose #23070 > > │ y2="75"/> │ 00:18:09 verbose #23071 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="107" y1="424" │ 00:18:09 verbose #23072 > > │ x2="107" y2="75"/> │ 00:18:09 verbose #23073 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:09 verbose #23074 > > │ x2="119" y2="75"/> │ 00:18:09 verbose #23075 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="132" y1="424" │ 00:18:09 verbose #23076 > > │ x2="132" y2="75"/> │ 00:18:09 verbose #23077 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │ 00:18:09 verbose #23078 > > │ x2="144" y2="75"/> │ 00:18:09 verbose #23079 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="157" y1="424" │ 00:18:09 verbose #23080 > > │ x2="157" y2="75"/> │ 00:18:09 verbose #23081 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:09 verbose #23082 > > │ x2="169" y2="75"/> │ 00:18:09 verbose #23083 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="182" y1="424" │ 00:18:09 verbose #23084 > > │ x2="182" y2="75"/> │ 00:18:09 verbose #23085 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="194" y1="424" │ 00:18:09 verbose #23086 > > │ x2="194" y2="75"/> │ 00:18:09 verbose #23087 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="207" y1="424" │ 00:18:09 verbose #23088 > > │ x2="207" y2="75"/> │ 00:18:09 verbose #23089 > > │ <line opacit...85,209 590,209 "/> │ 00:18:09 verbose #23090 > > │ <text x="617" y="168" dy="0.5ex" text-anchor="end" font-family="sans-serif" │ 00:18:09 verbose #23091 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:09 verbose #23092 > > │ 0.2 │ 00:18:09 verbose #23093 > > │ </text> │ 00:18:09 verbose #23094 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:09 verbose #23095 > > │ points="585,168 590,168 "/> │ 00:18:09 verbose #23096 > > │ <text x="617" y="127" dy="0.5ex" text-anchor="end" font-family="sans-serif" │ 00:18:09 verbose #23097 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:09 verbose #23098 > > │ 0.4 │ 00:18:09 verbose #23099 > > │ </text> │ 00:18:09 verbose #23100 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:09 verbose #23101 > > │ points="585,127 590,127 "/> │ 00:18:09 verbose #23102 > > │ <text x="617" y="85" dy="0.5ex" text-anchor="end" font-family="sans-serif" │ 00:18:09 verbose #23103 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:09 verbose #23104 > > │ 0.6 │ 00:18:09 verbose #23105 > > │ </text> │ 00:18:09 verbose #23106 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:09 verbose #23107 > > │ points="585,85 590,85 "/> │ 00:18:09 verbose #23108 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:09 verbose #23109 > > │ points="69,85 82,94 94,102 107,110 119,118 132,127 144,135 157,143 169,151 │ 00:18:09 verbose #23110 > > │ 182,159 194,168 207,176 219,184 232,192 244,201 257,209 269,217 282,225 │ 00:18:09 verbose #23111 > > │ 294,234 307,242 319,250 331,258 344,266 356,275 369,283 381,291 394,299 │ 00:18:09 verbose #23112 > > │ 406,308 419,316 431,324 444,332 456,341 469,349 481,357 494,365 506,373 │ 00:18:09 verbose #23113 > > │ 519,382 531,390 544,398 556,406 569,415 "/> │ 00:18:09 verbose #23114 > > │ <rect x="415" y="235" width="165" height="30" opacity="1" fill="none" │ 00:18:09 verbose #23115 > > │ stroke="#FFFFFF"/> │ 00:18:09 verbose #23116 > > │ <text x="455" y="245" dy="0.76em" text-anchor="start" │ 00:18:09 verbose #23117 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:09 verbose #23118 > > │ fill="#FFFFFF"> │ 00:18:09 verbose #23119 > > │ velocity of car (m/s) │ 00:18:09 verbose #23120 > > │ </text> │ 00:18:09 verbose #23121 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:09 verbose #23122 > > │ points="425,250 445,250 "/> │ 00:18:09 verbose #23123 > > │ </svg> │ 00:18:09 verbose #23124 > > │ │ 00:18:09 verbose #23125 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23126 > > 00:18:09 verbose #23127 > > ╭─[ 109.50ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:09 verbose #23128 > > │ 00:00:06 debug #10 runtime.execute_with_options_async / { options = { │ 00:18:09 verbose #23129 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:09 verbose #23130 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:09 verbose #23131 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:09 verbose #23132 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:09 verbose #23133 > > │ 00:00:06 verbose #11 > Creating │ 00:18:09 verbose #23134 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/ca28324d0914f6213d0 │ 00:18:09 verbose #23135 > > │ 165ae9c1e93d26d3b9e674acc73e0947a72dfaf617897.svg │ 00:18:09 verbose #23136 > > │ 00:00:06 debug #12 runtime.execute_with_options_async / { exit_code = │ 00:18:09 verbose #23137 > > │ 0; output_length = 134 } │ 00:18:09 verbose #23138 > > │ │ 00:18:09 verbose #23139 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23140 > > 00:18:09 verbose #23141 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:09 verbose #23142 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:09 verbose #23143 > > │ ### derivative │ 00:18:09 verbose #23144 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23145 > > 00:18:09 verbose #23146 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23147 > > type derivative = (f64 -> f64) -> f64 -> f64 00:18:09 verbose #23148 > > 00:18:09 verbose #23149 > > inl derivative dt : derivative = 00:18:09 verbose #23150 > > fun x t => 00:18:09 verbose #23151 > > (x (t + dt / 2) - x (t - dt / 2)) / dt 00:18:09 verbose #23152 > 00:18:09 debug #1312 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8f860e1f3d0990020e70e2c28807ba63a8da055d56e1afb66cbc6abc219fbbef/main.spi 00:18:09 verbose #23153 > > 00:18:09 verbose #23154 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23155 > > //// test 00:18:09 verbose #23156 > > 00:18:09 verbose #23157 > > derivative 1 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23158 > > |> _assert_approx_eq None 0.25 00:18:09 verbose #23159 > > 00:18:09 verbose #23160 > > derivative 0.001 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23161 > > |> _assert_approx_eq None 0.0000002499998827953931 00:18:09 verbose #23162 > > 00:18:09 verbose #23163 > > derivative 0.000001 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23164 > > |> _assert_approx_eq None 0.000000000001000088900582341 00:18:09 verbose #23165 > > 00:18:09 verbose #23166 > > derivative 0.000000001 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23167 > > |> _assert_approx_eq None 0.00000008274037099909037 00:18:09 verbose #23168 > > 00:18:09 verbose #23169 > > derivative 0.000000000001 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23170 > > |> _assert_approx_eq None 0.00008890058234101161 00:18:09 verbose #23171 > > 00:18:09 verbose #23172 > > derivative 0.000000000000001 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23173 > > |> _assert_approx_eq None -0.0007992778373592246 00:18:09 verbose #23174 > > 00:18:09 verbose #23175 > > derivative 0.000000000000000001 (fun x => x ** 4 / 4) 1 - 1 00:18:09 verbose #23176 > > |> _assert_approx_eq None -1 00:18:09 verbose #23177 > 00:18:09 debug #1313 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7628cf77d47c9e60c40b69653cec51d8eacf6028f0530fb6a8d9f7b39523ca38/main.spi 00:18:09 verbose #23178 > > 00:18:09 verbose #23179 > > ╭─[ 110.55ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:09 verbose #23180 > > │ assert_approx_eq / actual: 0.25 / expected: 0.25 │ 00:18:09 verbose #23181 > > │ assert_approx_eq / actual: 2.499998828e-07 / expected: 2.499998828e-07 │ 00:18:09 verbose #23182 > > │ assert_approx_eq / actual: 1.000088901e-12 / expected: 1.000088901e-12 │ 00:18:09 verbose #23183 > > │ assert_approx_eq / actual: 8.2740371e-08 / expected: 8.2740371e-08 │ 00:18:09 verbose #23184 > > │ assert_approx_eq / actual: 8.890058234e-05 / expected: 8.890058234e-05 │ 00:18:09 verbose #23185 > > │ assert_approx_eq / actual: -0.0007992778374 / expected: -0.0007992778374 │ 00:18:09 verbose #23186 > > │ assert_approx_eq / actual: -1.0 / expected: -1.0 │ 00:18:09 verbose #23187 > > │ │ 00:18:09 verbose #23188 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23189 > > 00:18:09 verbose #23190 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:09 verbose #23191 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:09 verbose #23192 > > │ ### integration │ 00:18:09 verbose #23193 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23194 > > 00:18:09 verbose #23195 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23196 > > type integration = (f64 -> f64) -> f64 -> f64 -> f64 00:18:09 verbose #23197 > > 00:18:09 verbose #23198 > > inl integral dt : integration = 00:18:09 verbose #23199 > > fun f a b => 00:18:09 verbose #23200 > > inl rec loop t y = 00:18:09 verbose #23201 > > if t < b 00:18:09 verbose #23202 > > then loop (t + dt) (y + f t * dt) 00:18:09 verbose #23203 > > else t, y 00:18:09 verbose #23204 > > loop (a + dt / 2) 0 00:18:09 verbose #23205 > > |> snd 00:18:09 verbose #23206 > 00:18:09 debug #1314 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/be1f0345fa4d30548c696dcca0a6aabc7e45579a50b72db44e14189fd4675b17/main.spi 00:18:09 verbose #23207 > > 00:18:09 verbose #23208 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23209 > > //// test 00:18:09 verbose #23210 > > 00:18:09 verbose #23211 > > integral 0.01 math.square 0 1 00:18:09 verbose #23212 > > |> _assert_approx_eq None 0.33332500000000004 00:18:09 verbose #23213 > 00:18:09 debug #1315 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8e1c1d73fce6d392577082ccf529fe2b9ec437d7f8dd9c9a19376dba9a5f99d5/main.spi 00:18:09 verbose #23214 > > 00:18:09 verbose #23215 > > ╭─[ 91.58ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:09 verbose #23216 > > │ assert_approx_eq / actual: 0.333325 / expected: 0.333325 │ 00:18:09 verbose #23217 > > │ │ 00:18:09 verbose #23218 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:09 verbose #23219 > > 00:18:09 verbose #23220 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:09 verbose #23221 > > inl integral' dt : integration = 00:18:09 verbose #23222 > > fun f a b => 00:18:09 verbose #23223 > > listm'.init_series (a + dt / 2) (b - dt / 2) dt 00:18:09 verbose #23224 > > |> listm.map (f >> (*) dt) 00:18:09 verbose #23225 > > |> listm'.sum 00:18:09 verbose #23226 > 00:18:09 debug #1316 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/657ea893f7fdca273a4f1ff12463b00c632ee5f27d912cf612ad9ff0de31bce2/main.spi 00:18:10 verbose #23227 > > 00:18:10 verbose #23228 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23229 > > //// test 00:18:10 verbose #23230 > > 00:18:10 verbose #23231 > > integral' 0.1 math.square 0 1 00:18:10 verbose #23232 > > |> _assert_approx_eq None (integral 0.1 math.square 0 1) 00:18:10 verbose #23233 > 00:18:09 debug #1317 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9a570ba76aa5b78b3f3a5732dc305814c5323232d6b25e3893b12cf02aca818d/main.spi 00:18:10 verbose #23234 > > 00:18:10 verbose #23235 > > ╭─[ 88.00ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:10 verbose #23236 > > │ assert_approx_eq / actual: 0.3325 / expected: 0.3325 │ 00:18:10 verbose #23237 > > │ │ 00:18:10 verbose #23238 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23239 > > 00:18:10 verbose #23240 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23241 > > inl integral'' dt : integration = 00:18:10 verbose #23242 > > fun f x y => 00:18:10 verbose #23243 > > am'.init_series (x + dt / 2) (y - dt / 2) dt 00:18:10 verbose #23244 > > |> fun x => a x : _ int _ 00:18:10 verbose #23245 > > |> am.map (f >> (*) dt) 00:18:10 verbose #23246 > > |> am'.sum 00:18:10 verbose #23247 > 00:18:09 debug #1318 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8352259675c39c397c7fd22720b22c952458e0f72b826d18a1166a83c3b483d9/main.spi 00:18:10 verbose #23248 > > 00:18:10 verbose #23249 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23250 > > //// test 00:18:10 verbose #23251 > > 00:18:10 verbose #23252 > > integral'' 0.01 math.square 0 1 00:18:10 verbose #23253 > > |> _assert_approx_eq None (integral 0.01 math.square 0 1) 00:18:10 verbose #23254 > 00:18:09 debug #1319 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/227e67a37874d1ca72b39a4e78078d07e66375e70c7c67975b35a4fa43c2090c/main.spi 00:18:10 verbose #23255 > > 00:18:10 verbose #23256 > > ╭─[ 185.37ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:10 verbose #23257 > > │ assert_approx_eq / actual: 0.333325 / expected: 0.333325 │ 00:18:10 verbose #23258 > > │ │ 00:18:10 verbose #23259 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23260 > > 00:18:10 verbose #23261 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:10 verbose #23262 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:10 verbose #23263 > > │ ### anti_derivative │ 00:18:10 verbose #23264 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23265 > > 00:18:10 verbose #23266 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23267 > > inl anti_derivative dt v0 a t = 00:18:10 verbose #23268 > > v0 + integral' dt a 0 t 00:18:10 verbose #23269 > 00:18:09 debug #1320 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c6b26a8138c573a03699cf5c5c41045846ca4dbe4cda15eec2d546f1a8855693/main.spi 00:18:10 verbose #23270 > > 00:18:10 verbose #23271 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:10 verbose #23272 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:10 verbose #23273 > > │ ### velocity_ft │ 00:18:10 verbose #23274 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23275 > > 00:18:10 verbose #23276 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23277 > > type velocity_ft = mass -> velocity -> list (time -> force) -> (time -> 00:18:10 verbose #23278 > > velocity) 00:18:10 verbose #23279 > > 00:18:10 verbose #23280 > > inl velocity_ft dt : velocity_ft = 00:18:10 verbose #23281 > > fun m v0 fs => 00:18:10 verbose #23282 > > inl f_net t = fs |> listm.map (fun f => f t) |> listm'.sum 00:18:10 verbose #23283 > > inl a t = f_net t / m 00:18:10 verbose #23284 > > anti_derivative dt v0 a 00:18:10 verbose #23285 > 00:18:10 debug #1321 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/94e3edccb37643f1977335f24f98ccc7f0d2b0855b6eae6670fbba3fdff2e1a9/main.spi 00:18:10 verbose #23286 > > 00:18:10 verbose #23287 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:10 verbose #23288 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:10 verbose #23289 > > │ ### position_ft │ 00:18:10 verbose #23290 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23291 > > 00:18:10 verbose #23292 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23293 > > type position_ft = mass -> position -> velocity -> list (time -> force) -> (time 00:18:10 verbose #23294 > > -> position) 00:18:10 verbose #23295 > > 00:18:10 verbose #23296 > > inl position_ft dt : position_ft = 00:18:10 verbose #23297 > > fun m x0 v0 fs => 00:18:10 verbose #23298 > > velocity_ft dt m v0 fs 00:18:10 verbose #23299 > > |> anti_derivative dt x0 00:18:10 verbose #23300 > 00:18:10 debug #1322 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1fae363dd912673194dfd1412730c57d95a128b7c8c28c38ea626ea93fd81eb9/main.spi 00:18:10 verbose #23301 > > 00:18:10 verbose #23302 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23303 > > //// test 00:18:10 verbose #23304 > > 00:18:10 verbose #23305 > > inl pedal_coast (t : time) : force = 00:18:10 verbose #23306 > > inl t_cycle = 20 00:18:10 verbose #23307 > > inl n_complete : i32 = t / t_cycle |> conv 00:18:10 verbose #23308 > > inl remainder = t - conv n_complete * t_cycle 00:18:10 verbose #23309 > > if remainder > 0 && remainder < 10 00:18:10 verbose #23310 > > then 10 00:18:10 verbose #23311 > > else 0 00:18:10 verbose #23312 > > 00:18:10 verbose #23313 > > inl x = am'.init_series -5f64 45 0.1 00:18:10 verbose #23314 > > inl y = x |> am'.map_base pedal_coast 00:18:10 verbose #23315 > > "child pedaling then coasting", "time (s)", "", ;[[ "force on bike (N)", x, y ]] 00:18:10 verbose #23316 > 00:18:10 debug #1323 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/009d321e96d917ef744ce3f13a6420cc3879eac327ca3a9a8292f391e893a6d4/main.spi 00:18:10 verbose #23317 > > 00:18:10 verbose #23318 > > ╭─[ 109.54ms - return value ]──────────────────────────────────────────────────╮ 00:18:10 verbose #23319 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:10 verbose #23320 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:10 verbose #23321 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:10 verbose #23322 > > │ stroke="none"/> │ 00:18:10 verbose #23323 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:10 verbose #23324 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:10 verbose #23325 > > │ fill="#FFFFFF"> │ 00:18:10 verbose #23326 > > │ child pedaling then coasting │ 00:18:10 verbose #23327 > > │ </text> │ 00:18:10 verbose #23328 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:10 verbose #23329 > > │ y2="75"/> │ 00:18:10 verbose #23330 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:10 verbose #23331 > > │ y2="75"/> │ 00:18:10 verbose #23332 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:10 verbose #23333 > > │ y2="75"/> │ 00:18:10 verbose #23334 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:10 verbose #23335 > > │ y2="75"/> │ 00:18:10 verbose #23336 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:10 verbose #23337 > > │ y2="75"/> │ 00:18:10 verbose #23338 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:10 verbose #23339 > > │ x2="109" y2="75"/> │ 00:18:10 verbose #23340 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:10 verbose #23341 > > │ x2="119" y2="75"/> │ 00:18:10 verbose #23342 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:10 verbose #23343 > > │ x2="129" y2="75"/> │ 00:18:10 verbose #23344 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:10 verbose #23345 > > │ x2="139" y2="75"/> │ 00:18:10 verbose #23346 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:10 verbose #23347 > > │ x2="149" y2="75"/> │ 00:18:10 verbose #23348 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:10 verbose #23349 > > │ x2="159" y2="75"/> │ 00:18:10 verbose #23350 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:10 verbose #23351 > > │ x2="169" y2="75"/> │ 00:18:10 verbose #23352 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:10 verbose #23353 > > │ x2="179" y2="75"/> │ 00:18:10 verbose #23354 > > │ <line...421,415 422,415 423,415 424,415 425,415 426,415 427,415 428,415 │ 00:18:10 verbose #23355 > > │ 429,415 430,415 431,415 432,415 433,415 434,415 435,415 436,415 437,415 │ 00:18:10 verbose #23356 > > │ 438,415 439,415 440,415 441,415 442,415 443,415 444,415 445,415 446,415 │ 00:18:10 verbose #23357 > > │ 447,415 448,415 449,415 450,415 451,415 452,415 453,415 454,415 455,415 │ 00:18:10 verbose #23358 > > │ 456,415 457,415 458,415 459,415 460,415 461,415 462,415 463,415 464,415 │ 00:18:10 verbose #23359 > > │ 465,415 466,415 467,415 468,415 469,415 470,415 471,415 472,415 473,415 │ 00:18:10 verbose #23360 > > │ 474,415 475,415 476,415 477,415 478,415 479,415 480,415 481,415 482,415 │ 00:18:10 verbose #23361 > > │ 483,415 484,415 485,415 486,415 487,415 488,415 489,415 490,415 491,415 │ 00:18:10 verbose #23362 > > │ 492,415 493,415 494,415 495,415 496,415 497,415 498,415 499,415 500,415 │ 00:18:10 verbose #23363 > > │ 501,415 502,415 503,415 504,415 505,415 506,415 507,415 508,415 509,415 │ 00:18:10 verbose #23364 > > │ 510,415 511,415 512,415 513,415 514,415 515,415 516,415 517,415 518,415 │ 00:18:10 verbose #23365 > > │ 519,415 520,85 521,85 522,85 523,85 524,85 525,85 526,85 527,85 528,85 │ 00:18:10 verbose #23366 > > │ 529,85 530,85 531,85 532,85 533,85 534,85 535,85 536,85 537,85 538,85 539,85 │ 00:18:10 verbose #23367 > > │ 540,85 541,85 542,85 543,85 544,85 545,85 546,85 547,85 548,85 549,85 550,85 │ 00:18:10 verbose #23368 > > │ 551,85 552,85 553,85 554,85 555,85 556,85 557,85 558,85 559,85 560,85 561,85 │ 00:18:10 verbose #23369 > > │ 562,85 563,85 564,85 565,85 566,85 567,85 568,85 569,85 "/> │ 00:18:10 verbose #23370 > > │ <rect x="437" y="235" width="143" height="30" opacity="1" fill="none" │ 00:18:10 verbose #23371 > > │ stroke="#FFFFFF"/> │ 00:18:10 verbose #23372 > > │ <text x="477" y="245" dy="0.76em" text-anchor="start" │ 00:18:10 verbose #23373 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:10 verbose #23374 > > │ fill="#FFFFFF"> │ 00:18:10 verbose #23375 > > │ force on bike (N) │ 00:18:10 verbose #23376 > > │ </text> │ 00:18:10 verbose #23377 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:10 verbose #23378 > > │ points="447,250 467,250 "/> │ 00:18:10 verbose #23379 > > │ </svg> │ 00:18:10 verbose #23380 > > │ │ 00:18:10 verbose #23381 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23382 > > 00:18:10 verbose #23383 > > ╭─[ 114.02ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:10 verbose #23384 > > │ 00:00:07 debug #13 runtime.execute_with_options_async / { options = { │ 00:18:10 verbose #23385 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:10 verbose #23386 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:10 verbose #23387 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:10 verbose #23388 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:10 verbose #23389 > > │ 00:00:07 verbose #14 > Creating │ 00:18:10 verbose #23390 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/0ac10ed4fc31e5733d3 │ 00:18:10 verbose #23391 > > │ eadbbffbf047568e7cb8eed5922ef2828dbad94721326.svg │ 00:18:10 verbose #23392 > > │ 00:00:07 debug #15 runtime.execute_with_options_async / { exit_code = │ 00:18:10 verbose #23393 > > │ 0; output_length = 134 } │ 00:18:10 verbose #23394 > > │ │ 00:18:10 verbose #23395 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:10 verbose #23396 > > 00:18:10 verbose #23397 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:10 verbose #23398 > > //// test 00:18:10 verbose #23399 > > 00:18:10 verbose #23400 > > inl x = am'.init_series -5 45 1 00:18:10 verbose #23401 > > inl y = x |> am'.map_base (position_ft 0.1f64 20 0 0 [[ pedal_coast ]]) 00:18:10 verbose #23402 > > "child pedaling then coasting", "time (s)", "", ;[[ "position of bike (m)", x, y 00:18:10 verbose #23403 > > ]] 00:18:10 verbose #23404 > 00:18:10 debug #1324 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2c7d1270324106a1cacc8aecd846cfdb5078621408d7dc37845c85febb0af287/main.spi 00:18:11 verbose #23405 > > 00:18:11 verbose #23406 > > ╭─[ 305.25ms - return value ]──────────────────────────────────────────────────╮ 00:18:11 verbose #23407 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:11 verbose #23408 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:11 verbose #23409 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:11 verbose #23410 > > │ stroke="none"/> │ 00:18:11 verbose #23411 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:11 verbose #23412 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23413 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23414 > > │ child pedaling then coasting │ 00:18:11 verbose #23415 > > │ </text> │ 00:18:11 verbose #23416 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:11 verbose #23417 > > │ y2="75"/> │ 00:18:11 verbose #23418 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:11 verbose #23419 > > │ y2="75"/> │ 00:18:11 verbose #23420 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:11 verbose #23421 > > │ y2="75"/> │ 00:18:11 verbose #23422 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:11 verbose #23423 > > │ y2="75"/> │ 00:18:11 verbose #23424 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:11 verbose #23425 > > │ y2="75"/> │ 00:18:11 verbose #23426 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:11 verbose #23427 > > │ x2="109" y2="75"/> │ 00:18:11 verbose #23428 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:11 verbose #23429 > > │ x2="119" y2="75"/> │ 00:18:11 verbose #23430 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:11 verbose #23431 > > │ x2="129" y2="75"/> │ 00:18:11 verbose #23432 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:11 verbose #23433 > > │ x2="139" y2="75"/> │ 00:18:11 verbose #23434 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:11 verbose #23435 > > │ x2="149" y2="75"/> │ 00:18:11 verbose #23436 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:11 verbose #23437 > > │ x2="159" y2="75"/> │ 00:18:11 verbose #23438 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:11 verbose #23439 > > │ x2="169" y2="75"/> │ 00:18:11 verbose #23440 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:11 verbose #23441 > > │ x2="179" y2="75"/> │ 00:18:11 verbose #23442 > > │ <line...serif" font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:11 verbose #23443 > > │ 200.0 │ 00:18:11 verbose #23444 > > │ </text> │ 00:18:11 verbose #23445 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:11 verbose #23446 > > │ points="585,201 590,201 "/> │ 00:18:11 verbose #23447 > > │ <text x="595" y="147" dy="0.5ex" text-anchor="start" │ 00:18:11 verbose #23448 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23449 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23450 > > │ 250.0 │ 00:18:11 verbose #23451 > > │ </text> │ 00:18:11 verbose #23452 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:11 verbose #23453 > > │ points="585,147 590,147 "/> │ 00:18:11 verbose #23454 > > │ <text x="595" y="94" dy="0.5ex" text-anchor="start" font-family="sans-serif" │ 00:18:11 verbose #23455 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:11 verbose #23456 > > │ 300.0 │ 00:18:11 verbose #23457 > > │ </text> │ 00:18:11 verbose #23458 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:11 verbose #23459 > > │ points="585,94 590,94 "/> │ 00:18:11 verbose #23460 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:11 verbose #23461 > > │ points="69,415 79,415 89,415 99,415 109,415 119,415 129,414 139,413 149,412 │ 00:18:11 verbose #23462 > > │ 159,410 169,408 179,405 189,401 199,397 209,393 219,388 229,382 239,377 │ 00:18:11 verbose #23463 > > │ 249,372 259,366 269,361 279,356 289,350 299,345 309,340 319,334 329,329 │ 00:18:11 verbose #23464 > > │ 339,322 349,316 359,308 369,301 379,292 389,284 399,274 409,264 419,254 │ 00:18:11 verbose #23465 > > │ 429,243 439,232 449,221 459,210 469,199 479,189 489,178 499,167 509,157 │ 00:18:11 verbose #23466 > > │ 519,146 529,135 539,123 549,111 559,99 569,85 "/> │ 00:18:11 verbose #23467 > > │ <rect x="421" y="235" width="159" height="30" opacity="1" fill="none" │ 00:18:11 verbose #23468 > > │ stroke="#FFFFFF"/> │ 00:18:11 verbose #23469 > > │ <text x="461" y="245" dy="0.76em" text-anchor="start" │ 00:18:11 verbose #23470 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23471 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23472 > > │ position of bike (m) │ 00:18:11 verbose #23473 > > │ </text> │ 00:18:11 verbose #23474 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:11 verbose #23475 > > │ points="431,250 451,250 "/> │ 00:18:11 verbose #23476 > > │ </svg> │ 00:18:11 verbose #23477 > > │ │ 00:18:11 verbose #23478 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23479 > > 00:18:11 verbose #23480 > > ╭─[ 309.29ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:11 verbose #23481 > > │ 00:00:07 debug #16 runtime.execute_with_options_async / { options = { │ 00:18:11 verbose #23482 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:11 verbose #23483 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:11 verbose #23484 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:11 verbose #23485 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:11 verbose #23486 > > │ 00:00:07 verbose #17 > Creating │ 00:18:11 verbose #23487 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/111e334258a3fc6398b │ 00:18:11 verbose #23488 > > │ 55a8d561905d49cd0648a39dd06c1856b1cb0e8a9546c.svg │ 00:18:11 verbose #23489 > > │ 00:00:07 debug #18 runtime.execute_with_options_async / { exit_code = │ 00:18:11 verbose #23490 > > │ 0; output_length = 134 } │ 00:18:11 verbose #23491 > > │ │ 00:18:11 verbose #23492 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23493 > > 00:18:11 verbose #23494 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:11 verbose #23495 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:11 verbose #23496 > > │ ### velocity_fv │ 00:18:11 verbose #23497 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23498 > > 00:18:11 verbose #23499 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:11 verbose #23500 > > inl newton_second_v m fs v0 = 00:18:11 verbose #23501 > > fs |> listm.map (fun f => f v0) |> listm'.sum |> fun x => x / m 00:18:11 verbose #23502 > > 00:18:11 verbose #23503 > > inl update_velocity dt m fs v0 = 00:18:11 verbose #23504 > > v0 + newton_second_v m fs v0 * dt 00:18:11 verbose #23505 > > 00:18:11 verbose #23506 > > inl velocity_fv dt m v0 fs t = 00:18:11 verbose #23507 > > stream.iterate (update_velocity dt m fs) v0 00:18:11 verbose #23508 > > |> stream.try_item (t / dt |> math.round |> abs) 00:18:11 verbose #23509 > > |> optionm'.default_value 0 00:18:11 verbose #23510 > 00:18:10 debug #1325 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/23eb02e4436a1723863c20ba010497cf8423e4fcc6fb822b55cfca750f19f379/main.spi 00:18:11 verbose #23511 > > 00:18:11 verbose #23512 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:11 verbose #23513 > > inl f_air drag rho area v = 00:18:11 verbose #23514 > > -drag * rho * area * abs v * v / 2 00:18:11 verbose #23515 > 00:18:10 debug #1326 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ecc4d6aff5f0952778ba37f1401d76e69cf791fd8fddd202bac43aa5df6c417a/main.spi 00:18:11 verbose #23516 > > 00:18:11 verbose #23517 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:11 verbose #23518 > > //// test 00:18:11 verbose #23519 > > 00:18:11 verbose #23520 > > inl x = am'.init_series 0 60 0.5 00:18:11 verbose #23521 > > inl y = x |> am'.map_base (velocity_fv 1 70 0f64 [[ fun _ => 100; f_air 2 1.225 00:18:11 verbose #23522 > > 0.6 ]]) 00:18:11 verbose #23523 > > "bike velocity", "time (s)", "", ;[[ "velocity of bike (m/s)", x, y ]] 00:18:11 verbose #23524 > 00:18:10 debug #1327 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7f9fc005af62c9b4842af3fdc7fce4ad946e621a3e1d9229bf4a01150d8f6a1a/main.spi 00:18:11 verbose #23525 > > 00:18:11 verbose #23526 > > ╭─[ 335.46ms - return value ]──────────────────────────────────────────────────╮ 00:18:11 verbose #23527 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:11 verbose #23528 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:11 verbose #23529 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:11 verbose #23530 > > │ stroke="none"/> │ 00:18:11 verbose #23531 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:11 verbose #23532 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23533 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23534 > > │ bike velocity │ 00:18:11 verbose #23535 > > │ </text> │ 00:18:11 verbose #23536 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │ 00:18:11 verbose #23537 > > │ y2="75"/> │ 00:18:11 verbose #23538 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:11 verbose #23539 > > │ y2="75"/> │ 00:18:11 verbose #23540 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │ 00:18:11 verbose #23541 > > │ y2="75"/> │ 00:18:11 verbose #23542 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │ 00:18:11 verbose #23543 > > │ y2="75"/> │ 00:18:11 verbose #23544 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │ 00:18:11 verbose #23545 > > │ y2="75"/> │ 00:18:11 verbose #23546 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │ 00:18:11 verbose #23547 > > │ x2="103" y2="75"/> │ 00:18:11 verbose #23548 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │ 00:18:11 verbose #23549 > > │ x2="111" y2="75"/> │ 00:18:11 verbose #23550 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:11 verbose #23551 > > │ x2="119" y2="75"/> │ 00:18:11 verbose #23552 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │ 00:18:11 verbose #23553 > > │ x2="128" y2="75"/> │ 00:18:11 verbose #23554 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │ 00:18:11 verbose #23555 > > │ x2="136" y2="75"/> │ 00:18:11 verbose #23556 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │ 00:18:11 verbose #23557 > > │ x2="144" y2="75"/> │ 00:18:11 verbose #23558 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │ 00:18:11 verbose #23559 > > │ x2="153" y2="75"/> │ 00:18:11 verbose #23560 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │ 00:18:11 verbose #23561 > > │ x2="161" y2="75"/> │ 00:18:11 verbose #23562 > > │ <line opacity="1" st...t" font-family="sans-serif" │ 00:18:11 verbose #23563 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:11 verbose #23564 > > │ 12.0 │ 00:18:11 verbose #23565 > > │ </text> │ 00:18:11 verbose #23566 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:11 verbose #23567 > > │ points="585,76 590,76 "/> │ 00:18:11 verbose #23568 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:11 verbose #23569 > > │ points="69,415 74,415 78,374 82,335 86,335 90,335 94,297 99,261 103,261 │ 00:18:11 verbose #23570 > > │ 107,261 111,230 115,202 119,202 124,202 128,179 132,159 136,159 140,159 │ 00:18:11 verbose #23571 > > │ 144,143 148,130 153,130 157,130 161,120 165,112 169,112 173,112 178,106 │ 00:18:11 verbose #23572 > > │ 182,101 186,101 190,101 194,97 198,94 203,94 207,94 211,92 215,91 219,91 │ 00:18:11 verbose #23573 > > │ 223,91 228,89 232,88 236,88 240,88 244,88 248,87 252,87 257,87 261,87 265,86 │ 00:18:11 verbose #23574 > > │ 269,86 273,86 277,86 282,86 286,86 290,86 294,86 298,86 302,86 307,86 311,86 │ 00:18:11 verbose #23575 > > │ 315,86 319,86 323,86 327,86 331,85 336,85 340,85 344,85 348,85 352,85 356,85 │ 00:18:11 verbose #23576 > > │ 361,85 365,85 369,85 373,85 377,85 381,85 386,85 390,85 394,85 398,85 402,85 │ 00:18:11 verbose #23577 > > │ 406,85 410,85 415,85 419,85 423,85 427,85 431,85 435,85 440,85 444,85 448,85 │ 00:18:11 verbose #23578 > > │ 452,85 456,85 460,85 465,85 469,85 473,85 477,85 481,85 485,85 490,85 494,85 │ 00:18:11 verbose #23579 > > │ 498,85 502,85 506,85 510,85 514,85 519,85 523,85 527,85 531,85 535,85 539,85 │ 00:18:11 verbose #23580 > > │ 544,85 548,85 552,85 556,85 560,85 564,85 569,85 "/> │ 00:18:11 verbose #23581 > > │ <rect x="410" y="235" width="170" height="30" opacity="1" fill="none" │ 00:18:11 verbose #23582 > > │ stroke="#FFFFFF"/> │ 00:18:11 verbose #23583 > > │ <text x="450" y="245" dy="0.76em" text-anchor="start" │ 00:18:11 verbose #23584 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23585 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23586 > > │ velocity of bike (m/s) │ 00:18:11 verbose #23587 > > │ </text> │ 00:18:11 verbose #23588 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:11 verbose #23589 > > │ points="420,250 440,250 "/> │ 00:18:11 verbose #23590 > > │ </svg> │ 00:18:11 verbose #23591 > > │ │ 00:18:11 verbose #23592 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23593 > > 00:18:11 verbose #23594 > > ╭─[ 339.57ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:11 verbose #23595 > > │ 00:00:08 debug #19 runtime.execute_with_options_async / { options = { │ 00:18:11 verbose #23596 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:11 verbose #23597 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:11 verbose #23598 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:11 verbose #23599 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:11 verbose #23600 > > │ 00:00:08 verbose #20 > Creating │ 00:18:11 verbose #23601 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/b1c46a76c7d24517390 │ 00:18:11 verbose #23602 > > │ 9491beb9557fd28414b9dde459da20a63459014535a90.svg │ 00:18:11 verbose #23603 > > │ 00:00:08 debug #21 runtime.execute_with_options_async / { exit_code = │ 00:18:11 verbose #23604 > > │ 0; output_length = 134 } │ 00:18:11 verbose #23605 > > │ │ 00:18:11 verbose #23606 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23607 > > 00:18:11 verbose #23608 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:11 verbose #23609 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:11 verbose #23610 > > │ ### velocity_ftv │ 00:18:11 verbose #23611 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23612 > > 00:18:11 verbose #23613 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:11 verbose #23614 > > inl newton_second_tv m fs (t, v0) = 00:18:11 verbose #23615 > > inl f_net = fs |> listm.map (fun f => f (t, v0)) |> listm'.sum 00:18:11 verbose #23616 > > inl acc = f_net / m 00:18:11 verbose #23617 > > 1, acc 00:18:11 verbose #23618 > > 00:18:11 verbose #23619 > > inl update_tv dt m fs (t, v0) = 00:18:11 verbose #23620 > > inl dtdt, dvdt = newton_second_tv m fs (t, v0) 00:18:11 verbose #23621 > > t + dtdt * dt, v0 + dvdt * dt 00:18:11 verbose #23622 > > 00:18:11 verbose #23623 > > inl velocity_ftv dt m tv0 fs t = 00:18:11 verbose #23624 > > stream.iterate (join update_tv dt m fs) tv0 00:18:11 verbose #23625 > > |> stream.try_item (t / dt |> math.round |> abs) 00:18:11 verbose #23626 > > |> optionm.map snd 00:18:11 verbose #23627 > > |> optionm'.default_value 0 00:18:11 verbose #23628 > 00:18:11 debug #1328 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fb330b1c26ba7cccf749e5ac9ab861b60028abae2bc4a2f60c3103158127d4b2/main.spi 00:18:11 verbose #23629 > > 00:18:11 verbose #23630 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:11 verbose #23631 > > //// test 00:18:11 verbose #23632 > > 00:18:11 verbose #23633 > > inl x = am'.init_series 0 100 0.1 00:18:11 verbose #23634 > > inl y = 00:18:11 verbose #23635 > > x 00:18:11 verbose #23636 > > |> am'.map_base ( 00:18:11 verbose #23637 > > velocity_ftv 0.1 20 (dyn (0, 0)) [[ fun (t, _) => pedal_coast t; fun (_, 00:18:11 verbose #23638 > > v) => f_air 2 1.225 0.5 v ]] 00:18:11 verbose #23639 > > ) 00:18:11 verbose #23640 > > "pedaling and coasting with air", "time (s)", "", ;[[ "velocity of bike (m/s)", 00:18:11 verbose #23641 > > x, y ]] 00:18:11 verbose #23642 > 00:18:11 debug #1329 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5237935cef7c8c2cd9b66da7603fef6d8d0433a19547d3ec203aa90db317ce01/main.spi 00:18:11 verbose #23643 > > 00:18:11 verbose #23644 > > ╭─[ 255.31ms - return value ]──────────────────────────────────────────────────╮ 00:18:11 verbose #23645 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:11 verbose #23646 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:11 verbose #23647 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:11 verbose #23648 > > │ stroke="none"/> │ 00:18:11 verbose #23649 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:11 verbose #23650 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23651 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23652 > > │ pedaling and coasting with air │ 00:18:11 verbose #23653 > > │ </text> │ 00:18:11 verbose #23654 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:11 verbose #23655 > > │ y2="75"/> │ 00:18:11 verbose #23656 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:11 verbose #23657 > > │ y2="75"/> │ 00:18:11 verbose #23658 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:11 verbose #23659 > > │ y2="75"/> │ 00:18:11 verbose #23660 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:11 verbose #23661 > > │ y2="75"/> │ 00:18:11 verbose #23662 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:11 verbose #23663 > > │ y2="75"/> │ 00:18:11 verbose #23664 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:11 verbose #23665 > > │ x2="109" y2="75"/> │ 00:18:11 verbose #23666 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:11 verbose #23667 > > │ x2="119" y2="75"/> │ 00:18:11 verbose #23668 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:11 verbose #23669 > > │ x2="129" y2="75"/> │ 00:18:11 verbose #23670 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:11 verbose #23671 > > │ x2="139" y2="75"/> │ 00:18:11 verbose #23672 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:11 verbose #23673 > > │ x2="149" y2="75"/> │ 00:18:11 verbose #23674 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:11 verbose #23675 > > │ x2="159" y2="75"/> │ 00:18:11 verbose #23676 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:11 verbose #23677 > > │ x2="169" y2="75"/> │ 00:18:11 verbose #23678 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:11 verbose #23679 > > │ x2="179" y2="75"/> │ 00:18:11 verbose #23680 > > │ <li... 497,128 497,126 498,125 498,123 499,122 499,121 500,119 500,118 │ 00:18:11 verbose #23681 > > │ 501,117 501,116 502,114 502,113 503,112 503,111 504,110 504,109 505,108 │ 00:18:11 verbose #23682 > > │ 505,107 506,106 506,105 507,104 507,103 508,102 508,101 509,100 509,99 │ 00:18:11 verbose #23683 > > │ 510,98 510,98 511,97 511,96 512,95 512,94 513,94 513,93 514,92 514,92 515,91 │ 00:18:11 verbose #23684 > > │ 515,90 516,90 516,89 517,88 517,88 518,87 518,87 519,86 519,85 520,89 520,93 │ 00:18:11 verbose #23685 > > │ 521,97 521,100 522,104 522,107 523,110 523,114 524,117 524,120 525,123 │ 00:18:11 verbose #23686 > > │ 525,126 526,129 526,132 527,135 527,137 528,140 528,143 529,145 529,148 │ 00:18:11 verbose #23687 > > │ 530,150 530,153 531,155 531,158 532,160 532,162 533,165 533,167 534,169 │ 00:18:11 verbose #23688 > > │ 534,171 535,173 535,175 536,177 536,179 537,181 537,183 538,185 538,187 │ 00:18:11 verbose #23689 > > │ 539,189 539,190 540,192 540,194 541,196 541,197 542,199 542,201 543,202 │ 00:18:11 verbose #23690 > > │ 543,204 544,205 544,207 545,208 545,210 546,211 546,213 547,214 547,216 │ 00:18:11 verbose #23691 > > │ 548,217 548,219 549,220 549,221 550,223 550,224 551,225 551,226 552,228 │ 00:18:11 verbose #23692 > > │ 552,229 553,230 553,231 554,232 554,234 555,235 555,236 556,237 556,238 │ 00:18:11 verbose #23693 > > │ 557,239 557,240 558,241 558,242 559,243 559,245 560,246 560,247 561,248 │ 00:18:11 verbose #23694 > > │ 561,249 562,249 562,250 563,251 563,252 564,253 564,254 565,255 565,256 │ 00:18:11 verbose #23695 > > │ 566,257 566,258 567,259 567,259 568,260 568,261 569,262 "/> │ 00:18:11 verbose #23696 > > │ <rect x="410" y="235" width="170" height="30" opacity="1" fill="none" │ 00:18:11 verbose #23697 > > │ stroke="#FFFFFF"/> │ 00:18:11 verbose #23698 > > │ <text x="450" y="245" dy="0.76em" text-anchor="start" │ 00:18:11 verbose #23699 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:11 verbose #23700 > > │ fill="#FFFFFF"> │ 00:18:11 verbose #23701 > > │ velocity of bike (m/s) │ 00:18:11 verbose #23702 > > │ </text> │ 00:18:11 verbose #23703 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:11 verbose #23704 > > │ points="420,250 440,250 "/> │ 00:18:11 verbose #23705 > > │ </svg> │ 00:18:11 verbose #23706 > > │ │ 00:18:11 verbose #23707 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23708 > > 00:18:11 verbose #23709 > > ╭─[ 261.47ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:11 verbose #23710 > > │ 00:00:08 debug #22 runtime.execute_with_options_async / { options = { │ 00:18:11 verbose #23711 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:11 verbose #23712 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:11 verbose #23713 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:11 verbose #23714 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:11 verbose #23715 > > │ 00:00:08 verbose #23 > Creating │ 00:18:11 verbose #23716 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/7ce179a0676b6aeb087 │ 00:18:11 verbose #23717 > > │ 3f38a984563540676d6a701ce833dc3c5e65d8ab7def7.svg │ 00:18:11 verbose #23718 > > │ 00:00:08 debug #24 runtime.execute_with_options_async / { exit_code = │ 00:18:11 verbose #23719 > > │ 0; output_length = 134 } │ 00:18:11 verbose #23720 > > │ │ 00:18:11 verbose #23721 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23722 > > 00:18:11 verbose #23723 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:11 verbose #23724 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:11 verbose #23725 > > │ ### velocity_ftxv │ 00:18:11 verbose #23726 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:11 verbose #23727 > > 00:18:11 verbose #23728 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:11 verbose #23729 > > nominal state_1d = time * position * velocity 00:18:11 verbose #23730 > > nominal rrr = f64 * f64 * f64 00:18:11 verbose #23731 > > 00:18:11 verbose #23732 > > inl newton_second_1d m fs (state_1d (t, x0, v0)) = 00:18:11 verbose #23733 > > inl f_net = fs |> listm.map (fun f => f (state_1d (t, x0, v0))) |> 00:18:11 verbose #23734 > > listm'.sum 00:18:11 verbose #23735 > > inl acc = f_net / m 00:18:11 verbose #23736 > > rrr (1f64, v0, acc) 00:18:11 verbose #23737 > > 00:18:11 verbose #23738 > > inl euler_1d dt deriv (state_1d (t0, x0, v0) as t) = 00:18:11 verbose #23739 > > inl (rrr (_, _, dvdt)) = deriv t 00:18:11 verbose #23740 > > inl t1 = t0 + dt 00:18:11 verbose #23741 > > inl x1 = x0 + v0 * dt 00:18:11 verbose #23742 > > inl v1 = v0 + dvdt * dt 00:18:11 verbose #23743 > > state_1d (t1, x1, v1) 00:18:11 verbose #23744 > > 00:18:11 verbose #23745 > > inl update_txv dt m fs = 00:18:11 verbose #23746 > > newton_second_1d m fs |> euler_1d dt 00:18:11 verbose #23747 > > 00:18:11 verbose #23748 > > inl states_txv dt m txv0 fs = 00:18:11 verbose #23749 > > seq.iterate_ (update_txv dt m fs) txv0 00:18:11 verbose #23750 > > 00:18:11 verbose #23751 > > inl velocity_1d sts t = 00:18:11 verbose #23752 > > inl (state_1d (t0, _, _)) = sts 0 00:18:11 verbose #23753 > > inl (state_1d (t1, _, _)) = sts 1 00:18:11 verbose #23754 > > inl dt = t1 - t0 00:18:11 verbose #23755 > > inl num_steps = t / dt |> math.round |> abs 00:18:11 verbose #23756 > > inl (state_1d (_, _, v0)) = sts num_steps 00:18:11 verbose #23757 > > v0 00:18:11 verbose #23758 > > 00:18:11 verbose #23759 > > inl velocity_ftxv dt m txv0 fs = 00:18:11 verbose #23760 > > states_txv dt m txv0 fs |> velocity_1d 00:18:11 verbose #23761 > > 00:18:11 verbose #23762 > > inl position_1d sts t = 00:18:11 verbose #23763 > > inl (state_1d (t0, _, _)) = sts 0 00:18:11 verbose #23764 > > inl (state_1d (t1, _, _)) = sts 1 00:18:11 verbose #23765 > > inl dt = t1 - t0 00:18:11 verbose #23766 > > inl num_steps = t / dt |> math.round |> abs 00:18:11 verbose #23767 > > inl (state_1d (_, x0, _)) = sts num_steps 00:18:11 verbose #23768 > > x0 00:18:11 verbose #23769 > > 00:18:11 verbose #23770 > > inl position_ftxv dt m txv0 fs = 00:18:11 verbose #23771 > > states_txv dt m txv0 fs |> position_1d 00:18:11 verbose #23772 > > 00:18:11 verbose #23773 > > inl spring_force k (state_1d (_, x0, _)) = 00:18:11 verbose #23774 > > -k * x0 00:18:11 verbose #23775 > 00:18:11 debug #1330 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5b26059111ed60409ab4be3e3d578c9f88f0ed4e2ab0827652530723a1471c39/main.spi 00:18:12 verbose #23776 > > 00:18:12 verbose #23777 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #23778 > > //// test 00:18:12 verbose #23779 > > 00:18:12 verbose #23780 > > inl damped_ho_forces () = 00:18:12 verbose #23781 > > [[ 00:18:12 verbose #23782 > > spring_force 0.8 00:18:12 verbose #23783 > > fun (state_1d (_, _, v0)) => f_air 2 1.225 (pi * math.square 0.02) v0 00:18:12 verbose #23784 > > fun _ => -0.0027 * 9.80665 00:18:12 verbose #23785 > > ]] 00:18:12 verbose #23786 > > 00:18:12 verbose #23787 > > inl damped_ho_states () = 00:18:12 verbose #23788 > > states_txv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) 00:18:12 verbose #23789 > > 00:18:12 verbose #23790 > > inl pingpong_position t = 00:18:12 verbose #23791 > > position_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t 00:18:12 verbose #23792 > > 00:18:12 verbose #23793 > > inl x = am'.init_series 0 3 0.01 00:18:12 verbose #23794 > > inl y = x |> am'.map_base pingpong_position 00:18:12 verbose #23795 > > "ping pong ball on a slinky", "time (s)", "", ;[[ "position (m)", x, y ]] 00:18:12 verbose #23796 > 00:18:11 debug #1331 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e39341c86ea083ff2e6a49a337d7d1932da50be56a679b9194d19c3fb2effd11/main.spi 00:18:12 verbose #23797 > > 00:18:12 verbose #23798 > > ╭─[ 139.89ms - return value ]──────────────────────────────────────────────────╮ 00:18:12 verbose #23799 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:12 verbose #23800 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:12 verbose #23801 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:12 verbose #23802 > > │ stroke="none"/> │ 00:18:12 verbose #23803 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:12 verbose #23804 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:12 verbose #23805 > > │ fill="#FFFFFF"> │ 00:18:12 verbose #23806 > > │ ping pong ball on a slinky │ 00:18:12 verbose #23807 > > │ </text> │ 00:18:12 verbose #23808 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │ 00:18:12 verbose #23809 > > │ y2="75"/> │ 00:18:12 verbose #23810 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:12 verbose #23811 > > │ y2="75"/> │ 00:18:12 verbose #23812 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │ 00:18:12 verbose #23813 > > │ y2="75"/> │ 00:18:12 verbose #23814 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │ 00:18:12 verbose #23815 > > │ y2="75"/> │ 00:18:12 verbose #23816 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │ 00:18:12 verbose #23817 > > │ y2="75"/> │ 00:18:12 verbose #23818 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │ 00:18:12 verbose #23819 > > │ x2="103" y2="75"/> │ 00:18:12 verbose #23820 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │ 00:18:12 verbose #23821 > > │ x2="111" y2="75"/> │ 00:18:12 verbose #23822 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:12 verbose #23823 > > │ x2="119" y2="75"/> │ 00:18:12 verbose #23824 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │ 00:18:12 verbose #23825 > > │ x2="128" y2="75"/> │ 00:18:12 verbose #23826 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │ 00:18:12 verbose #23827 > > │ x2="136" y2="75"/> │ 00:18:12 verbose #23828 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │ 00:18:12 verbose #23829 > > │ x2="144" y2="75"/> │ 00:18:12 verbose #23830 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │ 00:18:12 verbose #23831 > > │ x2="153" y2="75"/> │ 00:18:12 verbose #23832 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │ 00:18:12 verbose #23833 > > │ x2="161" y2="75"/> │ 00:18:12 verbose #23834 > > │ <line o...88 332,305 334,321 336,334 337,346 339,354 341,360 342,363 344,362 │ 00:18:12 verbose #23835 > > │ 346,359 347,352 349,342 351,330 352,316 354,300 356,283 357,265 359,247 │ 00:18:12 verbose #23836 > > │ 361,229 362,212 364,197 366,183 367,172 369,163 371,156 372,153 374,153 │ 00:18:12 verbose #23837 > > │ 376,156 377,161 379,170 381,181 382,194 384,209 386,226 387,243 389,260 │ 00:18:12 verbose #23838 > > │ 391,277 392,294 394,309 396,323 397,335 399,344 401,351 402,355 404,356 │ 00:18:12 verbose #23839 > > │ 406,354 407,349 409,341 410,331 412,319 414,305 415,289 417,273 419,256 │ 00:18:12 verbose #23840 > > │ 420,239 422,223 424,208 425,194 427,182 429,172 430,165 432,161 434,159 │ 00:18:12 verbose #23841 > > │ 435,160 437,164 439,171 440,180 442,192 444,205 445,220 447,235 449,252 │ 00:18:12 verbose #23842 > > │ 450,268 452,284 454,299 455,313 457,325 459,335 460,342 462,347 464,350 │ 00:18:12 verbose #23843 > > │ 465,349 467,346 469,340 470,332 472,321 474,309 475,295 477,280 479,264 │ 00:18:12 verbose #23844 > > │ 480,248 482,232 484,217 485,204 487,192 489,181 490,173 492,168 494,165 │ 00:18:12 verbose #23845 > > │ 495,165 497,167 499,172 500,180 502,189 504,201 505,215 507,229 509,244 │ 00:18:12 verbose #23846 > > │ 510,260 512,275 514,290 515,303 517,316 519,326 520,335 522,341 524,344 │ 00:18:12 verbose #23847 > > │ 525,345 527,343 529,339 530,332 532,323 534,312 535,300 537,286 539,271 │ 00:18:12 verbose #23848 > > │ 540,256 542,241 544,226 545,213 547,200 549,190 550,181 552,175 554,171 │ 00:18:12 verbose #23849 > > │ 555,169 557,170 559,174 560,180 562,188 564,198 565,210 567,223 569,238 "/> │ 00:18:12 verbose #23850 > > │ <rect x="464" y="235" width="116" height="30" opacity="1" fill="none" │ 00:18:12 verbose #23851 > > │ stroke="#FFFFFF"/> │ 00:18:12 verbose #23852 > > │ <text x="504" y="245" dy="0.76em" text-anchor="start" │ 00:18:12 verbose #23853 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:12 verbose #23854 > > │ fill="#FFFFFF"> │ 00:18:12 verbose #23855 > > │ position (m) │ 00:18:12 verbose #23856 > > │ </text> │ 00:18:12 verbose #23857 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:12 verbose #23858 > > │ points="474,250 494,250 "/> │ 00:18:12 verbose #23859 > > │ </svg> │ 00:18:12 verbose #23860 > > │ │ 00:18:12 verbose #23861 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #23862 > > 00:18:12 verbose #23863 > > ╭─[ 144.29ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:12 verbose #23864 > > │ 00:00:08 debug #25 runtime.execute_with_options_async / { options = { │ 00:18:12 verbose #23865 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:12 verbose #23866 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:12 verbose #23867 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:12 verbose #23868 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:12 verbose #23869 > > │ 00:00:08 verbose #26 > Creating │ 00:18:12 verbose #23870 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/105ea7be2f329a89809 │ 00:18:12 verbose #23871 > > │ 543cbc25878ca2117d619b4ff6fdec5ae9a8079ac700b.svg │ 00:18:12 verbose #23872 > > │ 00:00:08 debug #27 runtime.execute_with_options_async / { exit_code = │ 00:18:12 verbose #23873 > > │ 0; output_length = 134 } │ 00:18:12 verbose #23874 > > │ │ 00:18:12 verbose #23875 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #23876 > > 00:18:12 verbose #23877 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #23878 > > //// test 00:18:12 verbose #23879 > > 00:18:12 verbose #23880 > > inl pingpong_velocity t = 00:18:12 verbose #23881 > > velocity_ftxv 0.001 0.0027 (state_1d (0, 0.1, 0)) (damped_ho_forces ()) t 00:18:12 verbose #23882 > > 00:18:12 verbose #23883 > > inl x = am'.init_series 0 3 0.01 00:18:12 verbose #23884 > > inl y = x |> am'.map_base pingpong_velocity 00:18:12 verbose #23885 > > "ping pong ball on a slinky", "time (s)", "", ;[[ "velocity (m/s)", x, y ]] 00:18:12 verbose #23886 > 00:18:11 debug #1332 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a8625e45963294b0e9f3aadbbb4a23b64014e8b401ced3383b278024e8b6e221/main.spi 00:18:12 verbose #23887 > > 00:18:12 verbose #23888 > > ╭─[ 137.71ms - return value ]──────────────────────────────────────────────────╮ 00:18:12 verbose #23889 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:12 verbose #23890 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:12 verbose #23891 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:12 verbose #23892 > > │ stroke="none"/> │ 00:18:12 verbose #23893 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:12 verbose #23894 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:12 verbose #23895 > > │ fill="#FFFFFF"> │ 00:18:12 verbose #23896 > > │ ping pong ball on a slinky │ 00:18:12 verbose #23897 > > │ </text> │ 00:18:12 verbose #23898 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="61" y1="424" x2="61" │ 00:18:12 verbose #23899 > > │ y2="75"/> │ 00:18:12 verbose #23900 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:12 verbose #23901 > > │ y2="75"/> │ 00:18:12 verbose #23902 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="78" y1="424" x2="78" │ 00:18:12 verbose #23903 > > │ y2="75"/> │ 00:18:12 verbose #23904 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="86" y1="424" x2="86" │ 00:18:12 verbose #23905 > > │ y2="75"/> │ 00:18:12 verbose #23906 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="94" y1="424" x2="94" │ 00:18:12 verbose #23907 > > │ y2="75"/> │ 00:18:12 verbose #23908 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="103" y1="424" │ 00:18:12 verbose #23909 > > │ x2="103" y2="75"/> │ 00:18:12 verbose #23910 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="111" y1="424" │ 00:18:12 verbose #23911 > > │ x2="111" y2="75"/> │ 00:18:12 verbose #23912 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:12 verbose #23913 > > │ x2="119" y2="75"/> │ 00:18:12 verbose #23914 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="128" y1="424" │ 00:18:12 verbose #23915 > > │ x2="128" y2="75"/> │ 00:18:12 verbose #23916 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="136" y1="424" │ 00:18:12 verbose #23917 > > │ x2="136" y2="75"/> │ 00:18:12 verbose #23918 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="144" y1="424" │ 00:18:12 verbose #23919 > > │ x2="144" y2="75"/> │ 00:18:12 verbose #23920 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │ 00:18:12 verbose #23921 > > │ x2="153" y2="75"/> │ 00:18:12 verbose #23922 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="161" y1="424" │ 00:18:12 verbose #23923 > > │ x2="161" y2="75"/> │ 00:18:12 verbose #23924 > > │ <line o... 332,343 334,332 336,319 337,304 339,287 341,269 342,250 344,231 │ 00:18:12 verbose #23925 > > │ 346,212 347,195 349,178 351,164 352,153 354,144 356,138 357,136 359,136 │ 00:18:12 verbose #23926 > > │ 361,140 362,147 364,157 366,169 367,183 369,199 371,216 372,234 374,253 │ 00:18:12 verbose #23927 > > │ 376,271 377,288 379,304 381,318 382,330 384,339 386,346 387,349 389,349 │ 00:18:12 verbose #23928 > > │ 391,346 392,340 394,332 396,321 397,307 399,292 401,276 402,258 404,241 │ 00:18:12 verbose #23929 > > │ 406,223 407,206 409,190 410,176 412,164 414,154 415,148 417,144 419,143 │ 00:18:12 verbose #23930 > > │ 420,145 422,150 424,158 425,168 427,180 429,194 430,210 432,227 434,244 │ 00:18:12 verbose #23931 > > │ 435,261 437,278 439,293 440,307 442,320 444,330 445,337 447,341 449,343 │ 00:18:12 verbose #23932 > > │ 450,342 452,338 454,331 455,322 457,310 459,297 460,282 462,266 464,249 │ 00:18:12 verbose #23933 > > │ 465,233 467,216 469,201 470,187 472,174 474,164 475,156 477,151 479,149 │ 00:18:12 verbose #23934 > > │ 480,149 482,153 484,159 485,167 487,178 489,190 490,204 492,220 494,236 │ 00:18:12 verbose #23935 > > │ 495,252 497,268 499,283 500,297 502,310 504,320 505,329 507,334 509,337 │ 00:18:12 verbose #23936 > > │ 510,337 512,335 514,330 515,322 517,312 519,300 520,287 522,272 524,257 │ 00:18:12 verbose #23937 > > │ 525,241 527,226 529,210 530,196 532,184 534,173 535,164 537,158 539,154 │ 00:18:12 verbose #23938 > > │ 540,154 542,155 544,160 545,167 547,176 549,187 550,199 552,213 554,228 │ 00:18:12 verbose #23939 > > │ 555,244 557,259 559,274 560,288 562,301 564,312 565,321 567,327 569,332 "/> │ 00:18:12 verbose #23940 > > │ <rect x="454" y="235" width="126" height="30" opacity="1" fill="none" │ 00:18:12 verbose #23941 > > │ stroke="#FFFFFF"/> │ 00:18:12 verbose #23942 > > │ <text x="494" y="245" dy="0.76em" text-anchor="start" │ 00:18:12 verbose #23943 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:12 verbose #23944 > > │ fill="#FFFFFF"> │ 00:18:12 verbose #23945 > > │ velocity (m/s) │ 00:18:12 verbose #23946 > > │ </text> │ 00:18:12 verbose #23947 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:12 verbose #23948 > > │ points="464,250 484,250 "/> │ 00:18:12 verbose #23949 > > │ </svg> │ 00:18:12 verbose #23950 > > │ │ 00:18:12 verbose #23951 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #23952 > > 00:18:12 verbose #23953 > > ╭─[ 146.60ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:12 verbose #23954 > > │ 00:00:09 debug #28 runtime.execute_with_options_async / { options = { │ 00:18:12 verbose #23955 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:12 verbose #23956 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:12 verbose #23957 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:12 verbose #23958 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:12 verbose #23959 > > │ 00:00:09 verbose #29 > Creating │ 00:18:12 verbose #23960 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/6e1af89de9d77d91499 │ 00:18:12 verbose #23961 > > │ 1731dc22cdee69efe252557400e2aeaa7feb3756058da.svg │ 00:18:12 verbose #23962 > > │ 00:00:09 debug #30 runtime.execute_with_options_async / { exit_code = │ 00:18:12 verbose #23963 > > │ 0; output_length = 134 } │ 00:18:12 verbose #23964 > > │ │ 00:18:12 verbose #23965 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #23966 > > 00:18:12 verbose #23967 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:12 verbose #23968 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:12 verbose #23969 > > │ ### shift │ 00:18:12 verbose #23970 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #23971 > > 00:18:12 verbose #23972 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #23973 > > type update_function s = s -> s 00:18:12 verbose #23974 > > 00:18:12 verbose #23975 > > type differential_equation s ds = s -> ds 00:18:12 verbose #23976 > > 00:18:12 verbose #23977 > > type numerical_method s ds = differential_equation s ds -> update_function s 00:18:12 verbose #23978 > > 00:18:12 verbose #23979 > > 00:18:12 verbose #23980 > > inl solver method = 00:18:12 verbose #23981 > > method >> seq.iterate 00:18:12 verbose #23982 > > inl solver' method = 00:18:12 verbose #23983 > > method >> seq.iterate' 00:18:12 verbose #23984 > > inl solver_ method = 00:18:12 verbose #23985 > > method >> seq.iterate_ 00:18:12 verbose #23986 > > 00:18:12 verbose #23987 > > 00:18:12 verbose #23988 > > inl euler_cromer_1d dt deriv (state_1d (t0, x0, v0) as t) = 00:18:12 verbose #23989 > > inl (rrr (_, _, dvdt)) = deriv t 00:18:12 verbose #23990 > > inl t1 = t0 + dt 00:18:12 verbose #23991 > > inl v1 = v0 + dvdt * dt 00:18:12 verbose #23992 > > inl x1 = x0 + v1 * dt 00:18:12 verbose #23993 > > state_1d (t1, x1, v1) 00:18:12 verbose #23994 > > 00:18:12 verbose #23995 > > inl update_txv_ec dt m fs = 00:18:12 verbose #23996 > > euler_cromer_1d dt (newton_second_1d m fs) 00:18:12 verbose #23997 > > 00:18:12 verbose #23998 > > prototype (+++) ds : ds -> ds -> ds 00:18:12 verbose #23999 > > prototype scale ds : f64 -> ds -> ds 00:18:12 verbose #24000 > > 00:18:12 verbose #24001 > > instance (+++) rrr = fun (rrr (dtdt0, dxdt0, dvdt0)) (rrr (dtdt1, dxdt1, dvdt1)) 00:18:12 verbose #24002 > > => 00:18:12 verbose #24003 > > rrr (dtdt0 + dtdt1, dxdt0 + dxdt1, dvdt0 + dvdt1) 00:18:12 verbose #24004 > > 00:18:12 verbose #24005 > > instance scale rrr = fun w (rrr (dtdt0, dxdt0, dvdt0)) => 00:18:12 verbose #24006 > > rrr (w * dtdt0, w * dxdt0, w * dvdt0) 00:18:12 verbose #24007 > > 00:18:12 verbose #24008 > > prototype shift s : forall ds. f64 -> ds -> s -> s 00:18:12 verbose #24009 > > 00:18:12 verbose #24010 > > instance shift state_1d = fun dt ds (state_1d (t, x, v)) => 00:18:12 verbose #24011 > > inl dtdt, dxdt, dvdt = 00:18:12 verbose #24012 > > real 00:18:12 verbose #24013 > > match ds with 00:18:12 verbose #24014 > > | rrr x => x 00:18:12 verbose #24015 > > | state_1d x => x 00:18:12 verbose #24016 > > state_1d (t + dtdt * dt, x + dxdt * dt, v + dvdt * dt) 00:18:12 verbose #24017 > > 00:18:12 verbose #24018 > > inl euler dt deriv st0 = 00:18:12 verbose #24019 > > shift dt (deriv st0) st0 00:18:12 verbose #24020 > > 00:18:12 verbose #24021 > > inl runge_kutta_4 dt deriv st0 = 00:18:12 verbose #24022 > > inl m0 = deriv st0 00:18:12 verbose #24023 > > inl m1 = deriv (shift (dt / 2) m0 st0) 00:18:12 verbose #24024 > > inl m2 = deriv (shift (dt / 2) m1 st0) 00:18:12 verbose #24025 > > inl m3 = deriv (shift dt m2 st0) 00:18:12 verbose #24026 > > shift (dt / 6) (m0 +++ m1 +++ m1 +++ m2 +++ m2 +++ m3) st0 00:18:12 verbose #24027 > > 00:18:12 verbose #24028 > > inl exponential (_, x0, v0) = 00:18:12 verbose #24029 > > 1f64, v0, x0 00:18:12 verbose #24030 > > 00:18:12 verbose #24031 > > inl of_state_1d (state_1d (t, x, v)) = 00:18:12 verbose #24032 > > t, x, v 00:18:12 verbose #24033 > 00:18:11 debug #1333 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2b177fa6e846fd6fe8c835d2b919f65eb7605ccdda9636c47e35dfa042b3ac26/main.spi 00:18:12 verbose #24034 > > 00:18:12 verbose #24035 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #24036 > > //// test 00:18:12 verbose #24037 > > 00:18:12 verbose #24038 > > solver (euler 0.01) (of_state_1d >> exponential >> state_1d) (state_1d (0, 1, 00:18:12 verbose #24039 > > 1)) 800i32 00:18:12 verbose #24040 > > |> _assert_eq (state_1d (7.999999999999874, 2864.8311229272326, 00:18:12 verbose #24041 > > 2864.8311229272326)) 00:18:12 verbose #24042 > > 00:18:12 verbose #24043 > > solver (euler_cromer_1d 0.1) (of_state_1d >> exponential >> rrr) (state_1d (0, 00:18:12 verbose #24044 > > 1, 1)) 80i32 00:18:12 verbose #24045 > > |> _assert_eq (state_1d (7.999999999999988, 3043.379244966009, 00:18:12 verbose #24046 > > 2895.0121485099035)) 00:18:12 verbose #24047 > > 00:18:12 verbose #24048 > > solver (runge_kutta_4 1) (of_state_1d >> exponential >> rrr) (state_1d (0, 1, 00:18:12 verbose #24049 > > 1)) 8i32 00:18:12 verbose #24050 > > |> _assert_eq (state_1d (8.0, 2894.789038540849, 2894.789038540849)) 00:18:12 verbose #24051 > 00:18:12 debug #1334 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a84ed6aa97453ce0473d60123c8a13cc855b4896005faedfe86e4be5f38079c9/main.spi 00:18:12 verbose #24052 > > 00:18:12 verbose #24053 > > ╭─[ 227.13ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:12 verbose #24054 > > │ assert_eq / actual: struct (8.0, 2864.831123, 2864.831123) / expected: │ 00:18:12 verbose #24055 > > │ struct (8.0, 2864.831123, 2864.831123) │ 00:18:12 verbose #24056 > > │ assert_eq / actual: struct (8.0, 3043.379245, 2895.012149) / expected: │ 00:18:12 verbose #24057 > > │ struct (8.0, 3043.379245, 2895.012149) │ 00:18:12 verbose #24058 > > │ assert_eq / actual: struct (8.0, 2894.789039, 2894.789039) / expected: │ 00:18:12 verbose #24059 > > │ struct (8.0, 2894.789039, 2894.789039) │ 00:18:12 verbose #24060 > > │ │ 00:18:12 verbose #24061 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #24062 > > 00:18:12 verbose #24063 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:12 verbose #24064 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:12 verbose #24065 > > │ ### vec │ 00:18:12 verbose #24066 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #24067 > > 00:18:12 verbose #24068 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #24069 > > type vec = 00:18:12 verbose #24070 > > { 00:18:12 verbose #24071 > > x : f64 00:18:12 verbose #24072 > > y : f64 00:18:12 verbose #24073 > > z : f64 00:18:12 verbose #24074 > > } 00:18:12 verbose #24075 > > 00:18:12 verbose #24076 > > inl vec x y z : vec = 00:18:12 verbose #24077 > > { x y z } 00:18:12 verbose #24078 > 00:18:12 debug #1335 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c28cee7ab3252539f022429fa878866144d2047ab4135421fc603bcd098c50f1/main.spi 00:18:12 verbose #24079 > > 00:18:12 verbose #24080 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #24081 > > //// test 00:18:12 verbose #24082 > > 00:18:12 verbose #24083 > > vec 1 2 3 .z 00:18:12 verbose #24084 > > |> _assert_eq 3 00:18:12 verbose #24085 > 00:18:12 debug #1336 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/32fa5d5587282464522590037b07108ac5de4837904f39dfe01d3348422df2f2/main.spi 00:18:12 verbose #24086 > > 00:18:12 verbose #24087 > > ╭─[ 132.54ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:12 verbose #24088 > > │ assert_eq / actual: 3.0 / expected: 3.0 │ 00:18:12 verbose #24089 > > │ │ 00:18:12 verbose #24090 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #24091 > > 00:18:12 verbose #24092 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:12 verbose #24093 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:12 verbose #24094 > > │ #### consts │ 00:18:12 verbose #24095 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:12 verbose #24096 > > 00:18:12 verbose #24097 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:12 verbose #24098 > > inl i_hat () = vec 1 0 0 00:18:12 verbose #24099 > > inl j_hat () = vec 0 1 0 00:18:12 verbose #24100 > > inl k_hat () = vec 0 0 1 00:18:12 verbose #24101 > > inl zero_vec () = vec 0 0 0 00:18:12 verbose #24102 > 00:18:12 debug #1337 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f788cd1834a9711c3513641fb8cdd0a4c456c1559dd1074498fbaa5feff8304b/main.spi 00:18:13 verbose #24103 > > 00:18:13 verbose #24104 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:13 verbose #24105 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:13 verbose #24106 > > │ #### ^+^ │ 00:18:13 verbose #24107 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:13 verbose #24108 > > 00:18:13 verbose #24109 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:13 verbose #24110 > > inl (^+^) (a : vec) (b : vec) = 00:18:13 verbose #24111 > > vec (a.x + b.x) (a.y + b.y) (a.z + b.z) 00:18:13 verbose #24112 > 00:18:12 debug #1338 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9f74772cbec4124144d174a5ab9e4accccd6db003a3d1c6c93859f1b2777fce6/main.spi 00:18:13 verbose #24113 > > 00:18:13 verbose #24114 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:13 verbose #24115 > > //// test 00:18:13 verbose #24116 > > 00:18:13 verbose #24117 > > vec 1 2 3 ^+^ vec 4 5 6 00:18:13 verbose #24118 > > |> _assert_eq (vec 5 7 9) 00:18:13 verbose #24119 > 00:18:12 debug #1339 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5245ecfda5104d7d1d4df505c026d5b0b182d9e741a27e682da71bf5afd01137/main.spi 00:18:13 verbose #24120 > > 00:18:13 verbose #24121 > > ╭─[ 108.34ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:13 verbose #24122 > > │ assert_eq / actual: struct (5.0, 7.0, 9.0) / expected: struct (5.0, 7.0, │ 00:18:13 verbose #24123 > > │ 9.0) │ 00:18:13 verbose #24124 > > │ │ 00:18:13 verbose #24125 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:13 verbose #24126 > > 00:18:13 verbose #24127 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:13 verbose #24128 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:13 verbose #24129 > > │ #### sum_vec │ 00:18:13 verbose #24130 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:13 verbose #24131 > > 00:18:13 verbose #24132 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:13 verbose #24133 > > inl sum_vec vs = 00:18:13 verbose #24134 > > vs |> listm.fold (^+^) (zero_vec ()) 00:18:13 verbose #24135 > 00:18:12 debug #1340 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3a67358f48b2ada0cc471184639b494e01dc0d23a7658e81fc425d664e785cf2/main.spi 00:18:13 verbose #24136 > > 00:18:13 verbose #24137 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:13 verbose #24138 > > //// test 00:18:13 verbose #24139 > > 00:18:13 verbose #24140 > > [[ vec 1 2 3; vec 4 5 6 ]] 00:18:13 verbose #24141 > > |> sum_vec 00:18:13 verbose #24142 > > |> _assert_eq (vec 5 7 9) 00:18:13 verbose #24143 > 00:18:13 debug #1341 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5442cf2c82771c1c0d111dc1153fc4641a89ff6577fb22786c2f1a32b7d058dd/main.spi 00:18:13 verbose #24144 > > 00:18:13 verbose #24145 > > ╭─[ 100.69ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:13 verbose #24146 > > │ assert_eq / actual: struct (5.0, 7.0, 9.0) / expected: struct (5.0, 7.0, │ 00:18:13 verbose #24147 > > │ 9.0) │ 00:18:13 verbose #24148 > > │ │ 00:18:13 verbose #24149 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:13 verbose #24150 > > 00:18:13 verbose #24151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:13 verbose #24152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:13 verbose #24153 > > │ #### *^ │ 00:18:13 verbose #24154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:13 verbose #24155 > > 00:18:13 verbose #24156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:13 verbose #24157 > > inl (*^) c { x y z } = 00:18:13 verbose #24158 > > vec (c * x) (c * y) (c * z) 00:18:13 verbose #24159 > 00:18:13 debug #1342 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/92bdd32c44dfc258a439cf535819f813e68866fae2c7c54b9e6d3a32ebbd2965/main.spi 00:18:13 verbose #24160 > > 00:18:13 verbose #24161 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:13 verbose #24162 > > //// test 00:18:13 verbose #24163 > > 00:18:13 verbose #24164 > > 5 *^ vec 1 2 3 00:18:13 verbose #24165 > > |> _assert_eq (vec 5 10 15) 00:18:13 verbose #24166 > 00:18:13 debug #1343 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ece1631e00b9c319a9b09efcd9208271eca60f83141fdcbddbb06480581a15d1/main.spi 00:18:14 verbose #24167 > > 00:18:14 verbose #24168 > > ╭─[ 103.87ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:14 verbose #24169 > > │ assert_eq / actual: struct (5.0, 10.0, 15.0) / expected: struct (5.0, 10.0, │ 00:18:14 verbose #24170 > > │ 15.0) │ 00:18:14 verbose #24171 > > │ │ 00:18:14 verbose #24172 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24173 > > 00:18:14 verbose #24174 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24175 > > //// test 00:18:14 verbose #24176 > > 00:18:14 verbose #24177 > > 3 *^ i_hat () ^+^ 4 *^ k_hat () 00:18:14 verbose #24178 > > |> _assert_eq (vec 3 0 4) 00:18:14 verbose #24179 > 00:18:13 debug #1344 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8c11de930ff1bc25d289a930c42e23ff99f5670e28dc30fca88830e099e693fc/main.spi 00:18:14 verbose #24180 > > 00:18:14 verbose #24181 > > ╭─[ 129.20ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:14 verbose #24182 > > │ assert_eq / actual: struct (3.0, 0.0, 4.0) / expected: struct (3.0, 0.0, │ 00:18:14 verbose #24183 > > │ 4.0) │ 00:18:14 verbose #24184 > > │ │ 00:18:14 verbose #24185 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24186 > > 00:18:14 verbose #24187 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:14 verbose #24188 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:14 verbose #24189 > > │ #### ^* │ 00:18:14 verbose #24190 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24191 > > 00:18:14 verbose #24192 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24193 > > inl (^*) v c = 00:18:14 verbose #24194 > > (*^) c v 00:18:14 verbose #24195 > 00:18:13 debug #1345 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/59889c51298a8d14ac9095651bef3494224035f7d740352b1bda6b044acdbc04/main.spi 00:18:14 verbose #24196 > > 00:18:14 verbose #24197 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24198 > > //// test 00:18:14 verbose #24199 > > 00:18:14 verbose #24200 > > vec 1 2 3 ^* 5 00:18:14 verbose #24201 > > |> _assert_eq (vec 5 10 15) 00:18:14 verbose #24202 > 00:18:13 debug #1346 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2d380c606f15910da1731162281a3e40a8a089f146c35228494540187f7f9fe2/main.spi 00:18:14 verbose #24203 > > 00:18:14 verbose #24204 > > ╭─[ 100.95ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:14 verbose #24205 > > │ assert_eq / actual: struct (5.0, 10.0, 15.0) / expected: struct (5.0, 10.0, │ 00:18:14 verbose #24206 > > │ 15.0) │ 00:18:14 verbose #24207 > > │ │ 00:18:14 verbose #24208 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24209 > > 00:18:14 verbose #24210 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:14 verbose #24211 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:14 verbose #24212 > > │ #### ^/ │ 00:18:14 verbose #24213 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24214 > > 00:18:14 verbose #24215 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24216 > > inl (^/) { x y z } c = 00:18:14 verbose #24217 > > vec (x / c) (y / c) (z / c) 00:18:14 verbose #24218 > 00:18:13 debug #1347 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/378cd9b6f74661d3c712706d623d491ace2c75df3f746e352e2097ec029f7075/main.spi 00:18:14 verbose #24219 > > 00:18:14 verbose #24220 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24221 > > //// test 00:18:14 verbose #24222 > > 00:18:14 verbose #24223 > > vec 1 2 3 ^/ 5 00:18:14 verbose #24224 > > |> _assert_eq (vec 0.2 0.4 0.6) 00:18:14 verbose #24225 > 00:18:14 debug #1348 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/552f59ec93780eb5201f3e7a180a14f817e5c8d9b9fb8b354f5122362ce9d150/main.spi 00:18:14 verbose #24226 > > 00:18:14 verbose #24227 > > ╭─[ 100.13ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:14 verbose #24228 > > │ assert_eq / actual: struct (0.2, 0.4, 0.6) / expected: struct (0.2, 0.4, │ 00:18:14 verbose #24229 > > │ 0.6) │ 00:18:14 verbose #24230 > > │ │ 00:18:14 verbose #24231 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24232 > > 00:18:14 verbose #24233 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:14 verbose #24234 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:14 verbose #24235 > > │ #### negate_vec │ 00:18:14 verbose #24236 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24237 > > 00:18:14 verbose #24238 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24239 > > inl negate_vec v = 00:18:14 verbose #24240 > > v ^* -1 00:18:14 verbose #24241 > 00:18:14 debug #1349 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/94131339c78ccd2c8d0a4031da3525710f40ec6258ab6fe6a34eaf9a43d2b1bb/main.spi 00:18:14 verbose #24242 > > 00:18:14 verbose #24243 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24244 > > //// test 00:18:14 verbose #24245 > > 00:18:14 verbose #24246 > > vec 1 2 3 00:18:14 verbose #24247 > > |> negate_vec 00:18:14 verbose #24248 > > |> _assert_eq (vec -1 -2 -3) 00:18:14 verbose #24249 > 00:18:14 debug #1350 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fdedac425a2786add255f65932c63d6c0017b4f318bc624777cbd33cfd89bd23/main.spi 00:18:14 verbose #24250 > > 00:18:14 verbose #24251 > > ╭─[ 104.30ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:14 verbose #24252 > > │ assert_eq / actual: struct (-1.0, -2.0, -3.0) / expected: struct (-1.0, │ 00:18:14 verbose #24253 > > │ -2.0, -3.0) │ 00:18:14 verbose #24254 > > │ │ 00:18:14 verbose #24255 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24256 > > 00:18:14 verbose #24257 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:14 verbose #24258 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:14 verbose #24259 > > │ #### ^-^ │ 00:18:14 verbose #24260 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24261 > > 00:18:14 verbose #24262 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24263 > > inl (^-^) a b = 00:18:14 verbose #24264 > > a ^+^ (negate_vec b) 00:18:14 verbose #24265 > 00:18:14 debug #1351 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/21fdbe192bd77f3a4e73490f37b52779b386f16099555bea04e906a05c22da17/main.spi 00:18:14 verbose #24266 > > 00:18:14 verbose #24267 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24268 > > //// test 00:18:14 verbose #24269 > > 00:18:14 verbose #24270 > > vec 1 2 3 ^-^ vec 4 5 6 00:18:14 verbose #24271 > > |> _assert_eq (vec -3 -3 -3) 00:18:14 verbose #24272 > 00:18:14 debug #1352 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/917b97ceff00ea221782681c05a221c5d0f232ad35e4cd7160aa9ac74dc6eea1/main.spi 00:18:14 verbose #24273 > > 00:18:14 verbose #24274 > > ╭─[ 104.95ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:14 verbose #24275 > > │ assert_eq / actual: struct (-3.0, -3.0, -3.0) / expected: struct (-3.0, │ 00:18:14 verbose #24276 > > │ -3.0, -3.0) │ 00:18:14 verbose #24277 > > │ │ 00:18:14 verbose #24278 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24279 > > 00:18:14 verbose #24280 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:14 verbose #24281 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:14 verbose #24282 > > │ #### <.> │ 00:18:14 verbose #24283 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:14 verbose #24284 > > 00:18:14 verbose #24285 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:14 verbose #24286 > > inl (<.>) { x = ax y = ay z = az } { x = bx y = by z = bz } = 00:18:14 verbose #24287 > > ax * bx + ay * by + az * bz 00:18:15 verbose #24288 > 00:18:14 debug #1353 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/99065ad3b1b895ff28a5df348ec2bbea4f42427970f91af6aa2fae6941fc41de/main.spi 00:18:15 verbose #24289 > > 00:18:15 verbose #24290 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24291 > > //// test 00:18:15 verbose #24292 > > 00:18:15 verbose #24293 > > vec 1 2 3 <.> vec 4 5 6 00:18:15 verbose #24294 > > |> _assert_eq 32 00:18:15 verbose #24295 > 00:18:14 debug #1354 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c592c23878dc38d73876d3c8040729162c10400637a35814485722934550778b/main.spi 00:18:15 verbose #24296 > > 00:18:15 verbose #24297 > > ╭─[ 119.92ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:15 verbose #24298 > > │ assert_eq / actual: 32.0 / expected: 32.0 │ 00:18:15 verbose #24299 > > │ │ 00:18:15 verbose #24300 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24301 > > 00:18:15 verbose #24302 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:15 verbose #24303 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:15 verbose #24304 > > │ #### \>\< │ 00:18:15 verbose #24305 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24306 > > 00:18:15 verbose #24307 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24308 > > inl (><) (a : vec) (b : vec) = 00:18:15 verbose #24309 > > vec 00:18:15 verbose #24310 > > (a.y * b.z - a.z * b.y) 00:18:15 verbose #24311 > > (a.z * b.x - a.x * b.z) 00:18:15 verbose #24312 > > (a.x * b.y - a.y * b.x) 00:18:15 verbose #24313 > 00:18:14 debug #1355 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aed2496334bafb5bd0a8a3712ad9c397e37ac9eb9540c9bd6ae381349f1f0c82/main.spi 00:18:15 verbose #24314 > > 00:18:15 verbose #24315 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24316 > > //// test 00:18:15 verbose #24317 > > 00:18:15 verbose #24318 > > vec 1 2 3 >< vec 4 5 6 00:18:15 verbose #24319 > > |> _assert_eq (vec -3 6 -3) 00:18:15 verbose #24320 > 00:18:14 debug #1356 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4d2e5b8e098db900b3d3cbebe62eaa5095e497ecca8fc9d7c338a5d69dbaa146/main.spi 00:18:15 verbose #24321 > > 00:18:15 verbose #24322 > > ╭─[ 107.11ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:15 verbose #24323 > > │ assert_eq / actual: struct (-3.0, 6.0, -3.0) / expected: struct (-3.0, 6.0, │ 00:18:15 verbose #24324 > > │ -3.0) │ 00:18:15 verbose #24325 > > │ │ 00:18:15 verbose #24326 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24327 > > 00:18:15 verbose #24328 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:15 verbose #24329 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:15 verbose #24330 > > │ #### magnitude │ 00:18:15 verbose #24331 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24332 > > 00:18:15 verbose #24333 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24334 > > inl magnitude v = 00:18:15 verbose #24335 > > v <.> v |> sqrt 00:18:15 verbose #24336 > 00:18:14 debug #1357 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5a4ef11f464163246b95d2d8a8a31049c400054f70717b4ac0c1129ef3769534/main.spi 00:18:15 verbose #24337 > > 00:18:15 verbose #24338 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24339 > > //// test 00:18:15 verbose #24340 > > 00:18:15 verbose #24341 > > vec 1 2 3 00:18:15 verbose #24342 > > |> magnitude 00:18:15 verbose #24343 > > |> _assert_approx_eq None 3.7416573867739413 00:18:15 verbose #24344 > 00:18:15 debug #1358 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ab3a75d21b70fe9b9216d4205d776cef4d56277a8a920676d80415fcb0fabd53/main.spi 00:18:15 verbose #24345 > > 00:18:15 verbose #24346 > > ╭─[ 101.42ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:15 verbose #24347 > > │ assert_approx_eq / actual: 3.741657387 / expected: 3.741657387 │ 00:18:15 verbose #24348 > > │ │ 00:18:15 verbose #24349 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24350 > > 00:18:15 verbose #24351 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:15 verbose #24352 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:15 verbose #24353 > > │ #### v1 │ 00:18:15 verbose #24354 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24355 > > 00:18:15 verbose #24356 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24357 > > inl v1 t = 00:18:15 verbose #24358 > > 2 *^ (t ** 2 *^ i_hat () ^+^ 3 *^ (t ** 3 *^ j_hat () ^+^ t ** 4 *^ k_hat 00:18:15 verbose #24359 > > ())) 00:18:15 verbose #24360 > 00:18:15 debug #1359 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bccaf202d365272670f9847a8e686d3714808ec24394c0ad41e033008e5eae3b/main.spi 00:18:15 verbose #24361 > > 00:18:15 verbose #24362 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24363 > > //// test 00:18:15 verbose #24364 > > 00:18:15 verbose #24365 > > v1 1 00:18:15 verbose #24366 > > |> _assert_eq (vec 2 6 6) 00:18:15 verbose #24367 > 00:18:15 debug #1360 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dd01ed090b29d53add2670d3f8311d2c964c1d5e37c395569e3a3accda865794/main.spi 00:18:15 verbose #24368 > > 00:18:15 verbose #24369 > > ╭─[ 99.42ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:15 verbose #24370 > > │ assert_eq / actual: struct (2.0, 6.0, 6.0) / expected: struct (2.0, 6.0, │ 00:18:15 verbose #24371 > > │ 6.0) │ 00:18:15 verbose #24372 > > │ │ 00:18:15 verbose #24373 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24374 > > 00:18:15 verbose #24375 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:15 verbose #24376 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:15 verbose #24377 > > │ #### vec_derivative │ 00:18:15 verbose #24378 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:15 verbose #24379 > > 00:18:15 verbose #24380 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24381 > > type vec_derivative = (f64 -> vec) -> f64 -> vec 00:18:15 verbose #24382 > > 00:18:15 verbose #24383 > > inl vec_derivative dt : vec_derivative = 00:18:15 verbose #24384 > > fun v t => 00:18:15 verbose #24385 > > (v (t + dt / 2) ^-^ v (t - dt / 2)) ^/ dt 00:18:15 verbose #24386 > 00:18:15 debug #1361 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/87e27af0bacfed532e3311bf8799be231fc5baf402cb779ed47aa9bb69ad6e0d/main.spi 00:18:15 verbose #24387 > > 00:18:15 verbose #24388 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:15 verbose #24389 > > //// test 00:18:15 verbose #24390 > > 00:18:15 verbose #24391 > > vec_derivative 0.01 v1 3 .x 00:18:15 verbose #24392 > > |> _assert_approx_eq None (derivative 0.01 (v1 >> fun v => v.x) 3) 00:18:15 verbose #24393 > 00:18:15 debug #1362 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8fc8071c92b6b3cf61db97bc0979dcddf2bd80f2bc4da43fc2257ab2fb395622/main.spi 00:18:16 verbose #24394 > > 00:18:16 verbose #24395 > > ╭─[ 107.75ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:16 verbose #24396 > > │ assert_approx_eq / actual: 12.0 / expected: 12.0 │ 00:18:16 verbose #24397 > > │ │ 00:18:16 verbose #24398 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:16 verbose #24399 > > 00:18:16 verbose #24400 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:16 verbose #24401 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:16 verbose #24402 > > │ ### states_ps │ 00:18:16 verbose #24403 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:16 verbose #24404 > > 00:18:16 verbose #24405 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:16 verbose #24406 > > nominal particle_state = 00:18:16 verbose #24407 > > { 00:18:16 verbose #24408 > > mass : f64 00:18:16 verbose #24409 > > charge : f64 00:18:16 verbose #24410 > > time : f64 00:18:16 verbose #24411 > > pos_vec : vec 00:18:16 verbose #24412 > > velocity : vec 00:18:16 verbose #24413 > > } 00:18:16 verbose #24414 > > 00:18:16 verbose #24415 > > inl default_particle_state () : particle_state = 00:18:16 verbose #24416 > > particle_state { 00:18:16 verbose #24417 > > mass = 1 00:18:16 verbose #24418 > > charge = 0 00:18:16 verbose #24419 > > time = 0 00:18:16 verbose #24420 > > pos_vec = zero_vec () 00:18:16 verbose #24421 > > velocity = zero_vec () 00:18:16 verbose #24422 > > } 00:18:16 verbose #24423 > > 00:18:16 verbose #24424 > > type one_body_force = particle_state -> vec 00:18:16 verbose #24425 > > 00:18:16 verbose #24426 > > nominal d_particle_state = 00:18:16 verbose #24427 > > { 00:18:16 verbose #24428 > > dmdt : f64 00:18:16 verbose #24429 > > dqdt : f64 00:18:16 verbose #24430 > > dtdt : f64 00:18:16 verbose #24431 > > drdt : vec 00:18:16 verbose #24432 > > dvdt : vec 00:18:16 verbose #24433 > > } 00:18:16 verbose #24434 > > 00:18:16 verbose #24435 > > inl newton_second_ps (fs : list one_body_force) (st : particle_state) : 00:18:16 verbose #24436 > > d_particle_state = 00:18:16 verbose #24437 > > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec 00:18:16 verbose #24438 > > d_particle_state { 00:18:16 verbose #24439 > > dmdt = 0 00:18:16 verbose #24440 > > dqdt = 0 00:18:16 verbose #24441 > > dtdt = 1 00:18:16 verbose #24442 > > drdt = st.velocity 00:18:16 verbose #24443 > > dvdt = f_net ^/ st.mass 00:18:16 verbose #24444 > > } 00:18:16 verbose #24445 > > 00:18:16 verbose #24446 > > inl earth_surface_gravity (st : particle_state) = 00:18:16 verbose #24447 > > inl g = 9.80665 00:18:16 verbose #24448 > > -st.mass * g *^ k_hat () 00:18:16 verbose #24449 > > 00:18:16 verbose #24450 > > inl air_resistance drag rho area (st : particle_state) = 00:18:16 verbose #24451 > > -0.5 * drag * rho * area * magnitude st.velocity *^ st.velocity 00:18:16 verbose #24452 > > 00:18:16 verbose #24453 > > inl euler_cromer_ps dt (deriv : particle_state -> d_particle_state) 00:18:16 verbose #24454 > > (particle_state st) = 00:18:16 verbose #24455 > > inl dst : d_particle_state = deriv (particle_state st) 00:18:16 verbose #24456 > > inl v' = st.velocity ^+^ dst.dvdt ^* dt 00:18:16 verbose #24457 > > particle_state { st with 00:18:16 verbose #24458 > > time = st.time + dt 00:18:16 verbose #24459 > > pos_vec = st.pos_vec ^+^ v' ^* dt 00:18:16 verbose #24460 > > velocity = st.velocity ^+^ dst.dvdt ^* dt 00:18:16 verbose #24461 > > } 00:18:16 verbose #24462 > > 00:18:16 verbose #24463 > > instance (+++) d_particle_state = fun (dps : d_particle_state) (dps' : 00:18:16 verbose #24464 > > d_particle_state) => 00:18:16 verbose #24465 > > d_particle_state { 00:18:16 verbose #24466 > > dmdt = dps.dmdt + dps'.dmdt 00:18:16 verbose #24467 > > dqdt = dps.dqdt + dps'.dqdt 00:18:16 verbose #24468 > > dtdt = dps.dtdt + dps'.dtdt 00:18:16 verbose #24469 > > drdt = dps.drdt ^+^ dps'.drdt 00:18:16 verbose #24470 > > dvdt = dps.dvdt ^+^ dps'.dvdt 00:18:16 verbose #24471 > > } 00:18:16 verbose #24472 > > 00:18:16 verbose #24473 > > instance scale d_particle_state = fun w (dps : d_particle_state) => 00:18:16 verbose #24474 > > d_particle_state { 00:18:16 verbose #24475 > > dmdt = w * dps.dmdt 00:18:16 verbose #24476 > > dqdt = w * dps.dqdt 00:18:16 verbose #24477 > > dtdt = w * dps.dtdt 00:18:16 verbose #24478 > > drdt = w *^ dps.drdt 00:18:16 verbose #24479 > > dvdt = w *^ dps.dvdt 00:18:16 verbose #24480 > > } 00:18:16 verbose #24481 > > 00:18:16 verbose #24482 > > instance shift particle_state = fun dt dps (particle_state st) => 00:18:16 verbose #24483 > > inl (d_particle_state dps) = 00:18:16 verbose #24484 > > real 00:18:16 verbose #24485 > > match dps with 00:18:16 verbose #24486 > > | d_particle_state _ => dps 00:18:16 verbose #24487 > > particle_state { st with 00:18:16 verbose #24488 > > time = st.time + dps.dtdt * dt 00:18:16 verbose #24489 > > pos_vec = st.pos_vec ^+^ dps.drdt ^* dt 00:18:16 verbose #24490 > > velocity = st.velocity ^+^ dps.dvdt ^* dt 00:18:16 verbose #24491 > > } 00:18:16 verbose #24492 > > 00:18:16 verbose #24493 > > inl states_ps (method : numerical_method particle_state d_particle_state) : _ -> 00:18:16 verbose #24494 > > _ -> i32 -> particle_state = 00:18:16 verbose #24495 > > newton_second_ps >> method >> seq.iterate_ 00:18:16 verbose #24496 > > 00:18:16 verbose #24497 > > inl z_ge0 sts = 00:18:16 verbose #24498 > > sts 00:18:16 verbose #24499 > > |> seq.take_while_ (fun (particle_state st) _ => st.pos_vec.z >= 0) 00:18:16 verbose #24500 > > 00:18:16 verbose #24501 > > inl trajectory sts = 00:18:16 verbose #24502 > > sts |> listm.map (fun (particle_state st) => st.pos_vec.y, st.pos_vec.z) 00:18:16 verbose #24503 > 00:18:15 debug #1363 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cd98f06c047657503dc797c251df3bbd477097d3bb62b295190aef5b973cefaf/main.spi 00:18:16 verbose #24504 > > 00:18:16 verbose #24505 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:16 verbose #24506 > > //// test 00:18:16 verbose #24507 > > 00:18:16 verbose #24508 > > inl update_ps (method : numerical_method particle_state d_particle_state) = 00:18:16 verbose #24509 > > newton_second_ps >> method 00:18:16 verbose #24510 > > 00:18:16 verbose #24511 > > inl position_ps (method : numerical_method particle_state d_particle_state) fs 00:18:16 verbose #24512 > > st t = 00:18:16 verbose #24513 > > inl states : i32 -> particle_state = states_ps method fs st 00:18:16 verbose #24514 > > inl dt = (states 1).time - (states 0).time 00:18:16 verbose #24515 > > inl num_steps = t / dt |> math.round |> abs 00:18:16 verbose #24516 > > inl st1 = solver' method (newton_second_ps fs) st num_steps 00:18:16 verbose #24517 > > st1.pos_vec 00:18:16 verbose #24518 > > 00:18:16 verbose #24519 > > inl sun_gravity (st : particle_state) : vec = 00:18:16 verbose #24520 > > inl big_g = 0.0000000000667408 00:18:16 verbose #24521 > > inl sun_mass = 1988480000000000000000000000000 00:18:16 verbose #24522 > > -big_g * sun_mass * st.mass *^ st.pos_vec ^/ magnitude st.pos_vec ** 3 00:18:16 verbose #24523 > > 00:18:16 verbose #24524 > > inl wind_force v_wind drag rho area (st : particle_state) = 00:18:16 verbose #24525 > > inl v_rel = st.velocity ^-^ v_wind 00:18:16 verbose #24526 > > -0.5 * drag * rho * area * magnitude v_rel *^ v_rel 00:18:16 verbose #24527 > > 00:18:16 verbose #24528 > > inl rock_state () = 00:18:16 verbose #24529 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:16 verbose #24530 > > particle_state { default_particle_state' with 00:18:16 verbose #24531 > > mass = 2 00:18:16 verbose #24532 > > velocity = vec 3 0 4 00:18:16 verbose #24533 > > } 00:18:16 verbose #24534 > > 00:18:16 verbose #24535 > > inl halley_update dt = 00:18:16 verbose #24536 > > update_ps (euler_cromer_ps dt) [[ sun_gravity ]] 00:18:16 verbose #24537 > > 00:18:16 verbose #24538 > > inl halley_initial () = 00:18:16 verbose #24539 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:16 verbose #24540 > > particle_state { default_particle_state' with 00:18:16 verbose #24541 > > mass = 220000000000000 00:18:16 verbose #24542 > > pos_vec = 87660000000 *^ i_hat () 00:18:16 verbose #24543 > > velocity = 54569 *^ j_hat () 00:18:16 verbose #24544 > > } 00:18:16 verbose #24545 > 00:18:15 debug #1364 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1b5e617304f18bbdd8745dbb0f62afafedb648660c33e3b9762cc0e32be7f533/main.spi 00:18:16 verbose #24546 > > 00:18:16 verbose #24547 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:16 verbose #24548 > > //// test 00:18:16 verbose #24549 > > 00:18:16 verbose #24550 > > inl baseball_forces () = 00:18:16 verbose #24551 > > inl area = pi * (0.074 / 2) ** 2 00:18:16 verbose #24552 > > [[ 00:18:16 verbose #24553 > > earth_surface_gravity 00:18:16 verbose #24554 > > air_resistance 0.3 1.225 area 00:18:16 verbose #24555 > > ]] 00:18:16 verbose #24556 > > 00:18:16 verbose #24557 > > inl baseball_trajectory dt v0 theta_deg = 00:18:16 verbose #24558 > > inl theta_rad = theta_deg * pi / 180 00:18:16 verbose #24559 > > inl vy0 = v0 * cos theta_rad 00:18:16 verbose #24560 > > inl vz0 = v0 * sin theta_rad 00:18:16 verbose #24561 > > inl initial_state = 00:18:16 verbose #24562 > > particle_state { 00:18:16 verbose #24563 > > mass = 0.145 00:18:16 verbose #24564 > > charge = 0 00:18:16 verbose #24565 > > time = 0 00:18:16 verbose #24566 > > pos_vec = zero_vec () 00:18:16 verbose #24567 > > velocity = vec 0 vy0 vz0 00:18:16 verbose #24568 > > } 00:18:16 verbose #24569 > > states_ps (euler_cromer_ps dt) (baseball_forces ()) initial_state 00:18:16 verbose #24570 > > >> Some 00:18:16 verbose #24571 > > |> z_ge0 00:18:16 verbose #24572 > > |> trajectory 00:18:16 verbose #24573 > > 00:18:16 verbose #24574 > > inl baseball_range dt v0 theta_deg = 00:18:16 verbose #24575 > > baseball_trajectory dt v0 theta_deg 00:18:16 verbose #24576 > > |> listm.fold (fun _ (y, _) => y) 0 00:18:16 verbose #24577 > > 00:18:16 verbose #24578 > > inl x = am'.init_series 10 80 1 00:18:16 verbose #24579 > > inl y = x |> am'.map_base (baseball_range 0.01 45) 00:18:16 verbose #24580 > > "range for a baseball hit at 45 m/s", 00:18:16 verbose #24581 > > "angle above horizontal (degrees)", 00:18:16 verbose #24582 > > "", 00:18:16 verbose #24583 > > ;[[ "horizontal range (m)", x, y ]] 00:18:16 verbose #24584 > 00:18:15 debug #1365 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b082c8c9b4629cba8166099f9dc7d7b5dd1825c68823d95c9501fb39ba891bd4/main.spi 00:18:17 verbose #24585 > > 00:18:17 verbose #24586 > > ╭─[ 820.83ms - return value ]──────────────────────────────────────────────────╮ 00:18:17 verbose #24587 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:17 verbose #24588 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:17 verbose #24589 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:17 verbose #24590 > > │ stroke="none"/> │ 00:18:17 verbose #24591 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:17 verbose #24592 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:17 verbose #24593 > > │ fill="#FFFFFF"> │ 00:18:17 verbose #24594 > > │ range for a baseball hit at 45 m/s │ 00:18:17 verbose #24595 > > │ </text> │ 00:18:17 verbose #24596 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="55" y1="424" x2="55" │ 00:18:17 verbose #24597 > > │ y2="75"/> │ 00:18:17 verbose #24598 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │ 00:18:17 verbose #24599 > > │ y2="75"/> │ 00:18:17 verbose #24600 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:17 verbose #24601 > > │ y2="75"/> │ 00:18:17 verbose #24602 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │ 00:18:17 verbose #24603 > > │ y2="75"/> │ 00:18:17 verbose #24604 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="84" y1="424" x2="84" │ 00:18:17 verbose #24605 > > │ y2="75"/> │ 00:18:17 verbose #24606 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="91" y1="424" x2="91" │ 00:18:17 verbose #24607 > > │ y2="75"/> │ 00:18:17 verbose #24608 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="98" y1="424" x2="98" │ 00:18:17 verbose #24609 > > │ y2="75"/> │ 00:18:17 verbose #24610 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424" │ 00:18:17 verbose #24611 > > │ x2="105" y2="75"/> │ 00:18:17 verbose #24612 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="112" y1="424" │ 00:18:17 verbose #24613 > > │ x2="112" y2="75"/> │ 00:18:17 verbose #24614 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:17 verbose #24615 > > │ x2="119" y2="75"/> │ 00:18:17 verbose #24616 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="127" y1="424" │ 00:18:17 verbose #24617 > > │ x2="127" y2="75"/> │ 00:18:17 verbose #24618 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="134" y1="424" │ 00:18:17 verbose #24619 > > │ x2="134" y2="75"/> │ 00:18:17 verbose #24620 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424" │ 00:18:17 verbose #24621 > > │ x2="141" y2="75"/> │ 00:18:17 verbose #24622 > > │ <li...nts="585,199 590,199 "/> │ 00:18:17 verbose #24623 > > │ <text x="595" y="156" dy="0.5ex" text-anchor="start" │ 00:18:17 verbose #24624 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:17 verbose #24625 > > │ fill="#FFFFFF"> │ 00:18:17 verbose #24626 > > │ 100.0 │ 00:18:17 verbose #24627 > > │ </text> │ 00:18:17 verbose #24628 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:17 verbose #24629 > > │ points="585,156 590,156 "/> │ 00:18:17 verbose #24630 > > │ <text x="595" y="114" dy="0.5ex" text-anchor="start" │ 00:18:17 verbose #24631 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:17 verbose #24632 > > │ fill="#FFFFFF"> │ 00:18:17 verbose #24633 > > │ 110.0 │ 00:18:17 verbose #24634 > > │ </text> │ 00:18:17 verbose #24635 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:17 verbose #24636 > > │ points="585,114 590,114 "/> │ 00:18:17 verbose #24637 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:17 verbose #24638 > > │ points="69,343 77,325 84,307 91,290 98,275 105,259 112,245 119,231 127,219 │ 00:18:17 verbose #24639 > > │ 134,207 141,196 148,184 155,174 162,164 169,155 176,147 184,139 191,132 │ 00:18:17 verbose #24640 > > │ 198,126 205,119 212,114 219,109 226,104 233,100 241,96 248,93 255,91 262,89 │ 00:18:17 verbose #24641 > > │ 269,88 276,86 283,86 290,85 298,86 305,87 312,88 319,90 326,92 333,95 340,98 │ 00:18:17 verbose #24642 > > │ 348,102 355,106 362,110 369,115 376,120 383,126 390,132 397,139 405,146 │ 00:18:17 verbose #24643 > > │ 412,153 419,161 426,169 433,178 440,187 447,197 454,207 462,217 469,228 │ 00:18:17 verbose #24644 > > │ 476,239 483,250 490,262 497,274 504,287 511,300 519,313 526,326 533,340 │ 00:18:17 verbose #24645 > > │ 540,355 547,369 554,384 561,399 569,415 "/> │ 00:18:17 verbose #24646 > > │ <rect x="421" y="235" width="159" height="30" opacity="1" fill="none" │ 00:18:17 verbose #24647 > > │ stroke="#FFFFFF"/> │ 00:18:17 verbose #24648 > > │ <text x="461" y="245" dy="0.76em" text-anchor="start" │ 00:18:17 verbose #24649 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:17 verbose #24650 > > │ fill="#FFFFFF"> │ 00:18:17 verbose #24651 > > │ horizontal range (m) │ 00:18:17 verbose #24652 > > │ </text> │ 00:18:17 verbose #24653 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:17 verbose #24654 > > │ points="431,250 451,250 "/> │ 00:18:17 verbose #24655 > > │ </svg> │ 00:18:17 verbose #24656 > > │ │ 00:18:17 verbose #24657 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:17 verbose #24658 > > 00:18:17 verbose #24659 > > ╭─[ 824.77ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:17 verbose #24660 > > │ 00:00:13 debug #31 runtime.execute_with_options_async / { options = { │ 00:18:17 verbose #24661 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:17 verbose #24662 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:17 verbose #24663 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:17 verbose #24664 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:17 verbose #24665 > > │ 00:00:13 verbose #32 > Creating │ 00:18:17 verbose #24666 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/8a3ef67f953e2a32e50 │ 00:18:17 verbose #24667 > > │ 71e8c55259d45275b376bbff5ccca65f5dad1aeac78c0.svg │ 00:18:17 verbose #24668 > > │ 00:00:13 debug #33 runtime.execute_with_options_async / { exit_code = │ 00:18:17 verbose #24669 > > │ 0; output_length = 134 } │ 00:18:17 verbose #24670 > > │ │ 00:18:17 verbose #24671 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:17 verbose #24672 > > 00:18:17 verbose #24673 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:17 verbose #24674 > > //// test 00:18:17 verbose #24675 > > 00:18:17 verbose #24676 > > inl best_angle (min, max) = 00:18:17 verbose #24677 > > let rec loop theta_deg (best_range, best_theta_deg) = 00:18:17 verbose #24678 > > if theta_deg > max 00:18:17 verbose #24679 > > then best_range, best_theta_deg 00:18:17 verbose #24680 > > else 00:18:17 verbose #24681 > > inl range = baseball_range 0.01 45 theta_deg 00:18:17 verbose #24682 > > loop 00:18:17 verbose #24683 > > (theta_deg + 1) 00:18:17 verbose #24684 > > (if range > best_range 00:18:17 verbose #24685 > > then range, theta_deg 00:18:17 verbose #24686 > > else best_range, best_theta_deg) 00:18:17 verbose #24687 > > loop min (0f64, min) 00:18:17 verbose #24688 > > 00:18:17 verbose #24689 > > best_angle (30f64, 60f64) 00:18:17 verbose #24690 > > |> _assert_eq (116.77499158246208, 41) 00:18:17 verbose #24691 > 00:18:16 debug #1366 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f7e80e7b688b48b95af684eaaf2fcf3b122ab2cfd2fc2b0fce171ac31255262b/main.spi 00:18:17 verbose #24692 > > 00:18:17 verbose #24693 > > ╭─[ 504.79ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:17 verbose #24694 > > │ assert_eq / actual: struct (116.7749916, 41.0) / expected: struct │ 00:18:17 verbose #24695 > > │ (116.7749916, 41.0) │ 00:18:17 verbose #24696 > > │ │ 00:18:17 verbose #24697 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:17 verbose #24698 > > 00:18:17 verbose #24699 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:17 verbose #24700 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:17 verbose #24701 > > │ ### relativity_ps │ 00:18:17 verbose #24702 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:17 verbose #24703 > > 00:18:17 verbose #24704 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:17 verbose #24705 > > inl relativity_ps fs (st : particle_state) = 00:18:17 verbose #24706 > > inl f_net = fs |> listm.map (fun f => f st) |> sum_vec 00:18:17 verbose #24707 > > inl c = 299792458 00:18:17 verbose #24708 > > inl u = st.velocity ^/ c 00:18:17 verbose #24709 > > inl acc = sqrt (1 - (u <.> u)) *^ (f_net ^-^ (f_net <.> u) *^ u) ^/ st.mass 00:18:17 verbose #24710 > > d_particle_state { 00:18:17 verbose #24711 > > dmdt = 0 00:18:17 verbose #24712 > > dqdt = 0 00:18:17 verbose #24713 > > dtdt = 1 00:18:17 verbose #24714 > > drdt = st.velocity 00:18:17 verbose #24715 > > dvdt = acc 00:18:17 verbose #24716 > > } 00:18:17 verbose #24717 > 00:18:17 debug #1367 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc6f44bd6e2446436c15debe35080a2ad13c8e950a697a7d1b69bac267631653/main.spi 00:18:17 verbose #24718 > > 00:18:17 verbose #24719 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:17 verbose #24720 > > //// test 00:18:17 verbose #24721 > > 00:18:17 verbose #24722 > > inl year = 365.25 * 24 * 60 * 60 00:18:17 verbose #24723 > > inl c = 299792458 00:18:17 verbose #24724 > > inl ~method = runge_kutta_4 100000 00:18:17 verbose #24725 > > inl forces = [[ fun _ => 10 *^ i_hat () ]] 00:18:17 verbose #24726 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:17 verbose #24727 > > inl initial_state = 00:18:17 verbose #24728 > > particle_state { default_particle_state' with 00:18:17 verbose #24729 > > mass = 1 00:18:17 verbose #24730 > > } 00:18:17 verbose #24731 > > 00:18:17 verbose #24732 > > inl newton_states = solver_ method (newton_second_ps forces) initial_state 00:18:17 verbose #24733 > > inl relativity_states = solver_ method (relativity_ps forces) initial_state 00:18:17 verbose #24734 > > 00:18:17 verbose #24735 > > inl newton_x, newton_y = 00:18:17 verbose #24736 > > newton_states 00:18:17 verbose #24737 > > >> Some 00:18:17 verbose #24738 > > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year) 00:18:17 verbose #24739 > > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c) 00:18:17 verbose #24740 > > |> listm'.unzip 00:18:17 verbose #24741 > > 00:18:17 verbose #24742 > > inl _, relativity_y = 00:18:17 verbose #24743 > > relativity_states 00:18:17 verbose #24744 > > >> Some 00:18:17 verbose #24745 > > |> seq.take_while_ (fun (particle_state st) (_ : i32) => st.time <= year) 00:18:17 verbose #24746 > > |> listm.map (fun (particle_state st) => st.time / year, st.velocity.x / c) 00:18:17 verbose #24747 > > |> listm'.unzip 00:18:17 verbose #24748 > > 00:18:17 verbose #24749 > > inl newton_x = newton_x |> listm'.box |> listm'.to_array' 00:18:17 verbose #24750 > > inl newton_y = newton_y |> listm'.box |> listm'.to_array' 00:18:17 verbose #24751 > > inl relativity_y = relativity_y |> listm'.box |> listm'.to_array' 00:18:17 verbose #24752 > > 00:18:17 verbose #24753 > > "response to a constant force", 00:18:17 verbose #24754 > > "time (years)", 00:18:17 verbose #24755 > > "velocity (multiples of c)", 00:18:17 verbose #24756 > > ;[[ 00:18:17 verbose #24757 > > "newtonian", newton_x, newton_y 00:18:17 verbose #24758 > > "relativistic", newton_x, relativity_y 00:18:17 verbose #24759 > > ]] 00:18:17 verbose #24760 > 00:18:17 debug #1368 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/aeab0aedb278b0007b0c4f11522037445eb4ec89bf833d2ad08ae806801e8ae6/main.spi 00:18:18 verbose #24761 > > 00:18:18 verbose #24762 > > ╭─[ 362.11ms - return value ]──────────────────────────────────────────────────╮ 00:18:18 verbose #24763 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:18 verbose #24764 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:18 verbose #24765 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:18 verbose #24766 > > │ stroke="none"/> │ 00:18:18 verbose #24767 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:18 verbose #24768 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:18 verbose #24769 > > │ fill="#FFFFFF"> │ 00:18:18 verbose #24770 > > │ response to a constant force │ 00:18:18 verbose #24771 > > │ </text> │ 00:18:18 verbose #24772 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:18 verbose #24773 > > │ y2="75"/> │ 00:18:18 verbose #24774 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:18 verbose #24775 > > │ y2="75"/> │ 00:18:18 verbose #24776 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:18 verbose #24777 > > │ y2="75"/> │ 00:18:18 verbose #24778 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:18 verbose #24779 > > │ y2="75"/> │ 00:18:18 verbose #24780 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:18 verbose #24781 > > │ y2="75"/> │ 00:18:18 verbose #24782 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:18 verbose #24783 > > │ x2="109" y2="75"/> │ 00:18:18 verbose #24784 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:18 verbose #24785 > > │ x2="119" y2="75"/> │ 00:18:18 verbose #24786 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:18 verbose #24787 > > │ x2="129" y2="75"/> │ 00:18:18 verbose #24788 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:18 verbose #24789 > > │ x2="139" y2="75"/> │ 00:18:18 verbose #24790 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:18 verbose #24791 > > │ x2="149" y2="75"/> │ 00:18:18 verbose #24792 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:18 verbose #24793 > > │ x2="159" y2="75"/> │ 00:18:18 verbose #24794 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:18 verbose #24795 > > │ x2="169" y2="75"/> │ 00:18:18 verbose #24796 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:18 verbose #24797 > > │ x2="179" y2="75"/> │ 00:18:18 verbose #24798 > > │ <line... 393,238 394,238 396,237 397,237 399,236 401,235 402,235 404,234 │ 00:18:18 verbose #24799 > > │ 405,234 407,233 409,233 410,232 412,231 413,231 415,230 416,230 418,229 │ 00:18:18 verbose #24800 > > │ 420,229 421,228 423,228 424,227 426,227 428,226 429,225 431,225 432,224 │ 00:18:18 verbose #24801 > > │ 434,224 435,223 437,223 439,222 440,222 442,221 443,221 445,220 447,220 │ 00:18:18 verbose #24802 > > │ 448,219 450,219 451,218 453,218 454,217 456,217 458,216 459,216 461,215 │ 00:18:18 verbose #24803 > > │ 462,215 464,214 466,214 467,213 469,213 470,213 472,212 473,212 475,211 │ 00:18:18 verbose #24804 > > │ 477,211 478,210 480,210 481,209 483,209 485,208 486,208 488,208 489,207 │ 00:18:18 verbose #24805 > > │ 491,207 492,206 494,206 496,205 497,205 499,204 500,204 502,204 504,203 │ 00:18:18 verbose #24806 > > │ 505,203 507,202 508,202 510,202 511,201 513,201 515,200 516,200 518,200 │ 00:18:18 verbose #24807 > > │ 519,199 521,199 523,198 524,198 526,198 527,197 529,197 531,196 532,196 │ 00:18:18 verbose #24808 > > │ 534,196 535,195 537,195 538,194 540,194 542,194 543,193 545,193 546,193 │ 00:18:18 verbose #24809 > > │ 548,192 550,192 551,192 553,191 554,191 556,190 557,190 559,190 561,189 │ 00:18:18 verbose #24810 > > │ 562,189 564,189 565,188 567,188 569,188 "/> │ 00:18:18 verbose #24811 > > │ <rect x="464" y="227" width="116" height="45" opacity="1" fill="none" │ 00:18:18 verbose #24812 > > │ stroke="#FFFFFF"/> │ 00:18:18 verbose #24813 > > │ <text x="504" y="237" dy="0.76em" text-anchor="start" │ 00:18:18 verbose #24814 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:18 verbose #24815 > > │ fill="#FFFFFF"> │ 00:18:18 verbose #24816 > > │ newtonian │ 00:18:18 verbose #24817 > > │ </text> │ 00:18:18 verbose #24818 > > │ <text x="504" y="252" dy="0.76em" text-anchor="start" │ 00:18:18 verbose #24819 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:18 verbose #24820 > > │ fill="#FFFFFF"> │ 00:18:18 verbose #24821 > > │ relativistic │ 00:18:18 verbose #24822 > > │ </text> │ 00:18:18 verbose #24823 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:18 verbose #24824 > > │ points="474,242 494,242 "/> │ 00:18:18 verbose #24825 > > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │ 00:18:18 verbose #24826 > > │ points="474,257 494,257 "/> │ 00:18:18 verbose #24827 > > │ </svg> │ 00:18:18 verbose #24828 > > │ │ 00:18:18 verbose #24829 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:18 verbose #24830 > > 00:18:18 verbose #24831 > > ╭─[ 366.25ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:18 verbose #24832 > > │ 00:00:14 debug #34 runtime.execute_with_options_async / { options = { │ 00:18:18 verbose #24833 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:18 verbose #24834 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:18 verbose #24835 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:18 verbose #24836 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:18 verbose #24837 > > │ 00:00:14 verbose #35 > Creating │ 00:18:18 verbose #24838 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/5e278a736af1809d8dc │ 00:18:18 verbose #24839 > > │ dc13453b35993d336214d079bbcd9b2cf063181d8e59d.svg │ 00:18:18 verbose #24840 > > │ 00:00:14 debug #36 runtime.execute_with_options_async / { exit_code = │ 00:18:18 verbose #24841 > > │ 0; output_length = 134 } │ 00:18:18 verbose #24842 > > │ │ 00:18:18 verbose #24843 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:18 verbose #24844 > > 00:18:18 verbose #24845 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:18 verbose #24846 > > inl uniform_lorentz_force v_e v_b (st : particle_state) = 00:18:18 verbose #24847 > > st.charge *^ (v_e ^+^ st.velocity >< v_b) 00:18:18 verbose #24848 > 00:18:17 debug #1369 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d1efff46697e56beaa0357f3355ee91d1a31053a313aee20a74d1293bc0fc604/main.spi 00:18:18 verbose #24849 > > 00:18:18 verbose #24850 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:18 verbose #24851 > > //// test 00:18:18 verbose #24852 > > 00:18:18 verbose #24853 > > inl c : f64 = 299792458 00:18:18 verbose #24854 > > inl ~method = runge_kutta_4 0.000000001 00:18:18 verbose #24855 > > inl forces = [[ uniform_lorentz_force (zero_vec ()) (k_hat ()) ]] 00:18:18 verbose #24856 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:18 verbose #24857 > > inl initial_state = 00:18:18 verbose #24858 > > particle_state { default_particle_state' with 00:18:18 verbose #24859 > > mass = 0.000000000000000000000000001672621898 00:18:18 verbose #24860 > > charge = 0.0000000000000000001602176621 00:18:18 verbose #24861 > > velocity = 0.8 *^ (c *^ j_hat ()) 00:18:18 verbose #24862 > > } 00:18:18 verbose #24863 > > 00:18:18 verbose #24864 > > inl newton_states = solver_ method (newton_second_ps forces) initial_state 00:18:18 verbose #24865 > > inl relativity_states = solver_ method (relativity_ps forces) initial_state 00:18:18 verbose #24866 > > 00:18:18 verbose #24867 > > inl newton_x, newton_y = 00:18:18 verbose #24868 > > newton_states 00:18:18 verbose #24869 > > >> Some 00:18:18 verbose #24870 > > |> seq.take_while_ (fun (particle_state st) i => i < 100i32) 00:18:18 verbose #24871 > > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y) 00:18:18 verbose #24872 > > |> listm'.unzip 00:18:18 verbose #24873 > > 00:18:18 verbose #24874 > > inl relativity_x, relativity_y = 00:18:18 verbose #24875 > > relativity_states 00:18:18 verbose #24876 > > >> Some 00:18:18 verbose #24877 > > |> seq.take_while_ (fun (particle_state st) i => i < 165i32) 00:18:18 verbose #24878 > > |> listm.map (fun (particle_state st) => st.pos_vec.x, st.pos_vec.y) 00:18:18 verbose #24879 > > |> listm'.unzip 00:18:18 verbose #24880 > > 00:18:18 verbose #24881 > > inl newton_x = newton_x |> listm'.box |> listm'.to_array' 00:18:18 verbose #24882 > > inl newton_y = newton_y |> listm'.box |> listm'.to_array' 00:18:18 verbose #24883 > > 00:18:18 verbose #24884 > > inl relativity_x = relativity_x |> listm'.box |> listm'.to_array' 00:18:18 verbose #24885 > > inl relativity_y = relativity_y |> listm'.box |> listm'.to_array' 00:18:18 verbose #24886 > > 00:18:18 verbose #24887 > > "proton in a 1-t magnetic field", 00:18:18 verbose #24888 > > "x (m)", 00:18:18 verbose #24889 > > "y (m)", 00:18:18 verbose #24890 > > ;[[ 00:18:18 verbose #24891 > > "newtonian", newton_x, newton_y 00:18:18 verbose #24892 > > "relativistic", relativity_x, relativity_y 00:18:18 verbose #24893 > > ]] 00:18:18 verbose #24894 > 00:18:17 debug #1370 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f440865aa6942f3bbb3aed3718ddd7fdca8e880f7fc117024593652b81891107/main.spi 00:18:18 verbose #24895 > > 00:18:18 verbose #24896 > > ╭─[ 359.77ms - return value ]──────────────────────────────────────────────────╮ 00:18:18 verbose #24897 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:18 verbose #24898 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:18 verbose #24899 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:18 verbose #24900 > > │ stroke="none"/> │ 00:18:18 verbose #24901 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:18 verbose #24902 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:18 verbose #24903 > > │ fill="#FFFFFF"> │ 00:18:18 verbose #24904 > > │ proton in a 1-t magnetic field │ 00:18:18 verbose #24905 > > │ </text> │ 00:18:18 verbose #24906 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="58" y1="424" x2="58" │ 00:18:18 verbose #24907 > > │ y2="75"/> │ 00:18:18 verbose #24908 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:18 verbose #24909 > > │ y2="75"/> │ 00:18:18 verbose #24910 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="81" y1="424" x2="81" │ 00:18:18 verbose #24911 > > │ y2="75"/> │ 00:18:18 verbose #24912 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │ 00:18:18 verbose #24913 > > │ y2="75"/> │ 00:18:18 verbose #24914 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="105" y1="424" │ 00:18:18 verbose #24915 > > │ x2="105" y2="75"/> │ 00:18:18 verbose #24916 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="117" y1="424" │ 00:18:18 verbose #24917 > > │ x2="117" y2="75"/> │ 00:18:18 verbose #24918 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:18 verbose #24919 > > │ x2="129" y2="75"/> │ 00:18:18 verbose #24920 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="141" y1="424" │ 00:18:18 verbose #24921 > > │ x2="141" y2="75"/> │ 00:18:18 verbose #24922 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="153" y1="424" │ 00:18:18 verbose #24923 > > │ x2="153" y2="75"/> │ 00:18:18 verbose #24924 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="165" y1="424" │ 00:18:18 verbose #24925 > > │ x2="165" y2="75"/> │ 00:18:18 verbose #24926 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="177" y1="424" │ 00:18:18 verbose #24927 > > │ x2="177" y2="75"/> │ 00:18:18 verbose #24928 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="189" y1="424" │ 00:18:18 verbose #24929 > > │ x2="189" y2="75"/> │ 00:18:18 verbose #24930 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="201" y1="424" │ 00:18:18 verbose #24931 > > │ x2="201" y2="75"/> │ 00:18:18 verbose #24932 > > │ <...555,197 560,206 563,216 566,225 567,234 568,244 568,253 568,263 566,272 │ 00:18:18 verbose #24933 > > │ 564,281 561,291 557,300 552,309 547,317 540,326 533,334 526,342 517,350 │ 00:18:18 verbose #24934 > > │ 508,357 499,364 488,371 478,377 466,383 455,388 442,393 430,398 417,402 │ 00:18:18 verbose #24935 > > │ 403,405 390,408 376,410 362,412 348,414 333,414 319,415 305,414 290,414 │ 00:18:18 verbose #24936 > > │ 276,412 262,410 248,408 235,405 221,401 208,397 196,393 183,388 171,383 │ 00:18:18 verbose #24937 > > │ 160,377 149,371 139,364 129,357 120,350 112,342 104,334 97,326 91,317 86,309 │ 00:18:18 verbose #24938 > > │ 81,300 77,290 74,281 72,272 70,263 70,253 70,244 71,234 72,225 75,215 78,206 │ 00:18:18 verbose #24939 > > │ 83,197 88,188 93,180 100,171 107,163 115,155 124,148 133,140 143,133 153,127 │ 00:18:18 verbose #24940 > > │ 164,121 176,115 188,110 200,105 213,101 226,97 239,94 253,91 267,89 281,87 │ 00:18:18 verbose #24941 > > │ 295,86 310,85 324,85 338,86 353,87 367,88 381,90 394,93 408,96 421,100 │ 00:18:18 verbose #24942 > > │ 434,104 447,109 459,114 470,119 482,125 492,131 502,138 512,145 520,153 │ 00:18:18 verbose #24943 > > │ 529,161 536,169 543,177 549,186 554,194 558,203 562,213 565,222 567,231 │ 00:18:18 verbose #24944 > > │ 568,241 569,250 "/> │ 00:18:18 verbose #24945 > > │ <rect x="464" y="227" width="116" height="45" opacity="1" fill="none" │ 00:18:18 verbose #24946 > > │ stroke="#FFFFFF"/> │ 00:18:18 verbose #24947 > > │ <text x="504" y="237" dy="0.76em" text-anchor="start" │ 00:18:18 verbose #24948 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:18 verbose #24949 > > │ fill="#FFFFFF"> │ 00:18:18 verbose #24950 > > │ newtonian │ 00:18:18 verbose #24951 > > │ </text> │ 00:18:18 verbose #24952 > > │ <text x="504" y="252" dy="0.76em" text-anchor="start" │ 00:18:18 verbose #24953 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:18 verbose #24954 > > │ fill="#FFFFFF"> │ 00:18:18 verbose #24955 > > │ relativistic │ 00:18:18 verbose #24956 > > │ </text> │ 00:18:18 verbose #24957 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:18 verbose #24958 > > │ points="474,242 494,242 "/> │ 00:18:18 verbose #24959 > > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │ 00:18:18 verbose #24960 > > │ points="474,257 494,257 "/> │ 00:18:18 verbose #24961 > > │ </svg> │ 00:18:18 verbose #24962 > > │ │ 00:18:18 verbose #24963 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:18 verbose #24964 > > 00:18:18 verbose #24965 > > ╭─[ 364.17ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:18 verbose #24966 > > │ 00:00:15 debug #37 runtime.execute_with_options_async / { options = { │ 00:18:18 verbose #24967 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:18 verbose #24968 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:18 verbose #24969 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:18 verbose #24970 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:18 verbose #24971 > > │ 00:00:15 verbose #38 > Creating │ 00:18:18 verbose #24972 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/bb8f45eff587eeea2eb │ 00:18:18 verbose #24973 > > │ a0bc2ee5a7127055bf92453772b584569d1b580f6f89c.svg │ 00:18:18 verbose #24974 > > │ 00:00:15 debug #39 runtime.execute_with_options_async / { exit_code = │ 00:18:18 verbose #24975 > > │ 0; output_length = 134 } │ 00:18:18 verbose #24976 > > │ │ 00:18:18 verbose #24977 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:18 verbose #24978 > > 00:18:18 verbose #24979 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:18 verbose #24980 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:18 verbose #24981 > > │ #### system kinetic energy versus time 1 │ 00:18:18 verbose #24982 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:18 verbose #24983 > > 00:18:18 verbose #24984 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:18 verbose #24985 > > //// test 00:18:18 verbose #24986 > > 00:18:18 verbose #24987 > > inl central_force f (particle_state st1) (particle_state st2) = 00:18:18 verbose #24988 > > inl r1 = st1.pos_vec 00:18:18 verbose #24989 > > inl r2 = st2.pos_vec 00:18:18 verbose #24990 > > inl r21 = r2 ^-^ r1 00:18:18 verbose #24991 > > inl r21mag = magnitude r21 00:18:18 verbose #24992 > > f r21mag *^ r21 ^/ r21mag 00:18:18 verbose #24993 > > 00:18:18 verbose #24994 > > inl billiard_force k re = 00:18:18 verbose #24995 > > inl f r = 00:18:18 verbose #24996 > > if r >= re 00:18:18 verbose #24997 > > then 0 00:18:18 verbose #24998 > > else -k * (r - re) 00:18:18 verbose #24999 > > central_force f 00:18:18 verbose #25000 > > 00:18:18 verbose #25001 > > type force_vector = vec 00:18:18 verbose #25002 > > type two_body_force = particle_state -> particle_state -> force_vector 00:18:18 verbose #25003 > > 00:18:18 verbose #25004 > > union force = 00:18:18 verbose #25005 > > | ExternalForce : i32 * one_body_force 00:18:18 verbose #25006 > > | InternalForce : i32 * i32 * two_body_force 00:18:18 verbose #25007 > > 00:18:18 verbose #25008 > > nominal multi_particle_state = list particle_state 00:18:18 verbose #25009 > > 00:18:18 verbose #25010 > > nominal d_multi_particle_state = list d_particle_state 00:18:18 verbose #25011 > > 00:18:18 verbose #25012 > > inl force_on n sts force = 00:18:18 verbose #25013 > > match force with 00:18:18 verbose #25014 > > | ExternalForce (n0, f_one_body) => 00:18:18 verbose #25015 > > if n = n0 00:18:18 verbose #25016 > > then f_one_body 00:18:18 verbose #25017 > > else fun _ => zero_vec () 00:18:18 verbose #25018 > > | InternalForce (n0, n1, f_two_body) => 00:18:18 verbose #25019 > > if n = n0 00:18:18 verbose #25020 > > then f_two_body (sts |> listm'.item n1) 00:18:18 verbose #25021 > > elif n = n1 00:18:18 verbose #25022 > > then f_two_body (sts |> listm'.item n0) 00:18:18 verbose #25023 > > else fun _ => zero_vec () 00:18:18 verbose #25024 > > 00:18:18 verbose #25025 > > inl forces_on n (multi_particle_state sts) fs = 00:18:18 verbose #25026 > > fs |> listm.map (force_on n sts) 00:18:18 verbose #25027 > > 00:18:18 verbose #25028 > > inl newton_second_mps fs (multi_particle_state sts) : d_multi_particle_state = 00:18:18 verbose #25029 > > inl deriv (n, st) = 00:18:18 verbose #25030 > > newton_second_ps (forces_on n (multi_particle_state sts) fs) st 00:18:18 verbose #25031 > > sts |> listm'.indexed |> listm.map deriv |> d_multi_particle_state 00:18:18 verbose #25032 > > 00:18:18 verbose #25033 > > instance (+++) d_multi_particle_state = fun (d_multi_particle_state dsts1) 00:18:18 verbose #25034 > > (d_multi_particle_state dsts2) => 00:18:18 verbose #25035 > > d_multi_particle_state (listm'.zip_with_ (+++) dsts1 dsts2) 00:18:18 verbose #25036 > > 00:18:18 verbose #25037 > > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) => 00:18:18 verbose #25038 > > d_multi_particle_state (dsts |> listm.map (scale w)) 00:18:18 verbose #25039 > > 00:18:18 verbose #25040 > > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) => 00:18:18 verbose #25041 > > inl (d_multi_particle_state dsts) = 00:18:18 verbose #25042 > > real 00:18:18 verbose #25043 > > match dsts with 00:18:18 verbose #25044 > > | d_multi_particle_state _ => dsts 00:18:18 verbose #25045 > > listm'.zip_with_ (shift dt) dsts sts |> multi_particle_state 00:18:18 verbose #25046 > > 00:18:18 verbose #25047 > > inl euler_cromer_mps dt : numerical_method multi_particle_state 00:18:18 verbose #25048 > > d_multi_particle_state = 00:18:18 verbose #25049 > > fun deriv mpst0 => 00:18:18 verbose #25050 > > inl mpst1 = euler dt deriv mpst0 00:18:18 verbose #25051 > > inl (multi_particle_state sts0) = mpst0 00:18:18 verbose #25052 > > inl (multi_particle_state sts1) = mpst1 00:18:18 verbose #25053 > > sts1 00:18:18 verbose #25054 > > |> listm'.zip_ sts0 00:18:18 verbose #25055 > > |> listm.map (fun ((particle_state st0), (particle_state st1)) => 00:18:18 verbose #25056 > > particle_state { 00:18:18 verbose #25057 > > st1 with 00:18:18 verbose #25058 > > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt 00:18:18 verbose #25059 > > } 00:18:18 verbose #25060 > > ) 00:18:18 verbose #25061 > > |> multi_particle_state 00:18:18 verbose #25062 > > 00:18:18 verbose #25063 > > inl update_mps (method : numerical_method multi_particle_state 00:18:18 verbose #25064 > > d_multi_particle_state) = 00:18:18 verbose #25065 > > newton_second_mps >> method 00:18:18 verbose #25066 > > 00:18:18 verbose #25067 > > inl states_mps (method : numerical_method multi_particle_state 00:18:18 verbose #25068 > > d_multi_particle_state) = 00:18:18 verbose #25069 > > newton_second_mps >> method >> seq.iterate_ 00:18:18 verbose #25070 > > 00:18:18 verbose #25071 > > 00:18:18 verbose #25072 > > inl kinetic_energy (particle_state st) = 00:18:18 verbose #25073 > > inl m = st.mass 00:18:18 verbose #25074 > > inl v = magnitude st.velocity 00:18:18 verbose #25075 > > 0.5 * m * v ** 2 00:18:18 verbose #25076 > > 00:18:18 verbose #25077 > > inl system_ke (multi_particle_state sts) = 00:18:18 verbose #25078 > > sts |> listm.map kinetic_energy |> listm'.sum 00:18:18 verbose #25079 > > 00:18:18 verbose #25080 > > inl linear_spring_pe k re (particle_state st1) (particle_state st2) = 00:18:18 verbose #25081 > > inl r1 = st1.pos_vec 00:18:18 verbose #25082 > > inl r2 = st2.pos_vec 00:18:18 verbose #25083 > > inl r21 = r2 ^-^ r1 00:18:18 verbose #25084 > > inl r21mag = magnitude r21 00:18:18 verbose #25085 > > k * (r21mag - re) ** 2 / 2 00:18:18 verbose #25086 > > 00:18:18 verbose #25087 > > inl earth_surface_gravity_pe (particle_state st) = 00:18:18 verbose #25088 > > inl g = 9.80665 00:18:18 verbose #25089 > > inl m = st.mass 00:18:18 verbose #25090 > > inl z = st.pos_vec.z 00:18:18 verbose #25091 > > m * g * z 00:18:18 verbose #25092 > > 00:18:18 verbose #25093 > > inl two_springs_pe (multi_particle_state sts) = 00:18:18 verbose #25094 > > inl st0 = sts |> listm'.item 0i32 00:18:18 verbose #25095 > > inl st1 = sts |> listm'.item 1i32 00:18:18 verbose #25096 > > linear_spring_pe 100 0.5 (default_particle_state ()) st0 00:18:18 verbose #25097 > > + linear_spring_pe 100 0.5 st0 st1 00:18:18 verbose #25098 > > + earth_surface_gravity_pe st0 00:18:18 verbose #25099 > > + earth_surface_gravity_pe st1 00:18:18 verbose #25100 > > 00:18:18 verbose #25101 > > inl two_springs_me mpst = 00:18:18 verbose #25102 > > system_ke mpst + two_springs_pe mpst 00:18:18 verbose #25103 > > 00:18:18 verbose #25104 > > inl ball_radius () = 0.03 00:18:18 verbose #25105 > > 00:18:18 verbose #25106 > > inl billiard_forces k = 00:18:18 verbose #25107 > > [[ InternalForce (0, 1, billiard_force k (2 * ball_radius ())) ]] 00:18:18 verbose #25108 > > 00:18:18 verbose #25109 > > inl billiard_update n_method k dt = 00:18:18 verbose #25110 > > update_mps (n_method dt) (billiard_forces k) 00:18:18 verbose #25111 > > 00:18:18 verbose #25112 > > inl billiard_initial () = 00:18:18 verbose #25113 > > inl ball_mass = 0.160 00:18:18 verbose #25114 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:18 verbose #25115 > > multi_particle_state [[ 00:18:18 verbose #25116 > > particle_state { 00:18:18 verbose #25117 > > default_particle_state' with 00:18:18 verbose #25118 > > mass = ball_mass 00:18:18 verbose #25119 > > pos_vec = zero_vec () 00:18:18 verbose #25120 > > velocity = 0.2 *^ i_hat () 00:18:18 verbose #25121 > > } 00:18:18 verbose #25122 > > particle_state { 00:18:18 verbose #25123 > > default_particle_state' with 00:18:18 verbose #25124 > > mass = ball_mass 00:18:18 verbose #25125 > > pos_vec = i_hat () ^+^ 0.02 *^ j_hat () 00:18:18 verbose #25126 > > velocity = zero_vec () 00:18:18 verbose #25127 > > } 00:18:18 verbose #25128 > > ]] 00:18:18 verbose #25129 > > 00:18:18 verbose #25130 > > inl billiard_states ~n_method k dt = 00:18:18 verbose #25131 > > states_mps (n_method dt) (billiard_forces k) (billiard_initial ()) 00:18:18 verbose #25132 > > 00:18:18 verbose #25133 > > inl billiard_states_finite n_method k dt = 00:18:18 verbose #25134 > > billiard_states n_method k dt 00:18:18 verbose #25135 > > >> Some 00:18:18 verbose #25136 > > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) => 00:18:18 verbose #25137 > > (mpst |> listm'.item 0i32).time <= 10 00:18:18 verbose #25138 > > ) 00:18:18 verbose #25139 > > 00:18:18 verbose #25140 > > inl momentum (particle_state st) = 00:18:18 verbose #25141 > > inl m = st.mass 00:18:18 verbose #25142 > > inl v = st.velocity 00:18:18 verbose #25143 > > m *^ v 00:18:18 verbose #25144 > > 00:18:18 verbose #25145 > > inl system_p (multi_particle_state sts) = 00:18:18 verbose #25146 > > sts |> listm.map momentum |> sum_vec 00:18:18 verbose #25147 > > 00:18:18 verbose #25148 > > 00:18:18 verbose #25149 > > inl time_ke_ec_x, time_ke_ec_y = 00:18:18 verbose #25150 > > billiard_states_finite euler_cromer_mps 30 0.03 00:18:18 verbose #25151 > > |> listm.map (fun (multi_particle_state mpst) => 00:18:18 verbose #25152 > > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst) 00:18:18 verbose #25153 > > ) 00:18:18 verbose #25154 > > |> listm'.unzip 00:18:18 verbose #25155 > > 00:18:18 verbose #25156 > > inl time_ke_rk4_x, time_ke_rk4_y = 00:18:18 verbose #25157 > > billiard_states_finite runge_kutta_4 30 0.03 00:18:18 verbose #25158 > > |> listm.map (fun (multi_particle_state mpst) => 00:18:18 verbose #25159 > > (mpst |> listm'.item 0i32).time, system_ke (multi_particle_state mpst) 00:18:18 verbose #25160 > > ) 00:18:18 verbose #25161 > > |> listm'.unzip 00:18:18 verbose #25162 > > 00:18:18 verbose #25163 > > inl time_ke_ec_x = time_ke_ec_x |> listm'.box |> listm'.to_array' 00:18:18 verbose #25164 > > inl time_ke_ec_y = time_ke_ec_y |> listm'.box |> listm'.to_array' 00:18:18 verbose #25165 > > 00:18:18 verbose #25166 > > inl time_ke_rk4_x = time_ke_rk4_x |> listm'.box |> listm'.to_array' 00:18:18 verbose #25167 > > inl time_ke_rk4_y = time_ke_rk4_y |> listm'.box |> listm'.to_array' 00:18:18 verbose #25168 > > 00:18:18 verbose #25169 > > "system kinetic energy versus time", 00:18:18 verbose #25170 > > "time (s)", 00:18:18 verbose #25171 > > "system kinetic energy (j)", 00:18:18 verbose #25172 > > ;[[ 00:18:18 verbose #25173 > > "euler-cromer", time_ke_ec_x, time_ke_ec_y 00:18:18 verbose #25174 > > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y 00:18:18 verbose #25175 > > ]] 00:18:18 verbose #25176 > 00:18:18 debug #1371 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c8e2647289a2329c3212ac5ef16843ddaa6adb4bd294facbfc659041ecff24ec/main.spi 00:18:19 verbose #25177 > > 00:18:19 verbose #25178 > > ╭─[ 1.10s - return value ]─────────────────────────────────────────────────────╮ 00:18:19 verbose #25179 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:19 verbose #25180 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:19 verbose #25181 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:19 verbose #25182 > > │ stroke="none"/> │ 00:18:19 verbose #25183 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:19 verbose #25184 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:19 verbose #25185 > > │ fill="#FFFFFF"> │ 00:18:19 verbose #25186 > > │ system kinetic energy versus time │ 00:18:19 verbose #25187 > > │ </text> │ 00:18:19 verbose #25188 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:19 verbose #25189 > > │ y2="75"/> │ 00:18:19 verbose #25190 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:19 verbose #25191 > > │ y2="75"/> │ 00:18:19 verbose #25192 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:19 verbose #25193 > > │ y2="75"/> │ 00:18:19 verbose #25194 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:19 verbose #25195 > > │ y2="75"/> │ 00:18:19 verbose #25196 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:19 verbose #25197 > > │ y2="75"/> │ 00:18:19 verbose #25198 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:19 verbose #25199 > > │ x2="109" y2="75"/> │ 00:18:19 verbose #25200 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:19 verbose #25201 > > │ x2="119" y2="75"/> │ 00:18:19 verbose #25202 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:19 verbose #25203 > > │ x2="129" y2="75"/> │ 00:18:19 verbose #25204 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:19 verbose #25205 > > │ x2="139" y2="75"/> │ 00:18:19 verbose #25206 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:19 verbose #25207 > > │ x2="149" y2="75"/> │ 00:18:19 verbose #25208 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:19 verbose #25209 > > │ x2="159" y2="75"/> │ 00:18:19 verbose #25210 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:19 verbose #25211 > > │ x2="169" y2="75"/> │ 00:18:19 verbose #25212 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:19 verbose #25213 > > │ x2="179" y2="75"/> │ 00:18:19 verbose #25214 > > │ ...,104 404,104 405,104 407,104 408,104 410,104 411,104 413,104 414,104 │ 00:18:19 verbose #25215 > > │ 416,104 417,104 419,104 420,104 422,104 423,104 425,104 426,104 428,104 │ 00:18:19 verbose #25216 > > │ 429,104 431,104 432,104 434,104 435,104 437,104 438,104 440,104 441,104 │ 00:18:19 verbose #25217 > > │ 443,104 444,104 446,104 447,104 449,104 450,104 452,104 453,104 455,104 │ 00:18:19 verbose #25218 > > │ 456,104 458,104 459,104 461,104 462,104 464,104 465,104 467,104 468,104 │ 00:18:19 verbose #25219 > > │ 470,104 471,104 473,104 474,104 476,104 477,104 479,104 480,104 482,104 │ 00:18:19 verbose #25220 > > │ 483,104 485,104 486,104 488,104 489,104 491,104 492,104 494,104 495,104 │ 00:18:19 verbose #25221 > > │ 497,104 498,104 500,104 501,104 503,104 504,104 506,104 507,104 509,104 │ 00:18:19 verbose #25222 > > │ 510,104 512,104 513,104 515,104 516,104 518,104 519,104 521,104 522,104 │ 00:18:19 verbose #25223 > > │ 524,104 525,104 527,104 528,104 530,104 531,104 533,104 534,104 536,104 │ 00:18:19 verbose #25224 > > │ 537,104 539,104 540,104 542,104 543,104 545,104 546,104 548,104 549,104 │ 00:18:19 verbose #25225 > > │ 551,104 552,104 554,104 555,104 557,104 558,104 560,104 561,104 563,104 │ 00:18:19 verbose #25226 > > │ 564,104 566,104 567,104 569,104 "/> │ 00:18:19 verbose #25227 > > │ <rect x="459" y="227" width="121" height="45" opacity="1" fill="none" │ 00:18:19 verbose #25228 > > │ stroke="#FFFFFF"/> │ 00:18:19 verbose #25229 > > │ <text x="499" y="237" dy="0.76em" text-anchor="start" │ 00:18:19 verbose #25230 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:19 verbose #25231 > > │ fill="#FFFFFF"> │ 00:18:19 verbose #25232 > > │ euler-cromer │ 00:18:19 verbose #25233 > > │ </text> │ 00:18:19 verbose #25234 > > │ <text x="499" y="252" dy="0.76em" text-anchor="start" │ 00:18:19 verbose #25235 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:19 verbose #25236 > > │ fill="#FFFFFF"> │ 00:18:19 verbose #25237 > > │ runge-kutta 4 │ 00:18:19 verbose #25238 > > │ </text> │ 00:18:19 verbose #25239 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:19 verbose #25240 > > │ points="469,242 489,242 "/> │ 00:18:19 verbose #25241 > > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │ 00:18:19 verbose #25242 > > │ points="469,257 489,257 "/> │ 00:18:19 verbose #25243 > > │ </svg> │ 00:18:19 verbose #25244 > > │ │ 00:18:19 verbose #25245 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:19 verbose #25246 > > 00:18:19 verbose #25247 > > ╭─[ 1.11s - stdout ]───────────────────────────────────────────────────────────╮ 00:18:19 verbose #25248 > > │ 00:00:16 debug #40 runtime.execute_with_options_async / { options = { │ 00:18:19 verbose #25249 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:19 verbose #25250 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:19 verbose #25251 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:19 verbose #25252 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:19 verbose #25253 > > │ 00:00:16 verbose #41 > Creating │ 00:18:19 verbose #25254 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/6c2e10892d6afcf0c02 │ 00:18:19 verbose #25255 > > │ bfe44bc49895c6de5037e535b9df0fb226e37177775eb.svg │ 00:18:19 verbose #25256 > > │ 00:00:16 debug #42 runtime.execute_with_options_async / { exit_code = │ 00:18:19 verbose #25257 > > │ 0; output_length = 134 } │ 00:18:19 verbose #25258 > > │ │ 00:18:19 verbose #25259 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:19 verbose #25260 > > 00:18:19 verbose #25261 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:19 verbose #25262 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:19 verbose #25263 > > │ #### wave 1 │ 00:18:19 verbose #25264 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:19 verbose #25265 > > 00:18:19 verbose #25266 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:19 verbose #25267 > > //// test 00:18:19 verbose #25268 > > 00:18:19 verbose #25269 > > inl linear_spring k re (particle_state st1) (particle_state st2) = 00:18:19 verbose #25270 > > inl r1 = st1.pos_vec 00:18:19 verbose #25271 > > inl r2 = st2.pos_vec 00:18:19 verbose #25272 > > inl r21 = r2 ^-^ r1 00:18:19 verbose #25273 > > inl r21mag = magnitude r21 00:18:19 verbose #25274 > > -k * (r21mag - re) *^ r21 ^/ r21mag 00:18:19 verbose #25275 > > 00:18:19 verbose #25276 > > inl fixed_linear_spring k re r1 = 00:18:19 verbose #25277 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:19 verbose #25278 > > linear_spring k re (particle_state { default_particle_state' with pos_vec = 00:18:19 verbose #25279 > > r1 }) 00:18:19 verbose #25280 > > 00:18:19 verbose #25281 > > inl forces_string () = 00:18:19 verbose #25282 > > [[ 00:18:19 verbose #25283 > > ExternalForce (0, fixed_linear_spring 5384 0 (zero_vec ())) 00:18:19 verbose #25284 > > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ())) 00:18:19 verbose #25285 > > ]] ++ ( 00:18:19 verbose #25286 > > listm'.init_series 0 59 1 00:18:19 verbose #25287 > > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0)) 00:18:19 verbose #25288 > > ) 00:18:19 verbose #25289 > > 00:18:19 verbose #25290 > > inl string_update dt = 00:18:19 verbose #25291 > > update_mps (runge_kutta_4 dt) (forces_string ()) 00:18:19 verbose #25292 > > 00:18:19 verbose #25293 > > inl string_initial_overtone n = 00:18:19 verbose #25294 > > inl ball_mass = 0.0008293 * 0.65 / 64 00:18:19 verbose #25295 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:19 verbose #25296 > > listm'.init_series 0.01 0.64 0.01 00:18:19 verbose #25297 > > |> listm.map (fun x => 00:18:19 verbose #25298 > > inl y = 0.005 * sin (conv n * pi * x / 0.65) 00:18:19 verbose #25299 > > particle_state { 00:18:19 verbose #25300 > > default_particle_state' with 00:18:19 verbose #25301 > > mass = ball_mass 00:18:19 verbose #25302 > > pos_vec = x *^ i_hat () ^+^ y *^ j_hat () 00:18:19 verbose #25303 > > velocity = zero_vec () 00:18:19 verbose #25304 > > } 00:18:19 verbose #25305 > > ) 00:18:19 verbose #25306 > > |> multi_particle_state 00:18:19 verbose #25307 > > 00:18:19 verbose #25308 > > inl string_initial_pluck () = 00:18:19 verbose #25309 > > inl ball_mass = 0.0008293 * 0.65 / 64 00:18:19 verbose #25310 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:19 verbose #25311 > > listm'.init_series 0.01 0.64 0.01 00:18:19 verbose #25312 > > |> listm.map (fun x => 00:18:19 verbose #25313 > > inl y = 00:18:19 verbose #25314 > > inl n = if x <= 0.51 then 0 else 0.65 00:18:19 verbose #25315 > > 0.005 / (0.51 - n) * (x - n) 00:18:19 verbose #25316 > > particle_state { 00:18:19 verbose #25317 > > default_particle_state' with 00:18:19 verbose #25318 > > mass = ball_mass 00:18:19 verbose #25319 > > pos_vec = x *^ i_hat () ^+^ y *^ j_hat () 00:18:19 verbose #25320 > > velocity = zero_vec () 00:18:19 verbose #25321 > > } 00:18:19 verbose #25322 > > ) 00:18:19 verbose #25323 > > |> multi_particle_state 00:18:19 verbose #25324 > > 00:18:19 verbose #25325 > > let main () = 00:18:19 verbose #25326 > > inl ~frames = listm'.init_series 0 9 1f64 00:18:19 verbose #25327 > > inl initial_state = string_initial_overtone 3i32 00:18:19 verbose #25328 > > inl frames = 00:18:19 verbose #25329 > > frames 00:18:19 verbose #25330 > > |> listm.map (fun n => 00:18:19 verbose #25331 > > inl (multi_particle_state sts) = 00:18:19 verbose #25332 > > seq.iterate' (string_update 0.000025) initial_state |> fun f => 00:18:19 verbose #25333 > > f 0f64 00:18:19 verbose #25334 > > inl rs = 00:18:19 verbose #25335 > > [[ zero_vec () ]] 00:18:19 verbose #25336 > > ++ (sts |> listm.map (fun (particle_state st) => st.pos_vec)) 00:18:19 verbose #25337 > > ++ [[ 0.65 *^ i_hat () ]] 00:18:19 verbose #25338 > > inl x, y = 00:18:19 verbose #25339 > > rs 00:18:19 verbose #25340 > > |> listm.map (fun r => r.x, r.y) 00:18:19 verbose #25341 > > |> listm'.unzip 00:18:19 verbose #25342 > > inl x = x |> listm'.box |> listm'.to_array' 00:18:19 verbose #25343 > > inl y = y |> listm'.box |> listm'.to_array' 00:18:19 verbose #25344 > > x, y 00:18:19 verbose #25345 > > ) 00:18:19 verbose #25346 > > |> listm'.box |> listm'.to_array' 00:18:19 verbose #25347 > > 00:18:19 verbose #25348 > > inl n = 0i32 00:18:19 verbose #25349 > > 00:18:19 verbose #25350 > > inl x, y = a frames |> am'.index n 00:18:19 verbose #25351 > > 00:18:19 verbose #25352 > > "wave", 00:18:19 verbose #25353 > > "position (m)", 00:18:19 verbose #25354 > > "displacement (m)", 00:18:19 verbose #25355 > > ;[[ 00:18:19 verbose #25356 > > ($'$"{!n}"' : string), x, y 00:18:19 verbose #25357 > > ]] 00:18:19 verbose #25358 > 00:18:19 debug #1372 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f6b18424855979ef25e67e10654bdc2d22c6d1ab98f1cabe81e780b2a5242fe7/main.spi 00:18:19 verbose #25359 > > 00:18:19 verbose #25360 > > ╭─[ 275.48ms - return value ]──────────────────────────────────────────────────╮ 00:18:19 verbose #25361 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:19 verbose #25362 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:19 verbose #25363 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:19 verbose #25364 > > │ stroke="none"/> │ 00:18:19 verbose #25365 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:19 verbose #25366 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:19 verbose #25367 > > │ fill="#FFFFFF"> │ 00:18:19 verbose #25368 > > │ wave │ 00:18:19 verbose #25369 > > │ </text> │ 00:18:19 verbose #25370 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │ 00:18:19 verbose #25371 > > │ y2="75"/> │ 00:18:19 verbose #25372 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:19 verbose #25373 > > │ y2="75"/> │ 00:18:19 verbose #25374 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │ 00:18:19 verbose #25375 > > │ y2="75"/> │ 00:18:19 verbose #25376 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │ 00:18:19 verbose #25377 > > │ y2="75"/> │ 00:18:19 verbose #25378 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │ 00:18:19 verbose #25379 > > │ y2="75"/> │ 00:18:19 verbose #25380 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424" │ 00:18:19 verbose #25381 > > │ x2="100" y2="75"/> │ 00:18:19 verbose #25382 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424" │ 00:18:19 verbose #25383 > > │ x2="108" y2="75"/> │ 00:18:19 verbose #25384 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424" │ 00:18:19 verbose #25385 > > │ x2="116" y2="75"/> │ 00:18:19 verbose #25386 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424" │ 00:18:19 verbose #25387 > > │ x2="123" y2="75"/> │ 00:18:19 verbose #25388 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424" │ 00:18:19 verbose #25389 > > │ x2="131" y2="75"/> │ 00:18:19 verbose #25390 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:19 verbose #25391 > > │ x2="139" y2="75"/> │ 00:18:19 verbose #25392 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424" │ 00:18:19 verbose #25393 > > │ x2="146" y2="75"/> │ 00:18:19 verbose #25394 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="154" y1="424" │ 00:18:19 verbose #25395 > > │ x2="154" y2="75"/> │ 00:18:19 verbose #25396 > > │ <line opacity="1" stroke="#32...ne fill="none" opacity="1" stroke="#FFFFFF" │ 00:18:19 verbose #25397 > > │ stroke-width="1" points="585,250 590,250 "/> │ 00:18:19 verbose #25398 > > │ <text x="617" y="184" dy="0.5ex" text-anchor="end" font-family="sans-serif" │ 00:18:19 verbose #25399 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:19 verbose #25400 > > │ 0.0 │ 00:18:19 verbose #25401 > > │ </text> │ 00:18:19 verbose #25402 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:19 verbose #25403 > > │ points="585,184 590,184 "/> │ 00:18:19 verbose #25404 > > │ <text x="617" y="118" dy="0.5ex" text-anchor="end" font-family="sans-serif" │ 00:18:19 verbose #25405 > > │ font-size="9.67741935483871" opacity="1" fill="#FFFFFF"> │ 00:18:19 verbose #25406 > > │ 0.0 │ 00:18:19 verbose #25407 > > │ </text> │ 00:18:19 verbose #25408 > > │ <polyline fill="none" opacity="1" stroke="#FFFFFF" stroke-width="1" │ 00:18:19 verbose #25409 > > │ points="585,118 590,118 "/> │ 00:18:19 verbose #25410 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:19 verbose #25411 > > │ points="69,250 77,226 85,203 93,181 100,160 108,141 116,124 123,110 131,99 │ 00:18:19 verbose #25412 > > │ 139,91 146,87 154,85 162,88 169,93 177,102 185,115 192,129 200,147 208,167 │ 00:18:19 verbose #25413 > > │ 215,188 223,211 231,234 238,258 246,282 254,305 261,327 269,347 277,365 │ 00:18:19 verbose #25414 > > │ 284,381 292,394 300,404 307,411 315,415 323,415 331,411 338,404 346,394 │ 00:18:19 verbose #25415 > > │ 354,381 361,365 369,347 377,327 384,305 392,282 400,258 407,234 415,211 │ 00:18:19 verbose #25416 > > │ 423,188 430,167 438,147 446,129 453,115 461,102 469,93 476,88 484,85 492,87 │ 00:18:19 verbose #25417 > > │ 499,91 507,99 515,110 522,124 530,141 538,160 545,181 553,203 561,226 │ 00:18:19 verbose #25418 > > │ 569,250 "/> │ 00:18:19 verbose #25419 > > │ <rect x="525" y="235" width="55" height="30" opacity="1" fill="none" │ 00:18:19 verbose #25420 > > │ stroke="#FFFFFF"/> │ 00:18:19 verbose #25421 > > │ <text x="565" y="245" dy="0.76em" text-anchor="start" │ 00:18:19 verbose #25422 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:19 verbose #25423 > > │ fill="#FFFFFF"> │ 00:18:19 verbose #25424 > > │ 0 │ 00:18:19 verbose #25425 > > │ </text> │ 00:18:19 verbose #25426 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:19 verbose #25427 > > │ points="535,250 555,250 "/> │ 00:18:19 verbose #25428 > > │ </svg> │ 00:18:19 verbose #25429 > > │ │ 00:18:19 verbose #25430 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:19 verbose #25431 > > 00:18:19 verbose #25432 > > ╭─[ 279.51ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:19 verbose #25433 > > │ 00:00:16 debug #43 runtime.execute_with_options_async / { options = { │ 00:18:19 verbose #25434 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:19 verbose #25435 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:19 verbose #25436 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:19 verbose #25437 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:19 verbose #25438 > > │ 00:00:16 verbose #44 > Creating │ 00:18:19 verbose #25439 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/c7418df0ce04ccaab7c │ 00:18:19 verbose #25440 > > │ 4d85e07df47a9669ac0ab4f1d50ec3d2fa160947066c1.svg │ 00:18:19 verbose #25441 > > │ 00:00:16 debug #45 runtime.execute_with_options_async / { exit_code = │ 00:18:19 verbose #25442 > > │ 0; output_length = 134 } │ 00:18:19 verbose #25443 > > │ │ 00:18:19 verbose #25444 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:19 verbose #25445 > > 00:18:19 verbose #25446 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:19 verbose #25447 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:19 verbose #25448 > > │ #### system kinetic energy versus time 2 │ 00:18:19 verbose #25449 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:19 verbose #25450 > > 00:18:19 verbose #25451 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:19 verbose #25452 > > //// test 00:18:19 verbose #25453 > > 00:18:19 verbose #25454 > > inl central_force f (particle_state st1) (particle_state st2) = 00:18:19 verbose #25455 > > inl r1 = st1.pos_vec 00:18:19 verbose #25456 > > inl r2 = st2.pos_vec 00:18:19 verbose #25457 > > inl r21 = r2 ^-^ r1 00:18:19 verbose #25458 > > inl r21mag = magnitude r21 00:18:19 verbose #25459 > > f r21mag *^ r21 ^/ r21mag 00:18:19 verbose #25460 > > 00:18:19 verbose #25461 > > inl billiard_force k re = 00:18:19 verbose #25462 > > inl f r = 00:18:19 verbose #25463 > > if r >= re 00:18:19 verbose #25464 > > then 0 00:18:19 verbose #25465 > > else -k * (r - re) 00:18:19 verbose #25466 > > central_force f 00:18:19 verbose #25467 > > 00:18:19 verbose #25468 > > type force_vector = vec 00:18:19 verbose #25469 > > type two_body_force = particle_state -> particle_state -> force_vector 00:18:19 verbose #25470 > > 00:18:19 verbose #25471 > > union force t = 00:18:19 verbose #25472 > > | ExternalForce : t * one_body_force 00:18:19 verbose #25473 > > | InternalForce : t * t * two_body_force 00:18:19 verbose #25474 > > 00:18:19 verbose #25475 > > nominal multi_particle_state = stream.stream particle_state 00:18:19 verbose #25476 > > 00:18:19 verbose #25477 > > nominal d_multi_particle_state = stream.stream d_particle_state 00:18:19 verbose #25478 > > 00:18:19 verbose #25479 > > inl force_on n s force = 00:18:19 verbose #25480 > > match force with 00:18:19 verbose #25481 > > | ExternalForce (n0, f_one_body) => 00:18:19 verbose #25482 > > if n = n0 00:18:19 verbose #25483 > > then f_one_body 00:18:19 verbose #25484 > > else fun _ => zero_vec () 00:18:19 verbose #25485 > > | InternalForce (n0, n1, f_two_body) => 00:18:19 verbose #25486 > > if n = n0 00:18:19 verbose #25487 > > then s |> stream.try_item n1 |> optionm.map f_two_body 00:18:19 verbose #25488 > > elif n = n1 00:18:19 verbose #25489 > > then s |> stream.try_item n0 |> optionm.map f_two_body 00:18:19 verbose #25490 > > else None 00:18:19 verbose #25491 > > |> optionm'.default_value (fun _ => zero_vec ()) 00:18:19 verbose #25492 > > 00:18:19 verbose #25493 > > inl forces_on n (multi_particle_state sts) fs = 00:18:19 verbose #25494 > > fs 00:18:19 verbose #25495 > > |> listm.map (force_on n sts) 00:18:19 verbose #25496 > > 00:18:19 verbose #25497 > > inl newton_second_mps fs ((multi_particle_state sts) as mpst) = 00:18:19 verbose #25498 > > inl deriv (n, st) = 00:18:19 verbose #25499 > > newton_second_ps (forces_on n mpst fs) st 00:18:19 verbose #25500 > > sts |> stream.indexed |> stream.map deriv |> d_multi_particle_state 00:18:19 verbose #25501 > > 00:18:19 verbose #25502 > > instance (+++) d_multi_particle_state = 00:18:19 verbose #25503 > > fun (d_multi_particle_state dsts1) (d_multi_particle_state dsts2) => 00:18:19 verbose #25504 > > (dsts1, dsts2) 00:18:19 verbose #25505 > > ||> stream.zip_with (+++) 00:18:19 verbose #25506 > > |> d_multi_particle_state 00:18:19 verbose #25507 > > 00:18:19 verbose #25508 > > instance scale d_multi_particle_state = fun w (d_multi_particle_state dsts) => 00:18:19 verbose #25509 > > dsts 00:18:19 verbose #25510 > > |> stream.map (scale w) 00:18:19 verbose #25511 > > |> d_multi_particle_state 00:18:19 verbose #25512 > > 00:18:19 verbose #25513 > > instance shift multi_particle_state = fun dt dsts (multi_particle_state sts) => 00:18:19 verbose #25514 > > inl (d_multi_particle_state dsts) = 00:18:19 verbose #25515 > > real 00:18:19 verbose #25516 > > match dsts with 00:18:19 verbose #25517 > > | d_multi_particle_state _ => dsts 00:18:19 verbose #25518 > > (dsts, sts) 00:18:19 verbose #25519 > > ||> stream.zip_with (shift dt) 00:18:19 verbose #25520 > > |> stream.memoize 00:18:19 verbose #25521 > > |> fun x => x () 00:18:19 verbose #25522 > > |> multi_particle_state 00:18:19 verbose #25523 > > 00:18:19 verbose #25524 > > inl euler_cromer_mps dt : numerical_method multi_particle_state 00:18:19 verbose #25525 > > d_multi_particle_state = 00:18:19 verbose #25526 > > fun deriv ((multi_particle_state sts0) as mpst0) => 00:18:19 verbose #25527 > > inl (multi_particle_state sts1) = euler dt deriv mpst0 00:18:19 verbose #25528 > > (sts0, sts1) 00:18:19 verbose #25529 > > ||> stream.zip 00:18:19 verbose #25530 > > |> stream.map (fun ((particle_state st0), (particle_state st1)) => 00:18:19 verbose #25531 > > particle_state { 00:18:19 verbose #25532 > > st1 with 00:18:19 verbose #25533 > > pos_vec = st0.pos_vec ^+^ st1.velocity ^* dt 00:18:19 verbose #25534 > > } 00:18:19 verbose #25535 > > ) 00:18:19 verbose #25536 > > |> multi_particle_state 00:18:19 verbose #25537 > > 00:18:19 verbose #25538 > > inl update_mps (method : numerical_method multi_particle_state 00:18:19 verbose #25539 > > d_multi_particle_state) = 00:18:19 verbose #25540 > > newton_second_mps >> method 00:18:19 verbose #25541 > > 00:18:19 verbose #25542 > > inl states_mps (method : numerical_method multi_particle_state 00:18:19 verbose #25543 > > d_multi_particle_state) = 00:18:19 verbose #25544 > > newton_second_mps 00:18:19 verbose #25545 > > >> method 00:18:19 verbose #25546 > > >> (fun x (multi_particle_state y) => 00:18:19 verbose #25547 > > y 00:18:19 verbose #25548 > > |> stream.memoize 00:18:19 verbose #25549 > > |> (fun x => x ()) 00:18:19 verbose #25550 > > |> multi_particle_state |> x 00:18:19 verbose #25551 > > ) 00:18:19 verbose #25552 > > // >> stream.iterate 00:18:19 verbose #25553 > > >> seq.iterate' 00:18:19 verbose #25554 > > 00:18:19 verbose #25555 > > inl kinetic_energy (particle_state st) = 00:18:19 verbose #25556 > > inl m = st.mass 00:18:19 verbose #25557 > > inl v = magnitude st.velocity 00:18:19 verbose #25558 > > 0.5 * m * v ** 2 00:18:19 verbose #25559 > > 00:18:19 verbose #25560 > > inl system_ke (multi_particle_state sts) = 00:18:19 verbose #25561 > > sts 00:18:19 verbose #25562 > > |> stream.map kinetic_energy 00:18:19 verbose #25563 > > |> stream.sum 00:18:19 verbose #25564 > > 00:18:19 verbose #25565 > > inl linear_spring_pe k re (particle_state st1) (particle_state st2) = 00:18:19 verbose #25566 > > inl r1 = st1.pos_vec 00:18:19 verbose #25567 > > inl r2 = st2.pos_vec 00:18:19 verbose #25568 > > inl r21 = r2 ^-^ r1 00:18:19 verbose #25569 > > inl r21mag = magnitude r21 00:18:19 verbose #25570 > > k * (r21mag - re) ** 2 / 2 00:18:19 verbose #25571 > > 00:18:19 verbose #25572 > > inl earth_surface_gravity_pe (particle_state st) = 00:18:19 verbose #25573 > > inl g = 9.80665 00:18:19 verbose #25574 > > inl m = st.mass 00:18:19 verbose #25575 > > inl z = st.pos_vec.z 00:18:19 verbose #25576 > > m * g * z 00:18:19 verbose #25577 > > 00:18:19 verbose #25578 > > inl ball_radius () = 0.03 00:18:19 verbose #25579 > > 00:18:19 verbose #25580 > > inl billiard_forces k = 00:18:19 verbose #25581 > > [[ InternalForce (0i32, 1, billiard_force k (2 * ball_radius ())) ]] 00:18:19 verbose #25582 > > 00:18:19 verbose #25583 > > inl billiard_initial () = 00:18:19 verbose #25584 > > inl ball_mass = 0.160 00:18:19 verbose #25585 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:19 verbose #25586 > > [[ 00:18:19 verbose #25587 > > particle_state { 00:18:19 verbose #25588 > > default_particle_state' with 00:18:19 verbose #25589 > > mass = ball_mass 00:18:19 verbose #25590 > > pos_vec = zero_vec () 00:18:19 verbose #25591 > > velocity = 0.2 *^ i_hat () 00:18:19 verbose #25592 > > } 00:18:19 verbose #25593 > > particle_state { 00:18:19 verbose #25594 > > default_particle_state' with 00:18:19 verbose #25595 > > mass = ball_mass 00:18:19 verbose #25596 > > pos_vec = i_hat () ^+^ 0.02 *^ j_hat () 00:18:19 verbose #25597 > > velocity = zero_vec () 00:18:19 verbose #25598 > > } 00:18:19 verbose #25599 > > ]] 00:18:19 verbose #25600 > > |> stream.from_list 00:18:19 verbose #25601 > > |> multi_particle_state 00:18:19 verbose #25602 > > 00:18:19 verbose #25603 > > inl billiard_states ~n_method k dt = 00:18:19 verbose #25604 > > states_mps (n_method dt) (billiard_forces k) (billiard_initial ()) 00:18:19 verbose #25605 > > 00:18:19 verbose #25606 > > inl billiard_states_finite n_method k dt = 00:18:19 verbose #25607 > > billiard_states n_method k dt 00:18:19 verbose #25608 > > >> Some 00:18:19 verbose #25609 > > |> seq.take_while_ (fun (multi_particle_state mpst) (_ : i32) => 00:18:19 verbose #25610 > > match mpst |> stream.try_item 0i32 with 00:18:19 verbose #25611 > > | Some st => 00:18:19 verbose #25612 > > st.time <= 10 00:18:19 verbose #25613 > > | None => false 00:18:19 verbose #25614 > > ) 00:18:19 verbose #25615 > > 00:18:19 verbose #25616 > > inl momentum (particle_state st) = 00:18:19 verbose #25617 > > inl m = st.mass 00:18:19 verbose #25618 > > inl v = st.velocity 00:18:19 verbose #25619 > > m *^ v 00:18:19 verbose #25620 > > 00:18:19 verbose #25621 > > inl system_p (multi_particle_state sts) = 00:18:19 verbose #25622 > > sts 00:18:19 verbose #25623 > > |> stream.map momentum 00:18:19 verbose #25624 > > |> stream.fold (^+^) (zero_vec ()) 00:18:19 verbose #25625 > > 00:18:19 verbose #25626 > > inl time_ke_ec_x, time_ke_ec_y = 00:18:19 verbose #25627 > > billiard_states_finite euler_cromer_mps 30 0.03 00:18:19 verbose #25628 > > |> listm.map (fun (multi_particle_state mpst) => 00:18:19 verbose #25629 > > mpst |> stream.try_item 0i32 00:18:19 verbose #25630 > > |> optionm.map (fun st => 00:18:19 verbose #25631 > > st.time, system_ke (multi_particle_state mpst) 00:18:19 verbose #25632 > > ) 00:18:19 verbose #25633 > > ) 00:18:19 verbose #25634 > > // |> stream.to_list 00:18:19 verbose #25635 > > |> listm'.choose id 00:18:19 verbose #25636 > > |> listm'.unzip 00:18:19 verbose #25637 > > 00:18:19 verbose #25638 > > inl time_ke_rk4_x, time_ke_rk4_y = 00:18:19 verbose #25639 > > billiard_states_finite runge_kutta_4 30 0.03 00:18:19 verbose #25640 > > |> listm.map (fun (multi_particle_state mpst) => 00:18:19 verbose #25641 > > mpst |> stream.try_item 0i32 00:18:19 verbose #25642 > > |> optionm.map (fun st => 00:18:19 verbose #25643 > > st.time, system_ke (multi_particle_state mpst) 00:18:19 verbose #25644 > > ) 00:18:19 verbose #25645 > > ) 00:18:19 verbose #25646 > > // |> stream.to_list 00:18:19 verbose #25647 > > |> listm'.choose id 00:18:19 verbose #25648 > > |> listm'.unzip 00:18:19 verbose #25649 > > 00:18:19 verbose #25650 > > inl time_ke_ec_x = time_ke_ec_x |> listm'.box |> listm'.to_array' 00:18:19 verbose #25651 > > inl time_ke_ec_y = time_ke_ec_y |> listm'.box |> listm'.to_array' 00:18:19 verbose #25652 > > 00:18:19 verbose #25653 > > inl time_ke_rk4_x = time_ke_rk4_x |> listm'.box |> listm'.to_array' 00:18:19 verbose #25654 > > inl time_ke_rk4_y = time_ke_rk4_y |> listm'.box |> listm'.to_array' 00:18:19 verbose #25655 > > 00:18:19 verbose #25656 > > "system kinetic energy versus time", 00:18:19 verbose #25657 > > "time (s)", 00:18:19 verbose #25658 > > "system kinetic energy (j)", 00:18:19 verbose #25659 > > ;[[ 00:18:19 verbose #25660 > > "euler-cromer", time_ke_ec_x, time_ke_ec_y 00:18:19 verbose #25661 > > "runge-kutta 4", time_ke_rk4_x, time_ke_rk4_y 00:18:19 verbose #25662 > > ]] 00:18:19 verbose #25663 > 00:18:19 debug #1373 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ceffa832d897ffa85ad4257e1162e9703894f6d15d021ab9e6d78e4f64aa7453/main.spi 00:18:21 verbose #25664 > > 00:18:21 verbose #25665 > > ╭─[ 1.42s - return value ]─────────────────────────────────────────────────────╮ 00:18:21 verbose #25666 > > │ <svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:21 verbose #25667 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:21 verbose #25668 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:21 verbose #25669 > > │ stroke="none"/> │ 00:18:21 verbose #25670 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:21 verbose #25671 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:21 verbose #25672 > > │ fill="#FFFFFF"> │ 00:18:21 verbose #25673 > > │ system kinetic energy versus time │ 00:18:21 verbose #25674 > > │ </text> │ 00:18:21 verbose #25675 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="59" y1="424" x2="59" │ 00:18:21 verbose #25676 > > │ y2="75"/> │ 00:18:21 verbose #25677 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:21 verbose #25678 > > │ y2="75"/> │ 00:18:21 verbose #25679 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="79" y1="424" x2="79" │ 00:18:21 verbose #25680 > > │ y2="75"/> │ 00:18:21 verbose #25681 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="89" y1="424" x2="89" │ 00:18:21 verbose #25682 > > │ y2="75"/> │ 00:18:21 verbose #25683 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="99" y1="424" x2="99" │ 00:18:21 verbose #25684 > > │ y2="75"/> │ 00:18:21 verbose #25685 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="109" y1="424" │ 00:18:21 verbose #25686 > > │ x2="109" y2="75"/> │ 00:18:21 verbose #25687 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="119" y1="424" │ 00:18:21 verbose #25688 > > │ x2="119" y2="75"/> │ 00:18:21 verbose #25689 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="129" y1="424" │ 00:18:21 verbose #25690 > > │ x2="129" y2="75"/> │ 00:18:21 verbose #25691 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:21 verbose #25692 > > │ x2="139" y2="75"/> │ 00:18:21 verbose #25693 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="149" y1="424" │ 00:18:21 verbose #25694 > > │ x2="149" y2="75"/> │ 00:18:21 verbose #25695 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="159" y1="424" │ 00:18:21 verbose #25696 > > │ x2="159" y2="75"/> │ 00:18:21 verbose #25697 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="169" y1="424" │ 00:18:21 verbose #25698 > > │ x2="169" y2="75"/> │ 00:18:21 verbose #25699 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="179" y1="424" │ 00:18:21 verbose #25700 > > │ x2="179" y2="75"/> │ 00:18:21 verbose #25701 > > │ ...,104 404,104 405,104 407,104 408,104 410,104 411,104 413,104 414,104 │ 00:18:21 verbose #25702 > > │ 416,104 417,104 419,104 420,104 422,104 423,104 425,104 426,104 428,104 │ 00:18:21 verbose #25703 > > │ 429,104 431,104 432,104 434,104 435,104 437,104 438,104 440,104 441,104 │ 00:18:21 verbose #25704 > > │ 443,104 444,104 446,104 447,104 449,104 450,104 452,104 453,104 455,104 │ 00:18:21 verbose #25705 > > │ 456,104 458,104 459,104 461,104 462,104 464,104 465,104 467,104 468,104 │ 00:18:21 verbose #25706 > > │ 470,104 471,104 473,104 474,104 476,104 477,104 479,104 480,104 482,104 │ 00:18:21 verbose #25707 > > │ 483,104 485,104 486,104 488,104 489,104 491,104 492,104 494,104 495,104 │ 00:18:21 verbose #25708 > > │ 497,104 498,104 500,104 501,104 503,104 504,104 506,104 507,104 509,104 │ 00:18:21 verbose #25709 > > │ 510,104 512,104 513,104 515,104 516,104 518,104 519,104 521,104 522,104 │ 00:18:21 verbose #25710 > > │ 524,104 525,104 527,104 528,104 530,104 531,104 533,104 534,104 536,104 │ 00:18:21 verbose #25711 > > │ 537,104 539,104 540,104 542,104 543,104 545,104 546,104 548,104 549,104 │ 00:18:21 verbose #25712 > > │ 551,104 552,104 554,104 555,104 557,104 558,104 560,104 561,104 563,104 │ 00:18:21 verbose #25713 > > │ 564,104 566,104 567,104 569,104 "/> │ 00:18:21 verbose #25714 > > │ <rect x="459" y="227" width="121" height="45" opacity="1" fill="none" │ 00:18:21 verbose #25715 > > │ stroke="#FFFFFF"/> │ 00:18:21 verbose #25716 > > │ <text x="499" y="237" dy="0.76em" text-anchor="start" │ 00:18:21 verbose #25717 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:21 verbose #25718 > > │ fill="#FFFFFF"> │ 00:18:21 verbose #25719 > > │ euler-cromer │ 00:18:21 verbose #25720 > > │ </text> │ 00:18:21 verbose #25721 > > │ <text x="499" y="252" dy="0.76em" text-anchor="start" │ 00:18:21 verbose #25722 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:21 verbose #25723 > > │ fill="#FFFFFF"> │ 00:18:21 verbose #25724 > > │ runge-kutta 4 │ 00:18:21 verbose #25725 > > │ </text> │ 00:18:21 verbose #25726 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:21 verbose #25727 > > │ points="469,242 489,242 "/> │ 00:18:21 verbose #25728 > > │ <polyline fill="none" opacity="1" stroke="#0000FF" stroke-width="1" │ 00:18:21 verbose #25729 > > │ points="469,257 489,257 "/> │ 00:18:21 verbose #25730 > > │ </svg> │ 00:18:21 verbose #25731 > > │ │ 00:18:21 verbose #25732 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:21 verbose #25733 > > 00:18:21 verbose #25734 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:21 verbose #25735 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:21 verbose #25736 > > │ #### wave 2 │ 00:18:21 verbose #25737 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:21 verbose #25738 > > 00:18:21 verbose #25739 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:21 verbose #25740 > > //// test 00:18:21 verbose #25741 > > 00:18:21 verbose #25742 > > inl linear_spring k re (particle_state st1) (particle_state st2) = 00:18:21 verbose #25743 > > inl r1 = st1.pos_vec 00:18:21 verbose #25744 > > inl r2 = st2.pos_vec 00:18:21 verbose #25745 > > inl r21 = r2 ^-^ r1 00:18:21 verbose #25746 > > inl r21mag = magnitude r21 00:18:21 verbose #25747 > > -k * (r21mag - re) *^ r21 ^/ r21mag 00:18:21 verbose #25748 > > 00:18:21 verbose #25749 > > inl fixed_linear_spring k re r1 = 00:18:21 verbose #25750 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:21 verbose #25751 > > linear_spring k re (particle_state { default_particle_state' with pos_vec = 00:18:21 verbose #25752 > > r1 }) 00:18:21 verbose #25753 > > 00:18:21 verbose #25754 > > inl forces_string () = 00:18:21 verbose #25755 > > [[ 00:18:21 verbose #25756 > > ExternalForce (0i32, fixed_linear_spring 5384 0 (zero_vec ())) 00:18:21 verbose #25757 > > ExternalForce (63, fixed_linear_spring 5384 0 (0.65 *^ i_hat ())) 00:18:21 verbose #25758 > > ]] ++ ( 00:18:21 verbose #25759 > > listm'.init_series 0 59 1 00:18:21 verbose #25760 > > |> listm.map (fun n => InternalForce (n, n + 1, linear_spring 5384 0)) 00:18:21 verbose #25761 > > ) 00:18:21 verbose #25762 > > 00:18:21 verbose #25763 > > inl string_update dt = 00:18:21 verbose #25764 > > update_mps (join runge_kutta_4 dt) (join forces_string ()) 00:18:21 verbose #25765 > > 00:18:21 verbose #25766 > > inl string_initial_overtone n = 00:18:21 verbose #25767 > > inl ball_mass = 0.0008293 * 0.65 / 64 00:18:21 verbose #25768 > > inl (particle_state default_particle_state') = default_particle_state () 00:18:21 verbose #25769 > > listm'.init_series 0.01 0.64 0.01 00:18:21 verbose #25770 > > |> listm.map (fun x => 00:18:21 verbose #25771 > > inl y = 0.005 * sin (conv n * pi * x / 0.65) 00:18:21 verbose #25772 > > particle_state { 00:18:21 verbose #25773 > > default_particle_state' with 00:18:21 verbose #25774 > > mass = ball_mass 00:18:21 verbose #25775 > > pos_vec = x *^ i_hat () ^+^ y *^ j_hat () 00:18:21 verbose #25776 > > velocity = zero_vec () 00:18:21 verbose #25777 > > } 00:18:21 verbose #25778 > > ) 00:18:21 verbose #25779 > > |> stream.from_list 00:18:21 verbose #25780 > > |> multi_particle_state 00:18:21 verbose #25781 > > 00:18:21 verbose #25782 > > let main () = 00:18:21 verbose #25783 > > inl ~frames = listm'.init_series 0 65 1f64 |> stream.from_list 00:18:21 verbose #25784 > > inl ~initial_state = string_initial_overtone 3i32 00:18:21 verbose #25785 > > inl frames = 00:18:21 verbose #25786 > > frames 00:18:21 verbose #25787 > > |> stream.map (fun n => 00:18:21 verbose #25788 > > inl (multi_particle_state sts) = 00:18:21 verbose #25789 > > stream.iterate (string_update 0.000025) initial_state |> 00:18:21 verbose #25790 > > stream.item n 00:18:21 verbose #25791 > > inl x, y = 00:18:21 verbose #25792 > > [[ zero_vec () ]] 00:18:21 verbose #25793 > > ++ (sts |> stream.map (fun (particle_state st) => st.pos_vec) |> 00:18:21 verbose #25794 > > stream.to_list) 00:18:21 verbose #25795 > > ++ [[ 0.65 *^ i_hat () ]] 00:18:21 verbose #25796 > > |> listm.map (fun r => r.x, r.y) 00:18:21 verbose #25797 > > |> stream.from_list 00:18:21 verbose #25798 > > |> stream.unzip 00:18:21 verbose #25799 > > inl x = x |> stream.to_list |> listm'.box |> listm'.to_array' 00:18:21 verbose #25800 > > inl y = y |> stream.to_list |> listm'.box |> listm'.to_array' 00:18:21 verbose #25801 > > x, y 00:18:21 verbose #25802 > > ) 00:18:21 verbose #25803 > > 00:18:21 verbose #25804 > > inl plots = 00:18:21 verbose #25805 > > frames 00:18:21 verbose #25806 > > |> stream.indexed 00:18:21 verbose #25807 > > |> stream.map (fun ((n : i32), (x, y)) => 00:18:21 verbose #25808 > > "wave", 00:18:21 verbose #25809 > > "position (m)", 00:18:21 verbose #25810 > > "displacement (m)", 00:18:21 verbose #25811 > > ;[[ 00:18:21 verbose #25812 > > ($'$"{!n}"' : string), x, y 00:18:21 verbose #25813 > > ]] 00:18:21 verbose #25814 > > ) 00:18:21 verbose #25815 > > 00:18:21 verbose #25816 > > plots |> stream.to_list |> listm'.box |> listm'.to_array' 00:18:21 verbose #25817 > 00:18:20 debug #1374 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/df2d611af59096748751c665fdf6a3750681db0aebac8e665f953d6137d4aa08/main.spi 00:18:26 verbose #25818 > > 00:18:26 verbose #25819 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:26 verbose #25820 > > ╭─[ 5.05s - diagnostics ]──────────────────────────────────────────────────────╮ 00:18:26 verbose #25821 > > │ input.fsx (22,25)-(1084,1085) typecheck warning Incomplete pattern matches │ 00:18:26 verbose #25822 > > │ on this expression. For example, the value 'UH7_1 (_, _, _, _)' may indicate │ 00:18:26 verbose #25823 > > │ a case not covered by the pattern(s). │ 00:18:26 verbose #25824 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:26 verbose #25825 > > 00:18:26 verbose #25826 > > ╭─[ 5.31s - return value ]─────────────────────────────────────────────────────╮ 00:18:26 verbose #25827 > > │ <table><thead><tr><th><i>index</i></th><th>value</th></tr></thead><tbody><tr │ 00:18:26 verbose #25828 > > │ ><td>0</td><td><svg width="640" height="480" viewBox="0 0 640 480" │ 00:18:26 verbose #25829 > > │ xmlns="http://www.w3.org/2000/svg"> │ 00:18:26 verbose #25830 > > │ <rect x="0" y="0" width="640" height="480" opacity="1" fill="#141414" │ 00:18:26 verbose #25831 > > │ stroke="none"/> │ 00:18:26 verbose #25832 > > │ <text x="320" y="10" dy="0.76em" text-anchor="middle" │ 00:18:26 verbose #25833 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:26 verbose #25834 > > │ fill="#FFFFFF"> │ 00:18:26 verbose #25835 > > │ wave │ 00:18:26 verbose #25836 > > │ </text> │ 00:18:26 verbose #25837 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="62" y1="424" x2="62" │ 00:18:26 verbose #25838 > > │ y2="75"/> │ 00:18:26 verbose #25839 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="69" y1="424" x2="69" │ 00:18:26 verbose #25840 > > │ y2="75"/> │ 00:18:26 verbose #25841 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="77" y1="424" x2="77" │ 00:18:26 verbose #25842 > > │ y2="75"/> │ 00:18:26 verbose #25843 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="85" y1="424" x2="85" │ 00:18:26 verbose #25844 > > │ y2="75"/> │ 00:18:26 verbose #25845 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="93" y1="424" x2="93" │ 00:18:26 verbose #25846 > > │ y2="75"/> │ 00:18:26 verbose #25847 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="100" y1="424" │ 00:18:26 verbose #25848 > > │ x2="100" y2="75"/> │ 00:18:26 verbose #25849 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="108" y1="424" │ 00:18:26 verbose #25850 > > │ x2="108" y2="75"/> │ 00:18:26 verbose #25851 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="116" y1="424" │ 00:18:26 verbose #25852 > > │ x2="116" y2="75"/> │ 00:18:26 verbose #25853 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="123" y1="424" │ 00:18:26 verbose #25854 > > │ x2="123" y2="75"/> │ 00:18:26 verbose #25855 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="131" y1="424" │ 00:18:26 verbose #25856 > > │ x2="131" y2="75"/> │ 00:18:26 verbose #25857 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="139" y1="424" │ 00:18:26 verbose #25858 > > │ x2="139" y2="75"/> │ 00:18:26 verbose #25859 > > │ <line opacity="1" stroke="#323232" stroke-width="1" x1="146" y1="424" │ 00:18:26 verbose #25860 > > │ x2="146" y2="75"/> │ 00:18:26 verbose #25861 > > │ <line opacity="1" stroke="#... stroke-width="1" points="585,128 590,128 "/> │ 00:18:26 verbose #25862 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:26 verbose #25863 > > │ points="69,363 77,322 85,283 92,246 100,211 107,179 115,151 122,127 130,108 │ 00:18:26 verbose #25864 > > │ 138,95 145,87 153,85 160,89 168,99 175,114 183,134 190,159 198,188 205,220 │ 00:18:26 verbose #25865 > > │ 212,253 218,284 223,311 226,329 227,337 226,337 224,333 223,334 223,344 │ 00:18:26 verbose #25866 > > │ 224,357 225,367 224,370 223,374 224,383 224,393 224,397 224,400 224,406 │ 00:18:26 verbose #25867 > > │ 224,411 224,412 224,413 224,415 224,413 224,411 224,409 224,405 224,400 │ 00:18:26 verbose #25868 > > │ 224,395 224,388 224,382 224,375 224,367 224,360 224,353 224,346 224,339 │ 00:18:26 verbose #25869 > > │ 224,332 224,327 224,322 224,318 224,314 224,312 224,311 539,239 546,279 │ 00:18:26 verbose #25870 > > │ 569,403 561,363 "/> │ 00:18:26 verbose #25871 > > │ <rect x="519" y="235" width="61" height="30" opacity="1" fill="none" │ 00:18:26 verbose #25872 > > │ stroke="#FFFFFF"/> │ 00:18:26 verbose #25873 > > │ <text x="559" y="245" dy="0.76em" text-anchor="start" │ 00:18:26 verbose #25874 > > │ font-family="sans-serif" font-size="9.67741935483871" opacity="1" │ 00:18:26 verbose #25875 > > │ fill="#FFFFFF"> │ 00:18:26 verbose #25876 > > │ 65 │ 00:18:26 verbose #25877 > > │ </text> │ 00:18:26 verbose #25878 > > │ <polyline fill="none" opacity="1" stroke="#FF0000" stroke-width="1" │ 00:18:26 verbose #25879 > > │ points="529,250 549,250 "/> │ 00:18:26 verbose #25880 > > │ </svg> │ 00:18:26 verbose #25881 > > │ </td></tr></tbody></table><style> │ 00:18:26 verbose #25882 > > │ .dni-code-hint { │ 00:18:26 verbose #25883 > > │ font-style: italic; │ 00:18:26 verbose #25884 > > │ overflow: hidden; │ 00:18:26 verbose #25885 > > │ white-space: nowrap; │ 00:18:26 verbose #25886 > > │ } │ 00:18:26 verbose #25887 > > │ .dni-treeview { │ 00:18:26 verbose #25888 > > │ white-space: nowrap; │ 00:18:26 verbose #25889 > > │ } │ 00:18:26 verbose #25890 > > │ .dni-treeview td { │ 00:18:26 verbose #25891 > > │ vertical-align: top; │ 00:18:26 verbose #25892 > > │ text-align: start; │ 00:18:26 verbose #25893 > > │ } │ 00:18:26 verbose #25894 > > │ details.dni-treeview { │ 00:18:26 verbose #25895 > > │ padding-left: 1em; │ 00:18:26 verbose #25896 > > │ } │ 00:18:26 verbose #25897 > > │ table td { │ 00:18:26 verbose #25898 > > │ text-align: start; │ 00:18:26 verbose #25899 > > │ } │ 00:18:26 verbose #25900 > > │ table tr { │ 00:18:26 verbose #25901 > > │ vertical-align: top; │ 00:18:26 verbose #25902 > > │ margin: 0em 0px; │ 00:18:26 verbose #25903 > > │ } │ 00:18:26 verbose #25904 > > │ table tr td pre │ 00:18:26 verbose #25905 > > │ { │ 00:18:26 verbose #25906 > > │ vertical-align: top !important; │ 00:18:26 verbose #25907 > > │ margin: 0em 0px !important; │ 00:18:26 verbose #25908 > > │ } │ 00:18:26 verbose #25909 > > │ table th { │ 00:18:26 verbose #25910 > > │ text-align: start; │ 00:18:26 verbose #25911 > > │ } │ 00:18:26 verbose #25912 > > │ </style> │ 00:18:26 verbose #25913 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:26 verbose #25914 > > 00:18:26 verbose #25915 > > ╭─[ 5.33s - stdout ]───────────────────────────────────────────────────────────╮ 00:18:26 verbose #25916 > > │ 00:00:23 debug #46 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25917 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25918 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25919 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25920 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25921 > > │ 00:00:23 verbose #47 > Creating │ 00:18:26 verbose #25922 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/25b4386102d4e649cf3 │ 00:18:26 verbose #25923 > > │ 6c315e80448a1fa116c091b0086111cf413562ef6255c.svg │ 00:18:26 verbose #25924 > > │ 00:00:23 debug #48 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25925 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25926 > > │ 00:00:23 debug #49 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25927 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25928 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25929 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25930 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25931 > > │ 00:00:23 verbose #50 > Creating │ 00:18:26 verbose #25932 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/82069ab3443b2210137 │ 00:18:26 verbose #25933 > > │ c4a51290d83dc81229748eec3a972a381c54f97272db6.svg │ 00:18:26 verbose #25934 > > │ 00:00:23 debug #51 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25935 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25936 > > │ 00:00:23 debug #52 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25937 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25938 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25939 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25940 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25941 > > │ 00:00:23 verbose #53 > Creating │ 00:18:26 verbose #25942 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/51198f81dd6b9e00f35 │ 00:18:26 verbose #25943 > > │ 6cd50edeac50e389911946af788d2df96b0c3969cc85f.svg │ 00:18:26 verbose #25944 > > │ 00:00:23 debug #54 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25945 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25946 > > │ 00:00:23 debug #55 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25947 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25948 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25949 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25950 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25951 > > │ 00:00:23 verbose #56 > Creating │ 00:18:26 verbose #25952 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/0da4df708113eca0608 │ 00:18:26 verbose #25953 > > │ 92dd4d18bc2025b1151e39abb4b96e26eff2fc4cd6891.svg │ 00:18:26 verbose #25954 > > │ 00:00:23 debug #57 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25955 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25956 > > │ 00:00:23 debug #58 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25957 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25958 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25959 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25960 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25961 > > │ 00:00:23 verbose #59 > Creating │ 00:18:26 verbose #25962 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/ec21fae8ff726079724 │ 00:18:26 verbose #25963 > > │ d8166ca53da39947780d93d63f740978db0416b399df1.svg │ 00:18:26 verbose #25964 > > │ 00:00:23 debug #60 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25965 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25966 > > │ 00:00:23 debug #61 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25967 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25968 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25969 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25970 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25971 > > │ 00:00:23 verbose #62 > Creating │ 00:18:26 verbose #25972 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/cc3a3d6115cdfd7ee2a │ 00:18:26 verbose #25973 > > │ cca31ac52275c998d1e6f6aa7b2316b2c84bde8340094.svg │ 00:18:26 verbose #25974 > > │ 00:00:23 debug #63 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25975 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25976 > > │ 00:00:23 debug #64 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25977 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25978 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25979 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25980 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25981 > > │ 00:00:23 verbose #65 > Creating │ 00:18:26 verbose #25982 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/f4d4d6212bb5f26b01e │ 00:18:26 verbose #25983 > > │ 223e15a54b5cca667ecc4a41c7ac12166812c495d9437.svg │ 00:18:26 verbose #25984 > > │ 00:00:23 debug #66 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25985 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25986 > > │ 00:00:23 debug #67 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25987 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25988 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25989 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #25990 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #25991 > > │ 00:00:23 verbose #68 > Creating │ 00:18:26 verbose #25992 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/88e67acda384a3935bf │ 00:18:26 verbose #25993 > > │ 09a094a0422796a2f36a7a20876fe7666cf276baba4ca.svg │ 00:18:26 verbose #25994 > > │ 00:00:23 debug #69 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #25995 > > │ 0; output_length = 134 } │ 00:18:26 verbose #25996 > > │ 00:00:23 debug #70 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #25997 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #25998 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #25999 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26000 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26001 > > │ 00:00:23 verbose #71 > Creating │ 00:18:26 verbose #26002 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/0d6dfb91ef9a13fbdc0 │ 00:18:26 verbose #26003 > > │ 33c517fa71d9824632e6a73651491210f9e9bb26fdefd.svg │ 00:18:26 verbose #26004 > > │ 00:00:23 debug #72 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26005 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26006 > > │ 00:00:23 debug #73 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26007 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26008 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26009 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26010 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26011 > > │ 00:00:23 verbose #74 > Creating │ 00:18:26 verbose #26012 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/269ae5518e06880956a │ 00:18:26 verbose #26013 > > │ 5a031a71fc0d1003baec1faf97795021ff0849b29f158.svg │ 00:18:26 verbose #26014 > > │ 00:00:23 debug #75 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26015 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26016 > > │ 00:00:23 debug #76 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26017 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26018 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26019 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26020 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26021 > > │ 00:00:23 verbose #77 > Creating │ 00:18:26 verbose #26022 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/429b425800e5f58efea │ 00:18:26 verbose #26023 > > │ 5a9daea343d9a1aac009a6f9c4409f11383c3a86d4c6c.svg │ 00:18:26 verbose #26024 > > │ 00:00:23 debug #78 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26025 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26026 > > │ 00:00:23 debug #79 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26027 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26028 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26029 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26030 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26031 > > │ 00:00:23 verbose #80 > Creating │ 00:18:26 verbose #26032 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/e5beb9b5144700e5ac0 │ 00:18:26 verbose #26033 > > │ 68ff41f7799acb88cbe0b613258014323302a0a3d5a1c.svg │ 00:18:26 verbose #26034 > > │ 00:00:23 debug #81 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26035 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26036 > > │ 00:00:23 debug #82 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26037 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26038 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26039 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26040 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26041 > > │ 00:00:23 verbose #83 > Creating │ 00:18:26 verbose #26042 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/2543db981b2d7ba78e8 │ 00:18:26 verbose #26043 > > │ 905023f1f76b58dd99d61f636fcdc47f85cc5998df0fa.svg │ 00:18:26 verbose #26044 > > │ 00:00:23 debug #84 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26045 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26046 > > │ 00:00:23 debug #85 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26047 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26048 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26049 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26050 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26051 > > │ 00:00:23 verbose #86 > Creating │ 00:18:26 verbose #26052 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/31bd174c459b1cf6d0e │ 00:18:26 verbose #26053 > > │ 9609489ea792da7fb84696f35c6d5e4fcfac01cdb2313.svg │ 00:18:26 verbose #26054 > > │ 00:00:23 debug #87 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26055 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26056 > > │ 00:00:23 debug #88 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26057 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26058 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26059 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26060 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26061 > > │ 00:00:23 verbose #89 > Creating │ 00:18:26 verbose #26062 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/2055256cd308846fd53 │ 00:18:26 verbose #26063 > > │ 25958a010fd6753dabf3ec603ee633dda982c882cc35d.svg │ 00:18:26 verbose #26064 > > │ 00:00:23 debug #90 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26065 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26066 > > │ 00:00:23 debug #91 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26067 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26068 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26069 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26070 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26071 > > │ 00:00:23 verbose #92 > Creating │ 00:18:26 verbose #26072 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/e36a8f1675ee4d9378c │ 00:18:26 verbose #26073 > > │ 2c149f0395e9585eb14793f79a5e1837d9943c8256622.svg │ 00:18:26 verbose #26074 > > │ 00:00:23 debug #93 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26075 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26076 > > │ 00:00:23 debug #94 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26077 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26078 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26079 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26080 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26081 > > │ 00:00:23 verbose #95 > Creating │ 00:18:26 verbose #26082 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/4e44702e3376bc59cee │ 00:18:26 verbose #26083 > > │ f1c5463ef093898efe2659436cc48225aca64585a1eed.svg │ 00:18:26 verbose #26084 > > │ 00:00:23 debug #96 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26085 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26086 > > │ 00:00:23 debug #97 runtime.execute_with_options_async / { options = { │ 00:18:26 verbose #26087 > > │ command = /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26088 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26089 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26090 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26091 > > │ 00:00:23 verbose #98 > Creating │ 00:18:26 verbose #26092 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/da2dd1e5137917a0b5f │ 00:18:26 verbose #26093 > > │ bd320e18d559f3003adee29c16c8b3ddaa90861251def.svg │ 00:18:26 verbose #26094 > > │ 00:00:23 debug #99 runtime.execute_with_options_async / { exit_code = │ 00:18:26 verbose #26095 > > │ 0; output_length = 134 } │ 00:18:26 verbose #26096 > > │ 00:00:23 debug #100 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26097 > > │ { command = │ 00:18:26 verbose #26098 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26099 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26100 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26101 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26102 > > │ 00:00:23 verbose #101 > Creating │ 00:18:26 verbose #26103 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/c8e034f0843c86c31cc │ 00:18:26 verbose #26104 > > │ 3c64b5c2dbfc69aa176075142483c6070350a436ad974.svg │ 00:18:26 verbose #26105 > > │ 00:00:23 debug #102 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26106 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26107 > > │ 00:00:23 debug #103 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26108 > > │ { command = │ 00:18:26 verbose #26109 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26110 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26111 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26112 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26113 > > │ 00:00:23 verbose #104 > Creating │ 00:18:26 verbose #26114 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/d015b6ee7829dec2966 │ 00:18:26 verbose #26115 > > │ 0e9e1a8e2c91527fecaf400660e01b1e8c8fc50d64557.svg │ 00:18:26 verbose #26116 > > │ 00:00:23 debug #105 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26117 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26118 > > │ 00:00:23 debug #106 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26119 > > │ { command = │ 00:18:26 verbose #26120 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26121 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26122 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26123 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26124 > > │ 00:00:23 verbose #107 > Creating │ 00:18:26 verbose #26125 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/6f9e779b344f4181fd8 │ 00:18:26 verbose #26126 > > │ 010d1fbddf41de20d850557acba391b3cc908fbe8bfd7.svg │ 00:18:26 verbose #26127 > > │ 00:00:23 debug #108 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26128 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26129 > > │ 00:00:23 debug #109 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26130 > > │ { command = │ 00:18:26 verbose #26131 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26132 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26133 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26134 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26135 > > │ 00:00:23 verbose #110 > Creating │ 00:18:26 verbose #26136 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/e20cc83d71d3b2e4fb0 │ 00:18:26 verbose #26137 > > │ 37effa299afb3ae5fbad79a76be4333412b0afad44247.svg │ 00:18:26 verbose #26138 > > │ 00:00:23 debug #111 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26139 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26140 > > │ 00:00:23 debug #112 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26141 > > │ { command = │ 00:18:26 verbose #26142 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26143 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26144 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26145 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26146 > > │ 00:00:23 verbose #113 > Creating │ 00:18:26 verbose #26147 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/552767eafba3ce30973 │ 00:18:26 verbose #26148 > > │ 54bb928d9dd9d0af565a8b70940a42e08f6ad067d70a7.svg │ 00:18:26 verbose #26149 > > │ 00:00:23 debug #114 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26150 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26151 > > │ 00:00:23 debug #115 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26152 > > │ { command = │ 00:18:26 verbose #26153 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26154 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26155 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26156 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26157 > > │ 00:00:23 verbose #116 > Creating │ 00:18:26 verbose #26158 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/a27eac8f69f101def5f │ 00:18:26 verbose #26159 > > │ a6b4c8cebc059d503808937bc367d9d3608cec2712613.svg │ 00:18:26 verbose #26160 > > │ 00:00:23 debug #117 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26161 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26162 > > │ 00:00:23 debug #118 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26163 > > │ { command = │ 00:18:26 verbose #26164 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26165 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26166 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26167 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26168 > > │ 00:00:23 verbose #119 > Creating │ 00:18:26 verbose #26169 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/f8d04b749068750046e │ 00:18:26 verbose #26170 > > │ 5d0d76166fc42fe00e40d9e14143a48b9f18612895d93.svg │ 00:18:26 verbose #26171 > > │ 00:00:23 debug #120 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26172 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26173 > > │ 00:00:23 debug #121 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26174 > > │ { command = │ 00:18:26 verbose #26175 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26176 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26177 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26178 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26179 > > │ 00:00:23 verbose #122 > Creating │ 00:18:26 verbose #26180 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/e05df3b8d5b0fca4273 │ 00:18:26 verbose #26181 > > │ 5e5703316d5517e51dfac741018f80bcd59ecd3a56299.svg │ 00:18:26 verbose #26182 > > │ 00:00:23 debug #123 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26183 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26184 > > │ 00:00:23 debug #124 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26185 > > │ { command = │ 00:18:26 verbose #26186 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26187 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26188 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26189 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26190 > > │ 00:00:23 verbose #125 > Creating │ 00:18:26 verbose #26191 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/b40e8a5b3c77f4513a6 │ 00:18:26 verbose #26192 > > │ 29f118c91a77d5bdbde27147178a46ca1cfde97c15836.svg │ 00:18:26 verbose #26193 > > │ 00:00:23 debug #126 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26194 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26195 > > │ 00:00:23 debug #127 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26196 > > │ { command = │ 00:18:26 verbose #26197 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26198 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26199 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26200 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26201 > > │ 00:00:23 verbose #128 > Creating │ 00:18:26 verbose #26202 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/1e50fc8bee6db0bae99 │ 00:18:26 verbose #26203 > > │ 1559de569c542a977cc7f6ee8e358cc7e684dd7a2f7f2.svg │ 00:18:26 verbose #26204 > > │ 00:00:23 debug #129 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26205 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26206 > > │ 00:00:23 debug #130 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26207 > > │ { command = │ 00:18:26 verbose #26208 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26209 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26210 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26211 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26212 > > │ 00:00:23 verbose #131 > Creating │ 00:18:26 verbose #26213 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/fbb3fc7d0cd000d1f3d │ 00:18:26 verbose #26214 > > │ 5af25ecb9116851889fb7032aa024dd3767bf1dc9de2e.svg │ 00:18:26 verbose #26215 > > │ 00:00:23 debug #132 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26216 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26217 > > │ 00:00:23 debug #133 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26218 > > │ { command = │ 00:18:26 verbose #26219 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26220 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26221 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26222 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26223 > > │ 00:00:23 verbose #134 > Creating │ 00:18:26 verbose #26224 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/a0ee0690d9ef0a1e154 │ 00:18:26 verbose #26225 > > │ 7f259ca0d88a4510ec89dc61a7ffe0147e09ea2eb165a.svg │ 00:18:26 verbose #26226 > > │ 00:00:23 debug #135 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26227 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26228 > > │ 00:00:23 debug #136 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26229 > > │ { command = │ 00:18:26 verbose #26230 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26231 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26232 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26233 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26234 > > │ 00:00:23 verbose #137 > Creating │ 00:18:26 verbose #26235 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/8b62f10b9d3b9706823 │ 00:18:26 verbose #26236 > > │ 9e496cb7c5aa68b000dc2f78c5eba0b7fa19a7ebdd50c.svg │ 00:18:26 verbose #26237 > > │ 00:00:23 debug #138 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26238 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26239 > > │ 00:00:23 debug #139 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26240 > > │ { command = │ 00:18:26 verbose #26241 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26242 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26243 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26244 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26245 > > │ 00:00:23 verbose #140 > Creating │ 00:18:26 verbose #26246 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/6cc8f1c7e432d3649cb │ 00:18:26 verbose #26247 > > │ 9fdf9f9f7b7f384c65eacd3fb94e319272fe70dd633bf.svg │ 00:18:26 verbose #26248 > > │ 00:00:23 debug #141 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26249 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26250 > > │ 00:00:23 debug #142 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26251 > > │ { command = │ 00:18:26 verbose #26252 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26253 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26254 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26255 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26256 > > │ 00:00:23 verbose #143 > Creating │ 00:18:26 verbose #26257 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/ab40690e836b63af01e │ 00:18:26 verbose #26258 > > │ 2c82ea8febe670e52e11eb049e40c93bb8f8e5cf97c9e.svg │ 00:18:26 verbose #26259 > > │ 00:00:23 debug #144 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26260 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26261 > > │ 00:00:23 debug #145 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26262 > > │ { command = │ 00:18:26 verbose #26263 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26264 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26265 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26266 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26267 > > │ 00:00:23 verbose #146 > Creating │ 00:18:26 verbose #26268 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/4eb829ca41667f43116 │ 00:18:26 verbose #26269 > > │ d4631600e2dd123ca25ee7aa279f194251ee36431ea91.svg │ 00:18:26 verbose #26270 > > │ 00:00:23 debug #147 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26271 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26272 > > │ 00:00:23 debug #148 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26273 > > │ { command = │ 00:18:26 verbose #26274 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26275 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26276 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26277 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26278 > > │ 00:00:23 verbose #149 > Creating │ 00:18:26 verbose #26279 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/da621a77ae85752953b │ 00:18:26 verbose #26280 > > │ 1719c771c787f3c3594be470ba4dfb5ad8f63ff882412.svg │ 00:18:26 verbose #26281 > > │ 00:00:23 debug #150 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26282 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26283 > > │ 00:00:23 debug #151 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26284 > > │ { command = │ 00:18:26 verbose #26285 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26286 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26287 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26288 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26289 > > │ 00:00:23 verbose #152 > Creating │ 00:18:26 verbose #26290 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/4c133a696111e9637bd │ 00:18:26 verbose #26291 > > │ 800e10894b783253b1784f74a3e6562560f4f0d0e1de9.svg │ 00:18:26 verbose #26292 > > │ 00:00:23 debug #153 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26293 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26294 > > │ 00:00:23 debug #154 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26295 > > │ { command = │ 00:18:26 verbose #26296 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26297 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26298 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26299 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26300 > > │ 00:00:23 verbose #155 > Creating │ 00:18:26 verbose #26301 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/b4cf46b7a1116f7ff2b │ 00:18:26 verbose #26302 > > │ eea0f19067a0b69d8d2633074b74c7fa2e9419537bbe4.svg │ 00:18:26 verbose #26303 > > │ 00:00:23 debug #156 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26304 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26305 > > │ 00:00:23 debug #157 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26306 > > │ { command = │ 00:18:26 verbose #26307 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26308 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26309 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26310 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26311 > > │ 00:00:23 verbose #158 > Creating │ 00:18:26 verbose #26312 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/8228a67a385c42598d6 │ 00:18:26 verbose #26313 > > │ 5c8b0e86e8a53b5c32d9a669f5161004e7021b2aad6e3.svg │ 00:18:26 verbose #26314 > > │ 00:00:23 debug #159 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26315 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26316 > > │ 00:00:23 debug #160 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26317 > > │ { command = │ 00:18:26 verbose #26318 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26319 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26320 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26321 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26322 > > │ 00:00:23 verbose #161 > Creating │ 00:18:26 verbose #26323 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/2d27f0a40a52e488f83 │ 00:18:26 verbose #26324 > > │ 64971acea754a0034827c30ac23090ccf8e8afe1d5208.svg │ 00:18:26 verbose #26325 > > │ 00:00:23 debug #162 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26326 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26327 > > │ 00:00:23 debug #163 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26328 > > │ { command = │ 00:18:26 verbose #26329 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26330 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26331 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26332 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26333 > > │ 00:00:23 verbose #164 > Creating │ 00:18:26 verbose #26334 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/f398230047e42f5b916 │ 00:18:26 verbose #26335 > > │ 0ad9fa4a4a30d67def46763ac4e778955ca67702061d8.svg │ 00:18:26 verbose #26336 > > │ 00:00:23 debug #165 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26337 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26338 > > │ 00:00:23 debug #166 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26339 > > │ { command = │ 00:18:26 verbose #26340 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26341 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26342 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26343 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26344 > > │ 00:00:23 verbose #167 > Creating │ 00:18:26 verbose #26345 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/ba31ccdfae8fca85790 │ 00:18:26 verbose #26346 > > │ e9739a135e4599266c38003ca58db428cf83acd3bb12e.svg │ 00:18:26 verbose #26347 > > │ 00:00:23 debug #168 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26348 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26349 > > │ 00:00:23 debug #169 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26350 > > │ { command = │ 00:18:26 verbose #26351 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26352 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26353 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26354 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26355 > > │ 00:00:23 verbose #170 > Creating │ 00:18:26 verbose #26356 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/780ead643b98b8af35c │ 00:18:26 verbose #26357 > > │ 6ffc815ccde029abf9e61684b1372ede9e07e38c947fe.svg │ 00:18:26 verbose #26358 > > │ 00:00:23 debug #171 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26359 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26360 > > │ 00:00:23 debug #172 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26361 > > │ { command = │ 00:18:26 verbose #26362 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26363 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26364 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26365 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26366 > > │ 00:00:23 verbose #173 > Creating │ 00:18:26 verbose #26367 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/10bf803f5dd7d69401f │ 00:18:26 verbose #26368 > > │ e1e381285b4d67bb5e2f3a1c11e154f395b0625aaa81a.svg │ 00:18:26 verbose #26369 > > │ 00:00:23 debug #174 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26370 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26371 > > │ 00:00:23 debug #175 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26372 > > │ { command = │ 00:18:26 verbose #26373 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26374 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26375 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26376 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26377 > > │ 00:00:23 verbose #176 > Creating │ 00:18:26 verbose #26378 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/400b1e51fa7a1425882 │ 00:18:26 verbose #26379 > > │ 57ddb414c0a31a2b251bceb6690a25e4dfbdb9b436d1c.svg │ 00:18:26 verbose #26380 > > │ 00:00:23 debug #177 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26381 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26382 > > │ 00:00:23 debug #178 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26383 > > │ { command = │ 00:18:26 verbose #26384 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26385 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26386 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26387 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26388 > > │ 00:00:23 verbose #179 > Creating │ 00:18:26 verbose #26389 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/04074dcfa8c9444af4b │ 00:18:26 verbose #26390 > > │ cf09bf944b37caa36f05fb020fa972ae58171bba415e1.svg │ 00:18:26 verbose #26391 > > │ 00:00:23 debug #180 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26392 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26393 > > │ 00:00:23 debug #181 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26394 > > │ { command = │ 00:18:26 verbose #26395 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26396 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26397 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26398 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26399 > > │ 00:00:23 verbose #182 > Creating │ 00:18:26 verbose #26400 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/988cea705b16ac29a20 │ 00:18:26 verbose #26401 > > │ 07ee4aea8dea72c7adef2889dd956ad5487d25e12b369.svg │ 00:18:26 verbose #26402 > > │ 00:00:23 debug #183 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26403 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26404 > > │ 00:00:23 debug #184 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26405 > > │ { command = │ 00:18:26 verbose #26406 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26407 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26408 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26409 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26410 > > │ 00:00:23 verbose #185 > Creating │ 00:18:26 verbose #26411 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/31ff79312dc9242531f │ 00:18:26 verbose #26412 > > │ 49bdaac4b1ef4df454de8e801dcbaaea5a774015733e9.svg │ 00:18:26 verbose #26413 > > │ 00:00:23 debug #186 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26414 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26415 > > │ 00:00:23 debug #187 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26416 > > │ { command = │ 00:18:26 verbose #26417 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26418 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26419 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26420 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26421 > > │ 00:00:23 verbose #188 > Creating │ 00:18:26 verbose #26422 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/8f27371f86a551c5ea3 │ 00:18:26 verbose #26423 > > │ 0fe882e5b6cb3028d89ad84e6c71144dc12250a6f6848.svg │ 00:18:26 verbose #26424 > > │ 00:00:23 debug #189 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26425 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26426 > > │ 00:00:23 debug #190 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26427 > > │ { command = │ 00:18:26 verbose #26428 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26429 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26430 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26431 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26432 > > │ 00:00:23 verbose #191 > Creating │ 00:18:26 verbose #26433 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/afc52222ff828d5c960 │ 00:18:26 verbose #26434 > > │ 13fd771aff43b465546b50555499413d4f080e9026d87.svg │ 00:18:26 verbose #26435 > > │ 00:00:23 debug #192 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26436 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26437 > > │ 00:00:23 debug #193 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26438 > > │ { command = │ 00:18:26 verbose #26439 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26440 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26441 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26442 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26443 > > │ 00:00:23 verbose #194 > Creating │ 00:18:26 verbose #26444 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/01e5051d655ef25e1c5 │ 00:18:26 verbose #26445 > > │ e09370fee684bfc2aa1f099acec9c46c60656266b3f8c.svg │ 00:18:26 verbose #26446 > > │ 00:00:23 debug #195 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26447 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26448 > > │ 00:00:23 debug #196 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26449 > > │ { command = │ 00:18:26 verbose #26450 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26451 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26452 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26453 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26454 > > │ 00:00:23 verbose #197 > Creating │ 00:18:26 verbose #26455 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/5588421d5672a19d3d5 │ 00:18:26 verbose #26456 > > │ 8374d08bff6cbc79cf882258d65127325dd80c4869f31.svg │ 00:18:26 verbose #26457 > > │ 00:00:23 debug #198 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26458 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26459 > > │ 00:00:23 debug #199 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26460 > > │ { command = │ 00:18:26 verbose #26461 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26462 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26463 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26464 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26465 > > │ 00:00:23 verbose #200 > Creating │ 00:18:26 verbose #26466 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/719cf660228f57fd884 │ 00:18:26 verbose #26467 > > │ 7d696090075444289b6dd7fb5fd3d15959d463ff28dd4.svg │ 00:18:26 verbose #26468 > > │ 00:00:23 debug #201 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26469 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26470 > > │ 00:00:23 debug #202 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26471 > > │ { command = │ 00:18:26 verbose #26472 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26473 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26474 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26475 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26476 > > │ 00:00:23 verbose #203 > Creating │ 00:18:26 verbose #26477 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/3937c309891869cde17 │ 00:18:26 verbose #26478 > > │ 82a676801b77a082e459f8541d1e05a7516c2d6a3a72b.svg │ 00:18:26 verbose #26479 > > │ 00:00:23 debug #204 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26480 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26481 > > │ 00:00:23 debug #205 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26482 > > │ { command = │ 00:18:26 verbose #26483 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26484 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26485 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26486 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26487 > > │ 00:00:23 verbose #206 > Creating │ 00:18:26 verbose #26488 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/3d48c97a72e450bf34c │ 00:18:26 verbose #26489 > > │ b16f39f9fa7a60c4f643c0f2eb8d8bc1832fda0e3cd54.svg │ 00:18:26 verbose #26490 > > │ 00:00:23 debug #207 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26491 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26492 > > │ 00:00:23 debug #208 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26493 > > │ { command = │ 00:18:26 verbose #26494 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26495 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26496 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26497 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26498 > > │ 00:00:23 verbose #209 > Creating │ 00:18:26 verbose #26499 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/723726570af61bed1da │ 00:18:26 verbose #26500 > > │ a85181582acdd1a38621d0127fb5bb285a52cbca9c55e.svg │ 00:18:26 verbose #26501 > > │ 00:00:23 debug #210 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26502 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26503 > > │ 00:00:23 debug #211 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26504 > > │ { command = │ 00:18:26 verbose #26505 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26506 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26507 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26508 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26509 > > │ 00:00:23 verbose #212 > Creating │ 00:18:26 verbose #26510 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/41edb0d06298b6a2b77 │ 00:18:26 verbose #26511 > > │ e6b0b0f8181d07eae00c470242422c86f2d3a9df20f2c.svg │ 00:18:26 verbose #26512 > > │ 00:00:23 debug #213 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26513 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26514 > > │ 00:00:23 debug #214 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26515 > > │ { command = │ 00:18:26 verbose #26516 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26517 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26518 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26519 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26520 > > │ 00:00:23 verbose #215 > Creating │ 00:18:26 verbose #26521 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/ecdf43a5e27f3b42643 │ 00:18:26 verbose #26522 > > │ 4ff6d5c263120f68db972ab74626ec1f04425e21353be.svg │ 00:18:26 verbose #26523 > > │ 00:00:23 debug #216 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26524 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26525 > > │ 00:00:23 debug #217 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26526 > > │ { command = │ 00:18:26 verbose #26527 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26528 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26529 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26530 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26531 > > │ 00:00:23 verbose #218 > Creating │ 00:18:26 verbose #26532 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/f4e498f816d3ebaa617 │ 00:18:26 verbose #26533 > > │ 01bfb8382cad124f71ed3342c3db593fdc4baa294e95f.svg │ 00:18:26 verbose #26534 > > │ 00:00:23 debug #219 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26535 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26536 > > │ 00:00:23 debug #220 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26537 > > │ { command = │ 00:18:26 verbose #26538 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26539 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26540 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26541 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26542 > > │ 00:00:23 verbose #221 > Creating │ 00:18:26 verbose #26543 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/d101f682dfddc088e75 │ 00:18:26 verbose #26544 > > │ 79974ced37aa327a3bb1ae0ed5025b005fa24ea15a7dc.svg │ 00:18:26 verbose #26545 > > │ 00:00:23 debug #222 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26546 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26547 > > │ 00:00:23 debug #223 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26548 > > │ { command = │ 00:18:26 verbose #26549 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26550 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26551 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26552 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26553 > > │ 00:00:23 verbose #224 > Creating │ 00:18:26 verbose #26554 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/bc8871e382c35fb2841 │ 00:18:26 verbose #26555 > > │ 03c8eca5f2c1b7b3aabf0dfe7a88637d96bb558d749ab.svg │ 00:18:26 verbose #26556 > > │ 00:00:23 debug #225 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26557 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26558 > > │ 00:00:23 debug #226 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26559 > > │ { command = │ 00:18:26 verbose #26560 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26561 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26562 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26563 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26564 > > │ 00:00:23 verbose #227 > Creating │ 00:18:26 verbose #26565 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/810be92ead3834fd2f9 │ 00:18:26 verbose #26566 > > │ daf062ebd24ad35f15e24dce54aa82d69e13a2158a733.svg │ 00:18:26 verbose #26567 > > │ 00:00:23 debug #228 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26568 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26569 > > │ 00:00:23 debug #229 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26570 > > │ { command = │ 00:18:26 verbose #26571 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26572 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26573 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26574 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26575 > > │ 00:00:23 verbose #230 > Creating │ 00:18:26 verbose #26576 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/8c23dcf0c85bba40477 │ 00:18:26 verbose #26577 > > │ a6dc081dfef35f4ea67e9ad5731e1b83eeb9ce13418e0.svg │ 00:18:26 verbose #26578 > > │ 00:00:23 debug #231 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26579 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26580 > > │ 00:00:23 debug #232 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26581 > > │ { command = │ 00:18:26 verbose #26582 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26583 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26584 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26585 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26586 > > │ 00:00:23 verbose #233 > Creating │ 00:18:26 verbose #26587 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/00c79858fdfeff82c99 │ 00:18:26 verbose #26588 > > │ 76e8339acf00f55b7911d85d3a5549512a823160750f1.svg │ 00:18:26 verbose #26589 > > │ 00:00:23 debug #234 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26590 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26591 > > │ 00:00:23 debug #235 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26592 > > │ { command = │ 00:18:26 verbose #26593 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26594 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26595 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26596 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26597 > > │ 00:00:23 verbose #236 > Creating │ 00:18:26 verbose #26598 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/248aa1496994a15d405 │ 00:18:26 verbose #26599 > > │ a052aab722597383eb415943b4e9a72c87961aad83430.svg │ 00:18:26 verbose #26600 > > │ 00:00:23 debug #237 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26601 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26602 > > │ 00:00:23 debug #238 runtime.execute_with_options_async / { options = │ 00:18:26 verbose #26603 > > │ { command = │ 00:18:26 verbose #26604 > > │ /home/runner/work/polyglot/polyglot/workspace/target/release/plot; │ 00:18:26 verbose #26605 > > │ cancellation_token = Some System.Threading.CancellationToken; │ 00:18:26 verbose #26606 > > │ environment_variables = [||]; on_line = None; stdin = None; trace = true; │ 00:18:26 verbose #26607 > > │ working_directory = Some "/home/runner/work/polyglot/polyglot" } } │ 00:18:26 verbose #26608 > > │ 00:00:23 verbose #239 > Creating │ 00:18:26 verbose #26609 > > │ /home/runner/work/polyglot/polyglot/target/plot/line_svg/bede6e595697b6a21a1 │ 00:18:26 verbose #26610 > > │ b37ce58511f9e5adf6df47f0174d56d18df06b722c982.svg │ 00:18:26 verbose #26611 > > │ 00:00:23 debug #240 runtime.execute_with_options_async / { exit_code │ 00:18:26 verbose #26612 > > │ = 0; output_length = 134 } │ 00:18:26 verbose #26613 > > │ │ 00:18:26 verbose #26614 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:26 verbose #26615 > > 00:18:26 verbose #26616 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:26 verbose #26617 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:26 verbose #26618 > > │ ## end │ 00:18:26 verbose #26619 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:27 verbose #26620 > 00:00:34 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 289843 } 00:18:27 verbose #26621 > 00:00:34 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:27 verbose #26622 > 00:00:34 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.ipynb to html 00:18:27 verbose #26623 > 00:00:35 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:18:27 verbose #26624 > 00:00:35 verbose #7 ! validate(nb) 00:18:28 verbose #26625 > 00:00:35 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:18:28 verbose #26626 > 00:00:35 verbose #9 ! return _pygments_highlight( 00:18:30 verbose #26627 > 00:00:37 verbose #10 ! [NbConvertApp] Writing 2570527 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.html 00:18:30 verbose #26628 > 00:00:37 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 899 } 00:18:30 verbose #26629 > 00:00:37 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 899 } 00:18:30 verbose #26630 > 00:00:37 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/physics.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:30 verbose #26631 > 00:00:38 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:18:30 verbose #26632 > 00:00:38 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:18:30 verbose #26633 > 00:00:38 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 290801 } 00:18:30 debug #26634 runtime.execute_with_options_async / { exit_code = 0; output_length = 301253 } 00:18:30 debug #32 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path physics.dib --retries 3 00:18:30 debug #26635 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path seq.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:30 verbose #26636 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "seq.dib", "--retries", "3"])) } 00:18:30 verbose #26637 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:18:32 verbose #26638 > > 00:18:32 verbose #26639 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:32 verbose #26640 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:32 verbose #26641 > > │ # seq │ 00:18:32 verbose #26642 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:34 verbose #26643 > > 00:18:34 verbose #26644 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:34 verbose #26645 > > //// test 00:18:34 verbose #26646 > > 00:18:34 verbose #26647 > > open testing 00:18:35 verbose #26648 > 00:18:34 debug #1375 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:18:35 verbose #26649 > > 00:18:35 verbose #26650 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:35 verbose #26651 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:35 verbose #26652 > > │ ## seq │ 00:18:35 verbose #26653 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:35 verbose #26654 > > 00:18:35 verbose #26655 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:35 verbose #26656 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:35 verbose #26657 > > │ ### seq │ 00:18:35 verbose #26658 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:35 verbose #26659 > > 00:18:35 verbose #26660 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:35 verbose #26661 > > type seq dim el = dim -> option el 00:18:35 verbose #26662 > 00:18:35 debug #1376 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/beeeacbbda68c0d28299be16bc318aca9becbca08240435f010caa31737f326e/main.spi 00:18:35 verbose #26663 > > 00:18:35 verbose #26664 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:35 verbose #26665 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:35 verbose #26666 > > │ ### try_item │ 00:18:35 verbose #26667 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:35 verbose #26668 > > 00:18:35 verbose #26669 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:35 verbose #26670 > > inl try_item n s = 00:18:35 verbose #26671 > > n |> s 00:18:35 verbose #26672 > 00:18:35 debug #1377 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/73eee39918fd0a766cbf47ea2a1ef844f06d31a60003a58185729573bfd17657/main.spi 00:18:35 verbose #26673 > > 00:18:35 verbose #26674 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:35 verbose #26675 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:35 verbose #26676 > > │ ### from_list │ 00:18:35 verbose #26677 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:35 verbose #26678 > > 00:18:35 verbose #26679 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:35 verbose #26680 > > inl from_list list = 00:18:35 verbose #26681 > > fun n => 00:18:35 verbose #26682 > > list 00:18:35 verbose #26683 > > |> listm'.try_item n 00:18:35 verbose #26684 > 00:18:35 debug #1378 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1eb0d11e9ccb767e5843926eee01478e751a1be3dfb4b14b8f6c38c46adf533f/main.spi 00:18:35 verbose #26685 > > 00:18:35 verbose #26686 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:35 verbose #26687 > > //// test 00:18:35 verbose #26688 > > 00:18:35 verbose #26689 > > listm.init 10i32 print_and_return 00:18:35 verbose #26690 > > |> from_list 00:18:35 verbose #26691 > > |> try_item 5i32 00:18:35 verbose #26692 > > |> _assert_eq (Some 5i32) 00:18:35 verbose #26693 > 00:18:35 debug #1379 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5b76a0f4d8c04008a0fdc87e9fb746a61db59db2bf488d90bc01ae3db604a76e/main.spi 00:18:36 verbose #26694 > > 00:18:36 verbose #26695 > > ╭─[ 813.30ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:36 verbose #26696 > > │ print_and_return / x: 0 │ 00:18:36 verbose #26697 > > │ print_and_return / x: 1 │ 00:18:36 verbose #26698 > > │ print_and_return / x: 2 │ 00:18:36 verbose #26699 > > │ print_and_return / x: 3 │ 00:18:36 verbose #26700 > > │ print_and_return / x: 4 │ 00:18:36 verbose #26701 > > │ print_and_return / x: 5 │ 00:18:36 verbose #26702 > > │ print_and_return / x: 6 │ 00:18:36 verbose #26703 > > │ print_and_return / x: 7 │ 00:18:36 verbose #26704 > > │ print_and_return / x: 8 │ 00:18:36 verbose #26705 > > │ print_and_return / x: 9 │ 00:18:36 verbose #26706 > > │ assert_eq / actual: US0_0 5 / expected: US0_0 5 │ 00:18:36 verbose #26707 > > │ │ 00:18:36 verbose #26708 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:36 verbose #26709 > > 00:18:36 verbose #26710 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:36 verbose #26711 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:36 verbose #26712 > > │ ### map │ 00:18:36 verbose #26713 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:36 verbose #26714 > > 00:18:36 verbose #26715 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:36 verbose #26716 > > inl map fn s = 00:18:36 verbose #26717 > > fun n => 00:18:36 verbose #26718 > > n 00:18:36 verbose #26719 > > |> s 00:18:36 verbose #26720 > > |> optionm.map fn 00:18:36 verbose #26721 > 00:18:36 debug #1380 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ab367246f905193b5d6ddf9e8f25568a44514ad41b398d958967d155d43f284f/main.spi 00:18:37 verbose #26722 > > 00:18:37 verbose #26723 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26724 > > //// test 00:18:37 verbose #26725 > > 00:18:37 verbose #26726 > > listm.init 10i32 id 00:18:37 verbose #26727 > > |> from_list 00:18:37 verbose #26728 > > |> map ((*) 2) 00:18:37 verbose #26729 > > |> try_item 5i32 00:18:37 verbose #26730 > > |> _assert_eq (Some 10i32) 00:18:37 verbose #26731 > 00:18:36 debug #1381 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/89d1195aa22416b87b94581829bf99df2ee18a19094dda33ebac0710771b184b/main.spi 00:18:37 verbose #26732 > > 00:18:37 verbose #26733 > > ╭─[ 117.18ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:37 verbose #26734 > > │ assert_eq / actual: US0_0 10 / expected: US0_0 10 │ 00:18:37 verbose #26735 > > │ │ 00:18:37 verbose #26736 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26737 > > 00:18:37 verbose #26738 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:37 verbose #26739 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:37 verbose #26740 > > │ ### mapi │ 00:18:37 verbose #26741 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26742 > > 00:18:37 verbose #26743 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26744 > > inl mapi fn s = 00:18:37 verbose #26745 > > fun n => 00:18:37 verbose #26746 > > n 00:18:37 verbose #26747 > > |> s 00:18:37 verbose #26748 > > |> optionm.map (fn n) 00:18:37 verbose #26749 > 00:18:36 debug #1382 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/963f4192eefe0a3b56e2c1e9860199650682599ed1e14eeeb9ebf1d1b83b269c/main.spi 00:18:37 verbose #26750 > > 00:18:37 verbose #26751 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26752 > > //// test 00:18:37 verbose #26753 > > 00:18:37 verbose #26754 > > listm.init 10i32 print_and_return 00:18:37 verbose #26755 > > |> from_list 00:18:37 verbose #26756 > > |> mapi fun i x => i + x 00:18:37 verbose #26757 > > |> try_item 5i32 00:18:37 verbose #26758 > > |> _assert_eq (Some 10i32) 00:18:37 verbose #26759 > 00:18:36 debug #1383 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ca333484205f89f15e8d5e3d8ef8d49a16e9aff1bf59383ba3549dadc5c70f4d/main.spi 00:18:37 verbose #26760 > > 00:18:37 verbose #26761 > > ╭─[ 128.20ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:37 verbose #26762 > > │ print_and_return / x: 0 │ 00:18:37 verbose #26763 > > │ print_and_return / x: 1 │ 00:18:37 verbose #26764 > > │ print_and_return / x: 2 │ 00:18:37 verbose #26765 > > │ print_and_return / x: 3 │ 00:18:37 verbose #26766 > > │ print_and_return / x: 4 │ 00:18:37 verbose #26767 > > │ print_and_return / x: 5 │ 00:18:37 verbose #26768 > > │ print_and_return / x: 6 │ 00:18:37 verbose #26769 > > │ print_and_return / x: 7 │ 00:18:37 verbose #26770 > > │ print_and_return / x: 8 │ 00:18:37 verbose #26771 > > │ print_and_return / x: 9 │ 00:18:37 verbose #26772 > > │ assert_eq / actual: US0_0 10 / expected: US0_0 10 │ 00:18:37 verbose #26773 > > │ │ 00:18:37 verbose #26774 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26775 > > 00:18:37 verbose #26776 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:37 verbose #26777 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:37 verbose #26778 > > │ ### choose │ 00:18:37 verbose #26779 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26780 > > 00:18:37 verbose #26781 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26782 > > inl choose forall dim {number} t u. (fn : t -> option u) (s : seq dim t) : seq 00:18:37 verbose #26783 > > dim u = 00:18:37 verbose #26784 > > fun n => 00:18:37 verbose #26785 > > inl rec body fn s i i' = 00:18:37 verbose #26786 > > match i |> s with 00:18:37 verbose #26787 > > | None => None 00:18:37 verbose #26788 > > | Some x => 00:18:37 verbose #26789 > > match x |> fn with 00:18:37 verbose #26790 > > | Some x when n = i' => Some x 00:18:37 verbose #26791 > > | Some _ => loop (i + 1) (i' + 1) 00:18:37 verbose #26792 > > | _ => loop (i + 1) i' 00:18:37 verbose #26793 > > and inl loop i i' = 00:18:37 verbose #26794 > > if n |> var_is |> not 00:18:37 verbose #26795 > > then body fn s i i' 00:18:37 verbose #26796 > > else 00:18:37 verbose #26797 > > inl fn = join fn 00:18:37 verbose #26798 > > inl s = join s 00:18:37 verbose #26799 > > join body fn s i i' 00:18:37 verbose #26800 > > loop 0 0 00:18:37 verbose #26801 > 00:18:36 debug #1384 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8d7e7dded1e1996fd4f96cc5b660bca6551991f22db93484939b5e60b1c23826/main.spi 00:18:37 verbose #26802 > > 00:18:37 verbose #26803 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26804 > > //// test 00:18:37 verbose #26805 > > 00:18:37 verbose #26806 > > listm.init 10i32 print_and_return 00:18:37 verbose #26807 > > |> from_list 00:18:37 verbose #26808 > > |> choose (fun x => if x % 2 = 0 then Some x else None) 00:18:37 verbose #26809 > > |> try_item 1i32 00:18:37 verbose #26810 > > |> _assert_eq (Some 2i32) 00:18:37 verbose #26811 > 00:18:37 debug #1385 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/574648207be8aa14c329a31664f88924afa13ab24ac7861275afd72fd27ebba5/main.spi 00:18:37 verbose #26812 > > 00:18:37 verbose #26813 > > ╭─[ 224.84ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:37 verbose #26814 > > │ print_and_return / x: 0 │ 00:18:37 verbose #26815 > > │ print_and_return / x: 1 │ 00:18:37 verbose #26816 > > │ print_and_return / x: 2 │ 00:18:37 verbose #26817 > > │ print_and_return / x: 3 │ 00:18:37 verbose #26818 > > │ print_and_return / x: 4 │ 00:18:37 verbose #26819 > > │ print_and_return / x: 5 │ 00:18:37 verbose #26820 > > │ print_and_return / x: 6 │ 00:18:37 verbose #26821 > > │ print_and_return / x: 7 │ 00:18:37 verbose #26822 > > │ print_and_return / x: 8 │ 00:18:37 verbose #26823 > > │ print_and_return / x: 9 │ 00:18:37 verbose #26824 > > │ assert_eq / actual: US0_0 2 / expected: US0_0 2 │ 00:18:37 verbose #26825 > > │ │ 00:18:37 verbose #26826 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26827 > > 00:18:37 verbose #26828 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:37 verbose #26829 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:37 verbose #26830 > > │ ### indexed │ 00:18:37 verbose #26831 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26832 > > 00:18:37 verbose #26833 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26834 > > inl indexed s = 00:18:37 verbose #26835 > > s 00:18:37 verbose #26836 > > |> mapi fun i x => 00:18:37 verbose #26837 > > i, x 00:18:37 verbose #26838 > 00:18:37 debug #1386 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/23addf890739dd19c99cf240f1fe7895c4d2aa3e4e56c3d797881187ebba9373/main.spi 00:18:37 verbose #26839 > > 00:18:37 verbose #26840 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26841 > > //// test 00:18:37 verbose #26842 > > 00:18:37 verbose #26843 > > listm.init 10i32 ((*) 2) 00:18:37 verbose #26844 > > |> from_list 00:18:37 verbose #26845 > > |> indexed 00:18:37 verbose #26846 > > |> try_item 5i32 00:18:37 verbose #26847 > > |> _assert_eq (Some (5i32, 10i32)) 00:18:37 verbose #26848 > 00:18:37 debug #1387 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b01c1f13c74d247ff6417b393f373a00b27a86be9f9d6968647c958376312673/main.spi 00:18:37 verbose #26849 > > 00:18:37 verbose #26850 > > ╭─[ 124.01ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:37 verbose #26851 > > │ assert_eq / actual: US0_0 (5, 10) / expected: US0_0 (5, 10) │ 00:18:37 verbose #26852 > > │ │ 00:18:37 verbose #26853 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26854 > > 00:18:37 verbose #26855 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:37 verbose #26856 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:37 verbose #26857 > > │ ### zip │ 00:18:37 verbose #26858 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:37 verbose #26859 > > 00:18:37 verbose #26860 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26861 > > inl zip n seq1 seq2 = 00:18:37 verbose #26862 > > seq1 n, seq2 n 00:18:37 verbose #26863 > 00:18:37 debug #1388 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b9cd88eff027313df3abcc9e28bbd1b662caa77806df42b33915d070eddc4eec/main.spi 00:18:37 verbose #26864 > > 00:18:37 verbose #26865 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:37 verbose #26866 > > //// test 00:18:37 verbose #26867 > > 00:18:37 verbose #26868 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list)) 00:18:37 verbose #26869 > > ||> zip 5i32 00:18:37 verbose #26870 > > |> _assert_eq (Some 5, Some 10) 00:18:37 verbose #26871 > 00:18:37 debug #1389 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/71e14515e7207b44b73f3f669390dfe1d943c3c1b7f6016eadd800bdd7106ec4/main.spi 00:18:38 verbose #26872 > > 00:18:38 verbose #26873 > > ╭─[ 118.66ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:38 verbose #26874 > > │ assert_eq / actual: struct (US0_0 5, US0_0 10) / expected: struct (US0_0 5, │ 00:18:38 verbose #26875 > > │ US0_0 10) │ 00:18:38 verbose #26876 > > │ │ 00:18:38 verbose #26877 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26878 > > 00:18:38 verbose #26879 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:38 verbose #26880 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:38 verbose #26881 > > │ ### zip_with │ 00:18:38 verbose #26882 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26883 > > 00:18:38 verbose #26884 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26885 > > inl zip_with fn seq1 seq2 = 00:18:38 verbose #26886 > > fun n => 00:18:38 verbose #26887 > > fn (seq1 n) (seq2 n) 00:18:38 verbose #26888 > 00:18:37 debug #1390 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/55e72bb2cc5c233364a0dcb9d7bed8cea52722ceaae665a7ea3f40ff64e4caab/main.spi 00:18:38 verbose #26889 > > 00:18:38 verbose #26890 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26891 > > //// test 00:18:38 verbose #26892 > > 00:18:38 verbose #26893 > > ((listm.init 10i32 id |> from_list), (listm.init 10i32 ((*) 2) |> from_list)) 00:18:38 verbose #26894 > > ||> zip_with (optionm'.choose (+)) 00:18:38 verbose #26895 > > |> try_item 2i32 00:18:38 verbose #26896 > > |> _assert_eq (Some 6) 00:18:38 verbose #26897 > 00:18:37 debug #1391 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7199ccab5602bf3757bfca7bea5cd047a8a3b3a3a022466791b49b7a7f6f3b0f/main.spi 00:18:38 verbose #26898 > > 00:18:38 verbose #26899 > > ╭─[ 109.85ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:38 verbose #26900 > > │ assert_eq / actual: US0_0 6 / expected: US0_0 6 │ 00:18:38 verbose #26901 > > │ │ 00:18:38 verbose #26902 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26903 > > 00:18:38 verbose #26904 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:38 verbose #26905 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:38 verbose #26906 > > │ ### fold │ 00:18:38 verbose #26907 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26908 > > 00:18:38 verbose #26909 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26910 > > inl fold fn init seq = 00:18:38 verbose #26911 > > inl rec loop acc n = 00:18:38 verbose #26912 > > match seq n with 00:18:38 verbose #26913 > > | Some x => loop (fn acc x) (n + 1) 00:18:38 verbose #26914 > > | None => acc 00:18:38 verbose #26915 > > loop init 0 00:18:38 verbose #26916 > > 00:18:38 verbose #26917 > > inl fold_ fn init seq = 00:18:38 verbose #26918 > > let rec loop acc n = 00:18:38 verbose #26919 > > match seq n with 00:18:38 verbose #26920 > > | Some x => loop (fn acc x) (n + 1) 00:18:38 verbose #26921 > > | None => acc 00:18:38 verbose #26922 > > loop init 0 00:18:38 verbose #26923 > 00:18:37 debug #1392 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/505e030c222de962a45929db53c270ed90e3e35e11cf95881ddbb194f7919f25/main.spi 00:18:38 verbose #26924 > > 00:18:38 verbose #26925 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:38 verbose #26926 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:38 verbose #26927 > > │ ### sum │ 00:18:38 verbose #26928 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26929 > > 00:18:38 verbose #26930 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26931 > > inl sum seq = 00:18:38 verbose #26932 > > seq |> fold (+) 0 00:18:38 verbose #26933 > > 00:18:38 verbose #26934 > > inl sum_ seq = 00:18:38 verbose #26935 > > seq |> fold_ (+) 0 00:18:38 verbose #26936 > 00:18:37 debug #1393 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/32acdcef86a5bd1be6d571060a7ddbe79175d30f0e26698ea9054ccccd2e4ce6/main.spi 00:18:38 verbose #26937 > > 00:18:38 verbose #26938 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26939 > > //// test 00:18:38 verbose #26940 > > 00:18:38 verbose #26941 > > listm.init 10i32 id 00:18:38 verbose #26942 > > |> from_list 00:18:38 verbose #26943 > > |> fun f (n : i32) => f n 00:18:38 verbose #26944 > > |> sum 00:18:38 verbose #26945 > > |> _assert_eq 45 00:18:38 verbose #26946 > 00:18:38 debug #1394 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7d81c93a505bfdf310fe9964c717b72a1c3d911ce73cc1b9a9d431fe2ba954f7/main.spi 00:18:38 verbose #26947 > > 00:18:38 verbose #26948 > > ╭─[ 94.65ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:38 verbose #26949 > > │ assert_eq / actual: 45 / expected: 45 │ 00:18:38 verbose #26950 > > │ │ 00:18:38 verbose #26951 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26952 > > 00:18:38 verbose #26953 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:38 verbose #26954 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:38 verbose #26955 > > │ ### to_list │ 00:18:38 verbose #26956 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #26957 > > 00:18:38 verbose #26958 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26959 > > inl to_list seq = 00:18:38 verbose #26960 > > seq 00:18:38 verbose #26961 > > |> fold (fun acc x => x :: acc) [[]] 00:18:38 verbose #26962 > > |> listm.rev 00:18:38 verbose #26963 > > 00:18:38 verbose #26964 > > inl to_list_ seq = 00:18:38 verbose #26965 > > seq 00:18:38 verbose #26966 > > |> fold_ (fun acc x => x :: acc) [[]] 00:18:38 verbose #26967 > > |> listm.rev 00:18:38 verbose #26968 > 00:18:38 debug #1395 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9ff4f5f61f9b8ffcc37abb7ab0c0ba2e816961c76132962daeeba238a7bad483/main.spi 00:18:38 verbose #26969 > > 00:18:38 verbose #26970 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #26971 > > //// test 00:18:38 verbose #26972 > > 00:18:38 verbose #26973 > > listm.init 10i32 id 00:18:38 verbose #26974 > > |> from_list 00:18:38 verbose #26975 > > |> fun f (n : i32) => f n 00:18:38 verbose #26976 > > |> to_list 00:18:38 verbose #26977 > > |> _assert_eq (listm.init 10i32 id) 00:18:38 verbose #26978 > 00:18:38 debug #1396 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7a16dff67ccba407c7e2f61bd91851e7de4e3a32d6adc75c1eedab53647c0c6c/main.spi 00:18:38 verbose #26979 > > 00:18:38 verbose #26980 > > ╭─[ 144.49ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:38 verbose #26981 > > │ assert_eq / actual: UH0_1 │ 00:18:38 verbose #26982 > > │ (0, │ 00:18:38 verbose #26983 > > │ UH0_1 │ 00:18:38 verbose #26984 > > │ (1, │ 00:18:38 verbose #26985 > > │ UH0_1 │ 00:18:38 verbose #26986 > > │ (2, │ 00:18:38 verbose #26987 > > │ UH0_1 │ 00:18:38 verbose #26988 > > │ (3, │ 00:18:38 verbose #26989 > > │ UH0_1 │ 00:18:38 verbose #26990 > > │ (4, UH0_1 (5, UH0_1 (6, UH0_1 (7, UH0_1 (8, UH0_1 (9, │ 00:18:38 verbose #26991 > > │ UH0_0)))))))))) / expected: UH0_1 │ 00:18:38 verbose #26992 > > │ (0, │ 00:18:38 verbose #26993 > > │ UH0_1 │ 00:18:38 verbose #26994 > > │ (1, │ 00:18:38 verbose #26995 > > │ UH0_1 │ 00:18:38 verbose #26996 > > │ (2, │ 00:18:38 verbose #26997 > > │ UH0_1 │ 00:18:38 verbose #26998 > > │ (3, │ 00:18:38 verbose #26999 > > │ UH0_1 │ 00:18:38 verbose #27000 > > │ (4, UH0_1 (5, UH0_1 (6, UH0_1 (7, UH0_1 (8, UH0_1 (9, │ 00:18:38 verbose #27001 > > │ UH0_0)))))))))) │ 00:18:38 verbose #27002 > > │ │ 00:18:38 verbose #27003 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #27004 > > 00:18:38 verbose #27005 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:38 verbose #27006 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:38 verbose #27007 > > │ ### from_array │ 00:18:38 verbose #27008 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:38 verbose #27009 > > 00:18:38 verbose #27010 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #27011 > > inl from_array forall dim {number; int} el. (array : a dim el) : seq dim el = 00:18:38 verbose #27012 > > fun n => 00:18:38 verbose #27013 > > if n >= length array 00:18:38 verbose #27014 > > then None 00:18:38 verbose #27015 > > else index array n |> Some 00:18:38 verbose #27016 > 00:18:38 debug #1397 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2aad33cfcaf8603dbd056aaa4fe8728128fa325568270ac826f4bfecb1d64791/main.spi 00:18:38 verbose #27017 > > 00:18:38 verbose #27018 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:38 verbose #27019 > > //// test 00:18:38 verbose #27020 > > 00:18:38 verbose #27021 > > a ;[[ 1; 2; 3 ]] 00:18:38 verbose #27022 > > |> from_array 00:18:38 verbose #27023 > > |> try_item 1i32 00:18:38 verbose #27024 > > |> _assert_eq (Some 2i32) 00:18:38 verbose #27025 > 00:18:38 debug #1398 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d72170ff48b9a1ad80f25d954a42eabd98b2da8abf752824367b25edb6db1649/main.spi 00:18:39 verbose #27026 > > 00:18:39 verbose #27027 > > ╭─[ 211.80ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:39 verbose #27028 > > │ assert_eq / actual: US0_0 2 / expected: US0_0 2 │ 00:18:39 verbose #27029 > > │ │ 00:18:39 verbose #27030 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27031 > > 00:18:39 verbose #27032 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:39 verbose #27033 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:39 verbose #27034 > > │ ### to_array │ 00:18:39 verbose #27035 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27036 > > 00:18:39 verbose #27037 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27038 > > inl to_array seq = 00:18:39 verbose #27039 > > inl ar = a ;[[]] |> mut 00:18:39 verbose #27040 > > ((), seq) 00:18:39 verbose #27041 > > ||> fold fun _ x => 00:18:39 verbose #27042 > > ar <- *ar ++ a ;[[x]] 00:18:39 verbose #27043 > > *ar 00:18:39 verbose #27044 > > 00:18:39 verbose #27045 > > inl to_array_ seq = 00:18:39 verbose #27046 > > inl ar = a ;[[]] |> mut 00:18:39 verbose #27047 > > ((), seq) 00:18:39 verbose #27048 > > ||> fold_ fun _ x => 00:18:39 verbose #27049 > > ar <- *ar ++ a ;[[x]] 00:18:39 verbose #27050 > > *ar 00:18:39 verbose #27051 > 00:18:38 debug #1399 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/05660b5c8669c20c5beaae08903818f4ee36dda494a6c39ba4e2f25bc17a4814/main.spi 00:18:39 verbose #27052 > > 00:18:39 verbose #27053 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27054 > > //// test 00:18:39 verbose #27055 > > 00:18:39 verbose #27056 > > listm.init 10i32 id 00:18:39 verbose #27057 > > |> from_list 00:18:39 verbose #27058 > > |> fun (x : i32 -> _) => x 00:18:39 verbose #27059 > > |> to_array 00:18:39 verbose #27060 > > |> _assert_eq (a ;[[ 0; 1; 2; 3; 4; 5; 6; 7; 8; 9 ]] : _ i32 _) 00:18:39 verbose #27061 > 00:18:38 debug #1400 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5662ce632e41d68b0a91e5b2bd037c745c4607d833001bd1a00e38de1023021c/main.spi 00:18:39 verbose #27062 > > 00:18:39 verbose #27063 > > ╭─[ 357.76ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:39 verbose #27064 > > │ assert_eq / actual: [|0; 1; 2; 3; 4; 5; 6; 7; 8; 9|] / expected: [|0; 1; 2; │ 00:18:39 verbose #27065 > > │ 3; 4; 5; 6; 7; 8; 9|] │ 00:18:39 verbose #27066 > > │ │ 00:18:39 verbose #27067 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27068 > > 00:18:39 verbose #27069 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:39 verbose #27070 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:39 verbose #27071 > > │ ### take_while │ 00:18:39 verbose #27072 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27073 > > 00:18:39 verbose #27074 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27075 > > inl take_while cond seq = 00:18:39 verbose #27076 > > inl rec loop acc i = 00:18:39 verbose #27077 > > match seq i with 00:18:39 verbose #27078 > > | Some st when cond st i => loop (st :: acc) (i + 1) 00:18:39 verbose #27079 > > | _ => acc |> listm.rev 00:18:39 verbose #27080 > > loop [[]] 0 00:18:39 verbose #27081 > 00:18:39 debug #1401 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/35a79e5ebc2ffdb9642358ab52864b02cd086e965f0d08065957fa8069909842/main.spi 00:18:39 verbose #27082 > > 00:18:39 verbose #27083 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27084 > > //// test 00:18:39 verbose #27085 > > 00:18:39 verbose #27086 > > listm.init 10i32 id 00:18:39 verbose #27087 > > |> from_list 00:18:39 verbose #27088 > > |> take_while (fun n (_ : i32) => n < 5) 00:18:39 verbose #27089 > > |> listm'.sum 00:18:39 verbose #27090 > > |> _assert_eq 10 00:18:39 verbose #27091 > 00:18:39 debug #1402 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9e759ad02a9842a7f424faf23f3a8777a9374faf321a59d172d440f9bec6c027/main.spi 00:18:39 verbose #27092 > > 00:18:39 verbose #27093 > > ╭─[ 95.73ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:39 verbose #27094 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:39 verbose #27095 > > │ │ 00:18:39 verbose #27096 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27097 > > 00:18:39 verbose #27098 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27099 > > //// test 00:18:39 verbose #27100 > > 00:18:39 verbose #27101 > > stream.new_finite_stream print_and_return 10i32 00:18:39 verbose #27102 > > |> flip stream.try_item 00:18:39 verbose #27103 > > |> take_while (fun n (_ : i32) => n < 5) 00:18:39 verbose #27104 > > |> listm'.sum 00:18:39 verbose #27105 > > |> _assert_eq 10 00:18:39 verbose #27106 > 00:18:39 debug #1403 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b79c427b31023f6d0062b45f5fefd975b02ef634db4f7a09b6b9e62a74fdfa1d/main.spi 00:18:39 verbose #27107 > > 00:18:39 verbose #27108 > > ╭─[ 145.35ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:39 verbose #27109 > > │ print_and_return / x: 0 │ 00:18:39 verbose #27110 > > │ print_and_return / x: 1 │ 00:18:39 verbose #27111 > > │ print_and_return / x: 1 │ 00:18:39 verbose #27112 > > │ print_and_return / x: 2 │ 00:18:39 verbose #27113 > > │ print_and_return / x: 1 │ 00:18:39 verbose #27114 > > │ print_and_return / x: 2 │ 00:18:39 verbose #27115 > > │ print_and_return / x: 3 │ 00:18:39 verbose #27116 > > │ print_and_return / x: 1 │ 00:18:39 verbose #27117 > > │ print_and_return / x: 2 │ 00:18:39 verbose #27118 > > │ print_and_return / x: 3 │ 00:18:39 verbose #27119 > > │ print_and_return / x: 4 │ 00:18:39 verbose #27120 > > │ print_and_return / x: 1 │ 00:18:39 verbose #27121 > > │ print_and_return / x: 2 │ 00:18:39 verbose #27122 > > │ print_and_return / x: 3 │ 00:18:39 verbose #27123 > > │ print_and_return / x: 4 │ 00:18:39 verbose #27124 > > │ print_and_return / x: 5 │ 00:18:39 verbose #27125 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:39 verbose #27126 > > │ │ 00:18:39 verbose #27127 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27128 > > 00:18:39 verbose #27129 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:39 verbose #27130 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:39 verbose #27131 > > │ ### take_while_ │ 00:18:39 verbose #27132 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:39 verbose #27133 > > 00:18:39 verbose #27134 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27135 > > inl take_while_ cond seq = 00:18:39 verbose #27136 > > let rec loop acc i = 00:18:39 verbose #27137 > > match seq i with 00:18:39 verbose #27138 > > | Some st when cond st i => loop (st :: acc) (i + 1) 00:18:39 verbose #27139 > > | _ => acc |> listm.rev 00:18:39 verbose #27140 > > loop [[]] 0 00:18:39 verbose #27141 > 00:18:39 debug #1404 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e45b35aff18c40d59a41845d59f4af1af814d1eacfc7e4ab93e8cc0dc80fa414/main.spi 00:18:39 verbose #27142 > > 00:18:39 verbose #27143 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:39 verbose #27144 > > //// test 00:18:39 verbose #27145 > > 00:18:39 verbose #27146 > > stream.new_infinite_stream_ print_and_return 00:18:39 verbose #27147 > > |> flip stream.try_item 00:18:39 verbose #27148 > > |> take_while_ (fun n (_ : i32) => n < 5i32) 00:18:39 verbose #27149 > > |> listm'.sum 00:18:39 verbose #27150 > > |> _assert_eq 10 00:18:39 verbose #27151 > 00:18:39 debug #1405 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/28e49414807381353855a963c6a1455d4674b29406e797c88d3c253f0f469cb6/main.spi 00:18:40 verbose #27152 > > 00:18:40 verbose #27153 > > ╭─[ 199.44ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:40 verbose #27154 > > │ print_and_return / x: 0 │ 00:18:40 verbose #27155 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27156 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27157 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27158 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27159 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27160 > > │ print_and_return / x: 3 │ 00:18:40 verbose #27161 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27162 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27163 > > │ print_and_return / x: 3 │ 00:18:40 verbose #27164 > > │ print_and_return / x: 4 │ 00:18:40 verbose #27165 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27166 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27167 > > │ print_and_return / x: 3 │ 00:18:40 verbose #27168 > > │ print_and_return / x: 4 │ 00:18:40 verbose #27169 > > │ print_and_return / x: 5 │ 00:18:40 verbose #27170 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:40 verbose #27171 > > │ │ 00:18:40 verbose #27172 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:40 verbose #27173 > > 00:18:40 verbose #27174 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:40 verbose #27175 > > //// test 00:18:40 verbose #27176 > > 00:18:40 verbose #27177 > > stream.new_infinite_stream_ print_and_return 00:18:40 verbose #27178 > > |> stream.memoize 00:18:40 verbose #27179 > > |> fun list => 00:18:40 verbose #27180 > > inl list = list () 00:18:40 verbose #27181 > > fun n => 00:18:40 verbose #27182 > > list |> stream.try_item n 00:18:40 verbose #27183 > > |> take_while_ (fun n (_ : i32) => n < 5i32) 00:18:40 verbose #27184 > > |> listm'.sum 00:18:40 verbose #27185 > > |> _assert_eq 10 00:18:40 verbose #27186 > 00:18:39 debug #1406 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5463d9592570b3c88f729671ebe00ceae972b81b76c3948e6621d19b6ada2ec7/main.spi 00:18:40 verbose #27187 > > 00:18:40 verbose #27188 > > ╭─[ 178.09ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:40 verbose #27189 > > │ print_and_return / x: 0 │ 00:18:40 verbose #27190 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27191 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27192 > > │ print_and_return / x: 3 │ 00:18:40 verbose #27193 > > │ print_and_return / x: 4 │ 00:18:40 verbose #27194 > > │ print_and_return / x: 5 │ 00:18:40 verbose #27195 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:40 verbose #27196 > > │ │ 00:18:40 verbose #27197 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:40 verbose #27198 > > 00:18:40 verbose #27199 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:40 verbose #27200 > > //// test 00:18:40 verbose #27201 > > 00:18:40 verbose #27202 > > stream.new_finite_stream print_and_return 10i32 00:18:40 verbose #27203 > > |> stream.memoize 00:18:40 verbose #27204 > > |> fun list => 00:18:40 verbose #27205 > > inl list = list () 00:18:40 verbose #27206 > > fun n => 00:18:40 verbose #27207 > > list |> stream.try_item n 00:18:40 verbose #27208 > > |> take_while_ (fun n (_ : i32) => n < 5) 00:18:40 verbose #27209 > > |> listm'.sum 00:18:40 verbose #27210 > > |> _assert_eq 10 00:18:40 verbose #27211 > 00:18:39 debug #1407 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c5a71ad5fc5d8fc4e85a6f40068fa60f0372f15ffd43a5705227125e42b2a495/main.spi 00:18:40 verbose #27212 > > 00:18:40 verbose #27213 > > ╭─[ 231.48ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:40 verbose #27214 > > │ print_and_return / x: 0 │ 00:18:40 verbose #27215 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27216 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27217 > > │ print_and_return / x: 3 │ 00:18:40 verbose #27218 > > │ print_and_return / x: 4 │ 00:18:40 verbose #27219 > > │ print_and_return / x: 5 │ 00:18:40 verbose #27220 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:40 verbose #27221 > > │ │ 00:18:40 verbose #27222 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:40 verbose #27223 > > 00:18:40 verbose #27224 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:40 verbose #27225 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:40 verbose #27226 > > │ ### memoize │ 00:18:40 verbose #27227 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:40 verbose #27228 > > 00:18:40 verbose #27229 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:40 verbose #27230 > > inl memoize seq = 00:18:40 verbose #27231 > > inl state = mut [[]] 00:18:40 verbose #27232 > > fun n => 00:18:40 verbose #27233 > > match *state |> listm'.try_find (fun (n', _) => n' = n) with 00:18:40 verbose #27234 > > | Some (_, v) => v 00:18:40 verbose #27235 > > | None => 00:18:40 verbose #27236 > > inl new_state = seq n 00:18:40 verbose #27237 > > state <- (n, new_state) :: *state 00:18:40 verbose #27238 > > new_state 00:18:40 verbose #27239 > > 00:18:40 verbose #27240 > > inl memoize_ seq = 00:18:40 verbose #27241 > > inl state = mut [[]] 00:18:40 verbose #27242 > > fun n => 00:18:40 verbose #27243 > > match *state |> listm'.try_find_ (fun (n', _) => n' = n) with 00:18:40 verbose #27244 > > | Some (_, v) => v 00:18:40 verbose #27245 > > | None => 00:18:40 verbose #27246 > > inl new_state = seq n 00:18:40 verbose #27247 > > state <- (n, new_state) :: *state 00:18:40 verbose #27248 > > new_state 00:18:40 verbose #27249 > 00:18:40 debug #1408 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/35fa78954ff3aac15a6f236db571b2afabe27b04b04be5e6fd18c3278e3464b5/main.spi 00:18:40 verbose #27250 > > 00:18:40 verbose #27251 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:40 verbose #27252 > > //// test 00:18:40 verbose #27253 > > 00:18:40 verbose #27254 > > inl seq = 00:18:40 verbose #27255 > > fun n => 00:18:40 verbose #27256 > > n |> print_and_return |> Some 00:18:40 verbose #27257 > > |> memoize_ 00:18:40 verbose #27258 > > 00:18:40 verbose #27259 > > seq 00:18:40 verbose #27260 > > |> take_while_ (fun n (_ : i32) => n < 5) 00:18:40 verbose #27261 > > |> listm'.sum 00:18:40 verbose #27262 > > |> _assert_eq 10 00:18:40 verbose #27263 > > 00:18:40 verbose #27264 > > seq 00:18:40 verbose #27265 > > |> take_while_ (fun n _ => n < 5) 00:18:40 verbose #27266 > > |> listm'.sum 00:18:40 verbose #27267 > > |> _assert_eq 10 00:18:40 verbose #27268 > 00:18:40 debug #1409 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bafe14c29090417270d0c7e0366243122fa9f5de8481fa670cfb6afe95e8aa79/main.spi 00:18:40 verbose #27269 > > 00:18:40 verbose #27270 > > ╭─[ 217.54ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:40 verbose #27271 > > │ print_and_return / x: 0 │ 00:18:40 verbose #27272 > > │ print_and_return / x: 1 │ 00:18:40 verbose #27273 > > │ print_and_return / x: 2 │ 00:18:40 verbose #27274 > > │ print_and_return / x: 3 │ 00:18:40 verbose #27275 > > │ print_and_return / x: 4 │ 00:18:40 verbose #27276 > > │ print_and_return / x: 5 │ 00:18:40 verbose #27277 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:40 verbose #27278 > > │ assert_eq / actual: 10 / expected: 10 │ 00:18:40 verbose #27279 > > │ │ 00:18:40 verbose #27280 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:40 verbose #27281 > > 00:18:40 verbose #27282 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:40 verbose #27283 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:40 verbose #27284 > > │ ### iterate │ 00:18:40 verbose #27285 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:40 verbose #27286 > > 00:18:40 verbose #27287 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:40 verbose #27288 > > inl iterate f x0 num_steps = 00:18:40 verbose #27289 > > inl rec loop x n = 00:18:40 verbose #27290 > > if n <= 0 00:18:40 verbose #27291 > > then x 00:18:40 verbose #27292 > > else loop (f x) (n - 1) 00:18:40 verbose #27293 > > loop x0 num_steps 00:18:40 verbose #27294 > 00:18:40 debug #1410 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ef443ba48f0b04433b275debb04eeab30f11ccb7ee7df5ba0377dd98e0890c44/main.spi 00:18:40 verbose #27295 > > 00:18:40 verbose #27296 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:40 verbose #27297 > > //// test 00:18:40 verbose #27298 > > 00:18:40 verbose #27299 > > 10i32 |> iterate ((*) 2) 1i32 00:18:40 verbose #27300 > > |> _assert_eq 1024 00:18:41 verbose #27301 > 00:18:40 debug #1411 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/730cf1eaebc003ebff1c15877dd951b0a67e0d1aef684886069c5c6cf9269576/main.spi 00:18:41 verbose #27302 > > 00:18:41 verbose #27303 > > ╭─[ 97.97ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:41 verbose #27304 > > │ assert_eq / actual: 1024 / expected: 1024 │ 00:18:41 verbose #27305 > > │ │ 00:18:41 verbose #27306 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27307 > > 00:18:41 verbose #27308 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27309 > > inl iterate_ f x0 num_steps = 00:18:41 verbose #27310 > > let rec loop x n = 00:18:41 verbose #27311 > > if n <= 0 00:18:41 verbose #27312 > > then x 00:18:41 verbose #27313 > > else loop (f x) (n - 1) 00:18:41 verbose #27314 > > loop x0 num_steps 00:18:41 verbose #27315 > 00:18:40 debug #1412 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2adf9274ea41f43b34694f93f758add7a731846c8b62eace25c6a51efc868895/main.spi 00:18:41 verbose #27316 > > 00:18:41 verbose #27317 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27318 > > //// test 00:18:41 verbose #27319 > > 00:18:41 verbose #27320 > > 10i32 |> iterate_ ((*) 2) 1i32 00:18:41 verbose #27321 > > |> _assert_eq 1024 00:18:41 verbose #27322 > 00:18:40 debug #1413 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2017434d52f486e4b88e57cae22b8f4d64b7d4cfe826d351de9f7015e8de2eff/main.spi 00:18:41 verbose #27323 > > 00:18:41 verbose #27324 > > ╭─[ 108.07ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:41 verbose #27325 > > │ assert_eq / actual: 1024 / expected: 1024 │ 00:18:41 verbose #27326 > > │ │ 00:18:41 verbose #27327 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27328 > > 00:18:41 verbose #27329 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27330 > > inl iterate' f x0 num_steps = 00:18:41 verbose #27331 > > listm.init num_steps id 00:18:41 verbose #27332 > > |> listm.fold (fun x _ => f x) x0 00:18:41 verbose #27333 > 00:18:40 debug #1414 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0af7da457501a52f1a9b9146ed4ef6ddc0632e89870343cf526267df32d75f52/main.spi 00:18:41 verbose #27334 > > 00:18:41 verbose #27335 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27336 > > //// test 00:18:41 verbose #27337 > > 00:18:41 verbose #27338 > > 10i32 |> iterate' ((*) 2) 1i32 00:18:41 verbose #27339 > > |> _assert_eq 1024 00:18:41 verbose #27340 > 00:18:40 debug #1415 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b870f885b4da4960677f426fa1fe358969008719159b762b286bf04ad874b4ed/main.spi 00:18:41 verbose #27341 > > 00:18:41 verbose #27342 > > ╭─[ 98.76ms - stdout ]─────────────────────────────────────────────────────────╮ 00:18:41 verbose #27343 > > │ assert_eq / actual: 1024 / expected: 1024 │ 00:18:41 verbose #27344 > > │ │ 00:18:41 verbose #27345 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27346 > > 00:18:41 verbose #27347 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:41 verbose #27348 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:41 verbose #27349 > > │ ### find_last │ 00:18:41 verbose #27350 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27351 > > 00:18:41 verbose #27352 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27353 > > inl find_last forall item result. fold_fn fn target : option result = 00:18:41 verbose #27354 > > fold_fn (fun (item : item) (result : option result) => 00:18:41 verbose #27355 > > match result with 00:18:41 verbose #27356 > > | None => fn item 00:18:41 verbose #27357 > > | result => result 00:18:41 verbose #27358 > > ) target (None : option result) 00:18:41 verbose #27359 > > 00:18:41 verbose #27360 > > inl array_find_last forall item result. (fn : item -> option result) (target : a 00:18:41 verbose #27361 > > i32 item) : option result = 00:18:41 verbose #27362 > > find_last am.foldBack fn target 00:18:41 verbose #27363 > > 00:18:41 verbose #27364 > > inl list_find_last forall item result. (fn : item -> option result) (target : 00:18:41 verbose #27365 > > list item) : option result = 00:18:41 verbose #27366 > > find_last listm.foldBack fn target 00:18:41 verbose #27367 > 00:18:41 debug #1416 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c763c7cf5035755145751152dca8fa00a7376bbd6cf68ae836f489854e21c369/main.spi 00:18:41 verbose #27368 > > 00:18:41 verbose #27369 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:41 verbose #27370 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:41 verbose #27371 > > │ ## fsharp │ 00:18:41 verbose #27372 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27373 > > 00:18:41 verbose #27374 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:41 verbose #27375 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:41 verbose #27376 > > │ ### seq' │ 00:18:41 verbose #27377 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27378 > > 00:18:41 verbose #27379 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27380 > > nominal seq' t = $"backend_switch `({ Fsharp : $"`t seq"; Python : t })" 00:18:41 verbose #27381 > 00:18:41 debug #1417 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4b936e3d4b4e65f713b7d14a0f3bf692b25cdfe223f082258cd381ec090ea8bd/main.spi 00:18:41 verbose #27382 > > 00:18:41 verbose #27383 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:41 verbose #27384 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:41 verbose #27385 > > │ ### of_array' │ 00:18:41 verbose #27386 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:41 verbose #27387 > > 00:18:41 verbose #27388 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27389 > > inl of_array' forall dim t. (items : a dim t) : seq' t = 00:18:41 verbose #27390 > > backend_switch { 00:18:41 verbose #27391 > > Fsharp = fun () => $'seq { for i = 0 to !items.Length - 1 do yield 00:18:41 verbose #27392 > > !items.[[i]] }' : seq' t 00:18:41 verbose #27393 > > Python = fun () => $'!items ' : seq' t 00:18:41 verbose #27394 > > } 00:18:41 verbose #27395 > 00:18:41 debug #1418 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/098a0abbdd45fd670910f809371304877e1af3cbceab8a8fbe3443347717ae72/main.spi 00:18:41 verbose #27396 > > 00:18:41 verbose #27397 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:41 verbose #27398 > > //// test 00:18:41 verbose #27399 > > 00:18:41 verbose #27400 > > (a ;[[ "a"; "b" ]] : _ i32 _) 00:18:41 verbose #27401 > > |> of_array' 00:18:41 verbose #27402 > 00:18:41 debug #1419 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/600c97d7cafd9f035ccab5cc063769f8f7dc90b311ccfe34e2bd219a91c59484/main.spi 00:18:42 verbose #27403 > > 00:18:42 verbose #27404 > > ╭─[ 257.23ms - return value ]──────────────────────────────────────────────────╮ 00:18:42 verbose #27405 > > │ <details open="open" class="dni-treeview"><summary><span │ 00:18:42 verbose #27406 > > │ class="dni-code-hint"><code>[ a, b │ 00:18:42 verbose #27407 > > │ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ 00:18:42 verbose #27408 > > │ CheckClose</td><td><div │ 00:18:42 verbose #27409 > > │ class="dni-plaintext"><pre>False</pre></div></td></tr><tr><td>LastGenerated< │ 00:18:42 verbose #27410 > > │ /td><td><div │ 00:18:42 verbose #27411 > > │ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td>v2</td> │ 00:18:42 verbose #27412 > > │ <td><div class="dni-plaintext"><pre>[ a, b │ 00:18:42 verbose #27413 > > │ ]</pre></div></td></tr><tr><td>enum</td><td><div │ 00:18:42 verbose #27414 > > │ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td>pc</td> │ 00:18:42 verbose #27415 > > │ <td><div │ 00:18:42 verbose #27416 > > │ class="dni-plaintext"><pre>0</pre></div></td></tr><tr><td>current</td><td><d │ 00:18:42 verbose #27417 > > │ iv │ 00:18:42 verbose #27418 > > │ class="dni-plaintext"><pre><null></pre></div></td></tr><tr><td><i>(val │ 00:18:42 verbose #27419 > > │ ues)</i></td><td><div class="dni-plaintext"><pre>[ a, b │ 00:18:42 verbose #27420 > > │ ]</pre></div></td></tr></tbody></table></div></details><style> │ 00:18:42 verbose #27421 > > │ .dni-code-hint { │ 00:18:42 verbose #27422 > > │ font-style: italic; │ 00:18:42 verbose #27423 > > │ overflow: hidden; │ 00:18:42 verbose #27424 > > │ white-space: nowrap; │ 00:18:42 verbose #27425 > > │ } │ 00:18:42 verbose #27426 > > │ .dni-treeview { │ 00:18:42 verbose #27427 > > │ white-space: nowrap; │ 00:18:42 verbose #27428 > > │ } │ 00:18:42 verbose #27429 > > │ .dni-treeview td { │ 00:18:42 verbose #27430 > > │ vertical-align: top; │ 00:18:42 verbose #27431 > > │ text-align: start; │ 00:18:42 verbose #27432 > > │ } │ 00:18:42 verbose #27433 > > │ details.dni-treeview { │ 00:18:42 verbose #27434 > > │ padding-left: 1em; │ 00:18:42 verbose #27435 > > │ } │ 00:18:42 verbose #27436 > > │ table td { │ 00:18:42 verbose #27437 > > │ text-align: start; │ 00:18:42 verbose #27438 > > │ } │ 00:18:42 verbose #27439 > > │ table tr { │ 00:18:42 verbose #27440 > > │ vertical-align: top; │ 00:18:42 verbose #27441 > > │ margin: 0em 0px; │ 00:18:42 verbose #27442 > > │ } │ 00:18:42 verbose #27443 > > │ table tr td pre │ 00:18:42 verbose #27444 > > │ { │ 00:18:42 verbose #27445 > > │ vertical-align: top !important; │ 00:18:42 verbose #27446 > > │ margin: 0em 0px !important; │ 00:18:42 verbose #27447 > > │ } │ 00:18:42 verbose #27448 > > │ table th { │ 00:18:42 verbose #27449 > > │ text-align: start; │ 00:18:42 verbose #27450 > > │ } │ 00:18:42 verbose #27451 > > │ </style> │ 00:18:42 verbose #27452 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27453 > > 00:18:42 verbose #27454 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27455 > > inl of_array forall dim t. (items : a dim t) : seq' t = 00:18:42 verbose #27456 > > backend_switch { 00:18:42 verbose #27457 > > Fsharp = fun () => $'!items |> Seq.ofArray' : seq' t 00:18:42 verbose #27458 > > Python = fun () => $'!items ' : seq' t 00:18:42 verbose #27459 > > } 00:18:42 verbose #27460 > 00:18:41 debug #1420 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dfc32706d9a34d1d8f671ab8de6afbb17ec06c82a360351a3a03b666001f1ddf/main.spi 00:18:42 verbose #27461 > > 00:18:42 verbose #27462 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27463 > > //// test 00:18:42 verbose #27464 > > 00:18:42 verbose #27465 > > (a ;[[ "a"; "b" ]] : _ i32 _) 00:18:42 verbose #27466 > > |> of_array 00:18:42 verbose #27467 > 00:18:41 debug #1421 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0f7a2b8c524e4e1fad2a0dc9f462a5d1748d0b32e85922c58c7ef1128e035f03/main.spi 00:18:42 verbose #27468 > > 00:18:42 verbose #27469 > > ╭─[ 113.00ms - return value ]──────────────────────────────────────────────────╮ 00:18:42 verbose #27470 > > │ <details open="open" class="dni-treeview"><summary><span │ 00:18:42 verbose #27471 > > │ class="dni-code-hint"><code>[ a, b │ 00:18:42 verbose #27472 > > │ ]</code></span></summary><div><table><thead><tr></tr></thead><tbody><tr><td> │ 00:18:42 verbose #27473 > > │ f</td><td><details class="dni-treeview"><summary><span │ 00:18:42 verbose #27474 > > │ class="dni-code-hint"><code>Microsoft.FSharp.Collections.SeqModule+OfArray@1 │ 00:18:42 verbose #27475 > > │ 010[ │ 00:18:42 verbose #27476 > > │ System.String]</code></span></summary><div><table><thead><tr></tr></thead><t │ 00:18:42 verbose #27477 > > │ body><tr><td>source</td><td><div class="dni-plaintext"><pre>[ a, b │ 00:18:42 verbose #27478 > > │ ]</pre></div></td></tr></tbody></table></div></details></td></tr><tr><td><i> │ 00:18:42 verbose #27479 > > │ (values)</i></td><td><div class="dni-plaintext"><pre>[ a, b │ 00:18:42 verbose #27480 > > │ ]</pre></div></td></tr></tbody></table></div></details><style> │ 00:18:42 verbose #27481 > > │ .dni-code-hint { │ 00:18:42 verbose #27482 > > │ font-style: italic; │ 00:18:42 verbose #27483 > > │ overflow: hidden; │ 00:18:42 verbose #27484 > > │ white-space: nowrap; │ 00:18:42 verbose #27485 > > │ } │ 00:18:42 verbose #27486 > > │ .dni-treeview { │ 00:18:42 verbose #27487 > > │ white-space: nowrap; │ 00:18:42 verbose #27488 > > │ } │ 00:18:42 verbose #27489 > > │ .dni-treeview td { │ 00:18:42 verbose #27490 > > │ vertical-align: top; │ 00:18:42 verbose #27491 > > │ text-align: start; │ 00:18:42 verbose #27492 > > │ } │ 00:18:42 verbose #27493 > > │ details.dni-treeview { │ 00:18:42 verbose #27494 > > │ padding-left: 1em; │ 00:18:42 verbose #27495 > > │ } │ 00:18:42 verbose #27496 > > │ table td { │ 00:18:42 verbose #27497 > > │ text-align: start; │ 00:18:42 verbose #27498 > > │ } │ 00:18:42 verbose #27499 > > │ table tr { │ 00:18:42 verbose #27500 > > │ vertical-align: top; │ 00:18:42 verbose #27501 > > │ margin: 0em 0px; │ 00:18:42 verbose #27502 > > │ } │ 00:18:42 verbose #27503 > > │ table tr td pre │ 00:18:42 verbose #27504 > > │ { │ 00:18:42 verbose #27505 > > │ vertical-align: top !important; │ 00:18:42 verbose #27506 > > │ margin: 0em 0px !important; │ 00:18:42 verbose #27507 > > │ } │ 00:18:42 verbose #27508 > > │ table th { │ 00:18:42 verbose #27509 > > │ text-align: start; │ 00:18:42 verbose #27510 > > │ } │ 00:18:42 verbose #27511 > > │ </style> │ 00:18:42 verbose #27512 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27513 > > 00:18:42 verbose #27514 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:42 verbose #27515 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:42 verbose #27516 > > │ ### to_array' │ 00:18:42 verbose #27517 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27518 > > 00:18:42 verbose #27519 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27520 > > inl to_array' forall dim t. (items : seq' t) : a dim t = 00:18:42 verbose #27521 > > backend_switch { 00:18:42 verbose #27522 > > Fsharp = fun () => items |> $'Seq.toArray' : a dim t 00:18:42 verbose #27523 > > Python = fun () => $'!items ' : a dim t 00:18:42 verbose #27524 > > } 00:18:42 verbose #27525 > 00:18:41 debug #1422 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/804fd4af2459a07bdafbf8a1acb843ec257cd42357f799b6f0a2d0b4d1612a82/main.spi 00:18:42 verbose #27526 > > 00:18:42 verbose #27527 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27528 > > //// test 00:18:42 verbose #27529 > > 00:18:42 verbose #27530 > > (a ;[[ "a"; "b" ]] : _ i32 _) 00:18:42 verbose #27531 > > |> of_array' 00:18:42 verbose #27532 > > |> to_array' 00:18:42 verbose #27533 > > |> _assert_eq' (a ;[[ "a"; "b" ]] : _ i32 _) 00:18:42 verbose #27534 > 00:18:41 debug #1423 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/962936a5a1bdccb144642d59fa4d1b0a5fdb1da11e472fc73302eb0f54684299/main.spi 00:18:42 verbose #27535 > > 00:18:42 verbose #27536 > > ╭─[ 120.60ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:42 verbose #27537 > > │ assert_eq' / actual: [|"a"; "b"|] / expected: [|"a"; "b"|] │ 00:18:42 verbose #27538 > > │ │ 00:18:42 verbose #27539 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27540 > > 00:18:42 verbose #27541 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:42 verbose #27542 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:42 verbose #27543 > > │ ### of_list' │ 00:18:42 verbose #27544 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27545 > > 00:18:42 verbose #27546 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27547 > > inl of_list' forall t. (items : listm'.list' t) : seq' t = 00:18:42 verbose #27548 > > backend_switch { 00:18:42 verbose #27549 > > Fsharp = fun () => $'seq { for i = 0 to !items.Length - 1 do yield 00:18:42 verbose #27550 > > !items.[[i]] }' : seq' t 00:18:42 verbose #27551 > > Python = fun () => $'!items ' : seq' t 00:18:42 verbose #27552 > > } 00:18:42 verbose #27553 > 00:18:42 debug #1424 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/093081c08f9243351189647f9b9472793e5cb63d1e3af9bf4df73b5eb9b78eca/main.spi 00:18:42 verbose #27554 > > 00:18:42 verbose #27555 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:42 verbose #27556 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:42 verbose #27557 > > │ ### to_list' │ 00:18:42 verbose #27558 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27559 > > 00:18:42 verbose #27560 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27561 > > inl to_list' forall t. (items : seq' t) : listm'.list' t = 00:18:42 verbose #27562 > > backend_switch { 00:18:42 verbose #27563 > > Fsharp = fun () => items |> $'Seq.toList' : listm'.list' t 00:18:42 verbose #27564 > > Python = fun () => $'!items ' : listm'.list' t 00:18:42 verbose #27565 > > } 00:18:42 verbose #27566 > 00:18:42 debug #1425 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/328a91ca5c3a554b5a8202d8c025b202de2edcf00f072b77b03776d67205e01a/main.spi 00:18:42 verbose #27567 > > 00:18:42 verbose #27568 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27569 > > //// test 00:18:42 verbose #27570 > > 00:18:42 verbose #27571 > > (a ;[[ "a"; "b" ]] : _ i32 _) 00:18:42 verbose #27572 > > |> of_array 00:18:42 verbose #27573 > > |> to_list' 00:18:42 verbose #27574 > > |> listm'.unbox 00:18:42 verbose #27575 > > |> _assert_eq ([[ "a"; "b" ]]) 00:18:42 verbose #27576 > 00:18:42 debug #1426 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/de93a5d06735e93e4c1f37a3430e34f670b93ed62cb370a75379a0b58edd54cd/main.spi 00:18:42 verbose #27577 > > 00:18:42 verbose #27578 > > ╭─[ 136.67ms - stdout ]────────────────────────────────────────────────────────╮ 00:18:42 verbose #27579 > > │ assert_eq / actual: UH0_1 ("a", UH0_1 ("b", UH0_0)) / expected: UH0_1 ("a", │ 00:18:42 verbose #27580 > > │ UH0_1 ("b", UH0_0)) │ 00:18:42 verbose #27581 > > │ │ 00:18:42 verbose #27582 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27583 > > 00:18:42 verbose #27584 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:42 verbose #27585 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:42 verbose #27586 > > │ ### rev' │ 00:18:42 verbose #27587 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27588 > > 00:18:42 verbose #27589 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27590 > > inl rev'' forall t u. (items : t) : seq' u = 00:18:42 verbose #27591 > > backend_switch { 00:18:42 verbose #27592 > > Fsharp = fun () => items |> $'Seq.rev' : seq' u 00:18:42 verbose #27593 > > Python = fun () => $'reversed(!items)' : seq' u 00:18:42 verbose #27594 > > } 00:18:42 verbose #27595 > 00:18:42 debug #1427 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0ed38763cf8e4ef9e440f4e7955b340a6305a2cd6de3cce056f69008379b61ab/main.spi 00:18:42 verbose #27596 > > 00:18:42 verbose #27597 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:42 verbose #27598 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:42 verbose #27599 > > │ ## rust │ 00:18:42 verbose #27600 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27601 > > 00:18:42 verbose #27602 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:42 verbose #27603 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:42 verbose #27604 > > │ ### fuse │ 00:18:42 verbose #27605 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:42 verbose #27606 > > 00:18:42 verbose #27607 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:42 verbose #27608 > > nominal fuse t = 00:18:42 verbose #27609 > > `( 00:18:42 verbose #27610 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:18:42 verbose #27611 > > Fable.Core.Emit(\"core::iter::Fuse<$0>\")>]]\n#endif\ntype core_iter_Fuse<'T> = 00:18:42 verbose #27612 > > class end" 00:18:42 verbose #27613 > > $'' : $'core_iter_Fuse<`t>' 00:18:42 verbose #27614 > > ) 00:18:42 verbose #27615 > 00:18:42 debug #1428 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/44056ad0882ea16802dd4aa7cfc98dab3f5c55b7aebd2371d7c46a50400b8ae5/main.spi 00:18:43 verbose #27616 > 00:00:12 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 55568 } 00:18:43 verbose #27617 > 00:00:12 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:43 verbose #27618 > 00:00:12 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.ipynb to html 00:18:43 verbose #27619 > 00:00:12 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:18:43 verbose #27620 > 00:00:12 verbose #7 ! validate(nb) 00:18:44 verbose #27621 > 00:00:13 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:18:44 verbose #27622 > 00:00:13 verbose #9 ! return _pygments_highlight( 00:18:44 verbose #27623 > 00:00:13 verbose #10 ! [NbConvertApp] Writing 380793 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.html 00:18:44 verbose #27624 > 00:00:13 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 890 } 00:18:44 verbose #27625 > 00:00:13 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 890 } 00:18:44 verbose #27626 > 00:00:13 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/seq.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:44 verbose #27627 > 00:00:14 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:18:44 verbose #27628 > 00:00:14 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:18:44 verbose #27629 > 00:00:14 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 56517 } 00:18:44 debug #27630 runtime.execute_with_options_async / { exit_code = 0; output_length = 61121 } 00:18:44 debug #33 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path seq.dib --retries 3 00:18:44 debug #27631 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path env.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:44 verbose #27632 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "env.dib", "--retries", "3"])) } 00:18:44 verbose #27633 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/env.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/env.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/env.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/env.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:18:46 verbose #27634 > > 00:18:46 verbose #27635 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:46 verbose #27636 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:46 verbose #27637 > > │ # env │ 00:18:46 verbose #27638 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:46 verbose #27639 > > 00:18:46 verbose #27640 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:46 verbose #27641 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:46 verbose #27642 > > │ ## rust │ 00:18:46 verbose #27643 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:46 verbose #27644 > > 00:18:46 verbose #27645 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:46 verbose #27646 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:46 verbose #27647 > > │ ### var_error │ 00:18:46 verbose #27648 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:48 verbose #27649 > > 00:18:48 verbose #27650 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:48 verbose #27651 > > nominal var_error = 00:18:48 verbose #27652 > > `( 00:18:48 verbose #27653 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:18:48 verbose #27654 > > Fable.Core.Emit(\"std::env::VarError\")>]]\n#endif\ntype std_env_VarError = 00:18:48 verbose #27655 > > class end" 00:18:48 verbose #27656 > > $'' : $'std_env_VarError' 00:18:48 verbose #27657 > > ) 00:18:49 verbose #27658 > 00:18:48 debug #1429 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ab8d0c051e87f3689bfe64b63aca0f78ebb6625ac482c092f75813d56447f95d/main.spi 00:18:49 verbose #27659 > > 00:18:49 verbose #27660 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:49 verbose #27661 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:49 verbose #27662 > > │ ### get_environment_variable_comptime │ 00:18:49 verbose #27663 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:49 verbose #27664 > > 00:18:49 verbose #27665 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:49 verbose #27666 > > inl get_environment_variable_comptime (var : string) : string = 00:18:49 verbose #27667 > > run_target function 00:18:49 verbose #27668 > > | Rust (Native) => fun () => 00:18:49 verbose #27669 > > open rust.rust_operators 00:18:49 verbose #27670 > > !\($'"env\!(\\\"" + !var + "\\\")"') 00:18:49 verbose #27671 > > |> sm'.from_std_string 00:18:49 verbose #27672 > > | target => fun () => null () 00:18:49 verbose #27673 > 00:18:49 debug #1430 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4c8101c5c4aa59d77e1f75677b77fa213f33857052e68b603573185b10b028bb/main.spi 00:18:49 verbose #27674 > > 00:18:49 verbose #27675 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:49 verbose #27676 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:49 verbose #27677 > > │ ## python │ 00:18:49 verbose #27678 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:49 verbose #27679 > > 00:18:49 verbose #27680 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:49 verbose #27681 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:49 verbose #27682 > > │ ### os_environ │ 00:18:49 verbose #27683 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:49 verbose #27684 > > 00:18:49 verbose #27685 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:49 verbose #27686 > > nominal os_environ = any 00:18:49 verbose #27687 > 00:18:49 debug #1431 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ae632f0a6589b4b2b45bc79bc7884c2b4db112f6df05e7d194716466a8a0115a/main.spi 00:18:49 verbose #27688 > > 00:18:49 verbose #27689 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:49 verbose #27690 > > inl os_environ () : os_environ = 00:18:49 verbose #27691 > > backend_switch { 00:18:49 verbose #27692 > > Fsharp = fun () => 00:18:49 verbose #27693 > > open python_operators 00:18:49 verbose #27694 > > global "type IOsEnviron = abstract environ: x: unit -> obj" 00:18:49 verbose #27695 > > inl os : $'IOsEnviron' = python.import_all "os" 00:18:49 verbose #27696 > > !\($'"!os.environ"') : os_environ 00:18:49 verbose #27697 > > Python = fun () => 00:18:49 verbose #27698 > > global "import os" 00:18:49 verbose #27699 > > $'os.environ' : os_environ 00:18:49 verbose #27700 > > } 00:18:49 verbose #27701 > 00:18:49 debug #1432 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b0ff94c64b4c29905278ebf03ea99aabff901dafffade6e5fb6e56d08a37a4a/main.spi 00:18:49 verbose #27702 > > 00:18:49 verbose #27703 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:49 verbose #27704 > > inl environ_get (key : string) (os_environ : os_environ) : string = 00:18:49 verbose #27705 > > backend_switch { 00:18:49 verbose #27706 > > Fsharp = fun () => 00:18:49 verbose #27707 > > open python_operators 00:18:49 verbose #27708 > > !\\(key, $'"!os_environ.get($0)"') : string 00:18:49 verbose #27709 > > Python = fun () => 00:18:49 verbose #27710 > > $'!os_environ.get(!key)' : string 00:18:49 verbose #27711 > > } 00:18:49 verbose #27712 > 00:18:49 debug #1433 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1cf76eb48a14e5889120dcb233789a262371d808d9510b45b7f5803140fa3a60/main.spi 00:18:49 verbose #27713 > > 00:18:49 verbose #27714 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:49 verbose #27715 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:49 verbose #27716 > > │ ## env │ 00:18:49 verbose #27717 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:49 verbose #27718 > > 00:18:49 verbose #27719 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:49 verbose #27720 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:49 verbose #27721 > > │ ### get_environment_variable │ 00:18:49 verbose #27722 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:49 verbose #27723 > > 00:18:49 verbose #27724 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:49 verbose #27725 > > let get_environment_variable (var : string) : string = 00:18:49 verbose #27726 > > run_target function 00:18:49 verbose #27727 > > | Rust _ => fun () => 00:18:49 verbose #27728 > > open rust.rust_operators 00:18:49 verbose #27729 > > !\\(var, $'"std::env::var(&*$0)"') 00:18:49 verbose #27730 > > |> fun x => x : resultm.result' sm'.std_string var_error 00:18:49 verbose #27731 > > |> resultm.map' sm'.from_std_string 00:18:49 verbose #27732 > > |> resultm.unwrap_or' (join "") 00:18:49 verbose #27733 > > | Fsharp _ => fun () => 00:18:49 verbose #27734 > > var 00:18:49 verbose #27735 > > |> $'System.Environment.GetEnvironmentVariable' 00:18:49 verbose #27736 > > |> optionm'.of_obj 00:18:49 verbose #27737 > > |> optionm'.unbox 00:18:49 verbose #27738 > > |> optionm'.default_value "" 00:18:49 verbose #27739 > > | TypeScript _ => fun () => 00:18:49 verbose #27740 > > open typescript_operators 00:18:49 verbose #27741 > > !\\(var, $'"process.env[[$0]] ?? \\\"\\\""') 00:18:49 verbose #27742 > > | Python _ | Cuda _ => fun () => 00:18:49 verbose #27743 > > os_environ () 00:18:49 verbose #27744 > > |> environ_get var 00:18:49 verbose #27745 > > |> optionm'.of_obj 00:18:49 verbose #27746 > > |> optionm'.unbox 00:18:49 verbose #27747 > > |> optionm'.default_value "" 00:18:49 verbose #27748 > > | target => fun () => failwith $'$"env.get_environment_variable 00:18:49 verbose #27749 > > target: {!target} / var: {!var}"' 00:18:49 verbose #27750 > 00:18:49 debug #1434 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5d9971ffe612ed22ff0680b9116c79f8bfcdcce048765e54155893f065d30a18/main.spi 00:18:50 verbose #27751 > > 00:18:50 verbose #27752 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:50 verbose #27753 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:50 verbose #27754 > > │ ### get_entry_assembly_name │ 00:18:50 verbose #27755 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:50 verbose #27756 > > 00:18:50 verbose #27757 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:50 verbose #27758 > > let get_entry_assembly_name () : string = 00:18:50 verbose #27759 > > run_target function 00:18:50 verbose #27760 > > | Rust _ => fun () => 00:18:50 verbose #27761 > > (join "CARGO_PKG_NAME") |> get_environment_variable 00:18:50 verbose #27762 > > | Fsharp _ => fun () => 00:18:50 verbose #27763 > > $'System.Reflection.Assembly.GetEntryAssembly().GetName().Name' 00:18:50 verbose #27764 > > | target => fun () => failwith $'$"env.get_entry_assembly_name / target: 00:18:50 verbose #27765 > > {!target}"' 00:18:50 verbose #27766 > 00:18:49 debug #1435 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f36191e00a5ed73734001e9519db670a6d572fb8ebc47f4f943f84498c419e55/main.spi 00:18:50 verbose #27767 > > 00:18:50 verbose #27768 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:50 verbose #27769 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:50 verbose #27770 > > │ ### append_path │ 00:18:50 verbose #27771 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:50 verbose #27772 > > 00:18:50 verbose #27773 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:50 verbose #27774 > > inl append_path (path : string) : option string = 00:18:50 verbose #27775 > > inl env_path = "PATH" |> get_environment_variable 00:18:50 verbose #27776 > > if env_path = "" 00:18:50 verbose #27777 > > then None 00:18:50 verbose #27778 > > else 00:18:50 verbose #27779 > > inl env_sep = 00:18:50 verbose #27780 > > if platform.is_windows () 00:18:50 verbose #27781 > > then ";" 00:18:50 verbose #27782 > > else ":" 00:18:50 verbose #27783 > > Some $'$"{!path}{!env_sep}{!env_path}"' 00:18:50 verbose #27784 > 00:18:49 debug #1436 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/16baf4b326a5f722fad6fd29f37b45156b6dd19d9d1959478998e75f8bf7d9fc/main.spi 00:18:50 verbose #27785 > 00:00:05 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 7641 } 00:18:50 verbose #27786 > 00:00:05 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/env.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/env.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:51 verbose #27787 > 00:00:06 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/env.dib.ipynb to html 00:18:51 verbose #27788 > 00:00:06 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:18:51 verbose #27789 > 00:00:06 verbose #7 ! validate(nb) 00:18:51 verbose #27790 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:18:51 verbose #27791 > 00:00:06 verbose #9 ! return _pygments_highlight( 00:18:51 verbose #27792 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 290957 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/env.dib.html 00:18:51 verbose #27793 > 00:00:06 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 890 } 00:18:51 verbose #27794 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 890 } 00:18:51 verbose #27795 > 00:00:06 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/env.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/env.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:52 verbose #27796 > 00:00:07 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:18:52 verbose #27797 > 00:00:07 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:18:52 verbose #27798 > 00:00:07 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 8590 } 00:18:52 debug #27799 runtime.execute_with_options_async / { exit_code = 0; output_length = 11630 } 00:18:52 debug #34 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path env.dib --retries 3 00:18:52 debug #27800 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path python.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:52 verbose #27801 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "python.dib", "--retries", "3"])) } 00:18:52 verbose #27802 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/python.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/python.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/python.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/python.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:18:53 verbose #27803 > > 00:18:53 verbose #27804 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:53 verbose #27805 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:53 verbose #27806 > > │ # python │ 00:18:53 verbose #27807 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:53 verbose #27808 > > 00:18:53 verbose #27809 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:53 verbose #27810 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:53 verbose #27811 > > │ ### emit_expr │ 00:18:53 verbose #27812 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:56 verbose #27813 > > 00:18:56 verbose #27814 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:56 verbose #27815 > > inl emit_expr forall a t. (args : a) (code : string) : t = 00:18:56 verbose #27816 > > real 00:18:56 verbose #27817 > > $'Fable.Core.PyInterop.emitPyExpr !args !code ' : t 00:18:56 verbose #27818 > 00:18:55 debug #1437 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5447e0dc10564f04ef577d20fa8f92f247573bd47f061c29042e3e47e071987b/main.spi 00:18:56 verbose #27819 > > 00:18:56 verbose #27820 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:56 verbose #27821 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:56 verbose #27822 > > │ ### │ 00:18:56 verbose #27823 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:56 verbose #27824 > > 00:18:56 verbose #27825 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:56 verbose #27826 > > inl (~!\) forall t. (code : string) : t = 00:18:56 verbose #27827 > > emit_expr () code 00:18:56 verbose #27828 > 00:18:56 debug #1438 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b00ac9592ed76583bf0d1c17c0013f6f39638179952e6cbed2d811f62e382264/main.spi 00:18:56 verbose #27829 > > 00:18:56 verbose #27830 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:56 verbose #27831 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:56 verbose #27832 > > │ ### │ 00:18:56 verbose #27833 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:56 verbose #27834 > > 00:18:56 verbose #27835 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:56 verbose #27836 > > inl (~!\\) forall t u. ((args : t), (code : string)) : u = 00:18:56 verbose #27837 > > emit_expr args code 00:18:56 verbose #27838 > 00:18:56 debug #1439 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc066a710ba31498d2155086d76d96ef6fb4c6287fecc061873365ced829915d/main.spi 00:18:56 verbose #27839 > > 00:18:56 verbose #27840 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:56 verbose #27841 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:56 verbose #27842 > > │ ### │ 00:18:56 verbose #27843 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:56 verbose #27844 > > 00:18:56 verbose #27845 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:56 verbose #27846 > > inl import_all forall t. (file : string) : t = 00:18:56 verbose #27847 > > real 00:18:56 verbose #27848 > > $'Fable.Core.PyInterop.importAll !file ' : t 00:18:56 verbose #27849 > 00:18:56 debug #1440 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3f385c6af6c0dc432908d54e1c558d789b39449adc75e847b1b91b2940f32fb5/main.spi 00:18:57 verbose #27850 > > 00:18:57 verbose #27851 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:18:57 verbose #27852 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:18:57 verbose #27853 > > │ ### │ 00:18:57 verbose #27854 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:18:57 verbose #27855 > > 00:18:57 verbose #27856 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:18:57 verbose #27857 > > inl import forall t. (name : string) (file : string) : t = 00:18:57 verbose #27858 > > real 00:18:57 verbose #27859 > > $'Fable.Core.PyInterop.import !name !file ' : t 00:18:57 verbose #27860 > 00:18:56 debug #1441 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/75fccd10a6550c424d30c9017eded8c5430744be3810874309cad2aaeedc7a6f/main.spi 00:18:57 verbose #27861 > 00:00:05 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 3392 } 00:18:57 verbose #27862 > 00:00:05 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/python.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/python.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:57 verbose #27863 > 00:00:05 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/python.dib.ipynb to html 00:18:57 verbose #27864 > 00:00:05 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:18:57 verbose #27865 > 00:00:05 verbose #7 ! validate(nb) 00:18:58 verbose #27866 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:18:58 verbose #27867 > 00:00:06 verbose #9 ! return _pygments_highlight( 00:18:58 verbose #27868 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 278614 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/python.dib.html 00:18:58 verbose #27869 > 00:00:06 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 896 } 00:18:58 verbose #27870 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 896 } 00:18:58 verbose #27871 > 00:00:06 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/python.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/python.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:58 verbose #27872 > 00:00:06 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:18:58 verbose #27873 > 00:00:06 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:18:58 verbose #27874 > 00:00:06 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 4347 } 00:18:58 debug #27875 runtime.execute_with_options_async / { exit_code = 0; output_length = 7234 } 00:18:58 debug #35 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path python.dib --retries 3 00:18:58 debug #27876 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path typescript.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:18:58 verbose #27877 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "typescript.dib", "--retries", "3"])) } 00:18:58 verbose #27878 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:19:00 verbose #27879 > > 00:19:00 verbose #27880 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:00 verbose #27881 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:00 verbose #27882 > > │ # typescript │ 00:19:00 verbose #27883 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:00 verbose #27884 > > 00:19:00 verbose #27885 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:00 verbose #27886 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:00 verbose #27887 > > │ ### emit_expr │ 00:19:00 verbose #27888 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:02 verbose #27889 > > 00:19:02 verbose #27890 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:02 verbose #27891 > > inl emit_expr forall a t. (args : a) (code : string) : t = 00:19:02 verbose #27892 > > real 00:19:02 verbose #27893 > > $'Fable.Core.JsInterop.emitJsExpr !args !code ' : t 00:19:03 verbose #27894 > 00:19:02 debug #1442 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ffd4addd53f79aa04e68f6f302bd824f16c03e6b0378c0d72008016b3937842c/main.spi 00:19:03 verbose #27895 > > 00:19:03 verbose #27896 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:03 verbose #27897 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:03 verbose #27898 > > │ ### │ 00:19:03 verbose #27899 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:03 verbose #27900 > > 00:19:03 verbose #27901 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:03 verbose #27902 > > inl (~!\) forall t. (code : string) : t = 00:19:03 verbose #27903 > > emit_expr () code 00:19:03 verbose #27904 > 00:19:02 debug #1443 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/92a275d67df2eba3e649fcfd83691b71189adf20a9eae633febd0fa9139b7336/main.spi 00:19:03 verbose #27905 > > 00:19:03 verbose #27906 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:03 verbose #27907 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:03 verbose #27908 > > │ ### │ 00:19:03 verbose #27909 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:03 verbose #27910 > > 00:19:03 verbose #27911 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:03 verbose #27912 > > inl (~!\\) forall t u. ((args : t), (code : string)) : u = 00:19:03 verbose #27913 > > emit_expr args code 00:19:03 verbose #27914 > 00:19:03 debug #1444 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a94c8e498193017c7a37098496ec045f58660b4e7e5d36eaf0cef34cd40a2bdc/main.spi 00:19:03 verbose #27915 > > 00:19:03 verbose #27916 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:03 verbose #27917 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:03 verbose #27918 > > │ ### │ 00:19:03 verbose #27919 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:03 verbose #27920 > > 00:19:03 verbose #27921 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:03 verbose #27922 > > inl import_all forall t. (file : string) : t = 00:19:03 verbose #27923 > > real 00:19:03 verbose #27924 > > $'Fable.Core.JsInterop.importAll !file ' : t 00:19:03 verbose #27925 > 00:19:03 debug #1445 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bb6475de865cc5962b83d816d8a6a2e7fe48128f2411a97c7016f0b49cc6a338/main.spi 00:19:03 verbose #27926 > > 00:19:03 verbose #27927 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:03 verbose #27928 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:03 verbose #27929 > > │ ### │ 00:19:03 verbose #27930 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:03 verbose #27931 > > 00:19:03 verbose #27932 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:03 verbose #27933 > > inl import forall t. (name : string) (file : string) : t = 00:19:03 verbose #27934 > > real 00:19:03 verbose #27935 > > $'Fable.Core.JsInterop.import !name !file ' : t 00:19:03 verbose #27936 > 00:19:03 debug #1446 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/698c6e1e71c7d8bdab2cc6d00031ecfb5301f686bbc38beba7d10a842f6b0be9/main.spi 00:19:03 verbose #27937 > 00:00:05 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 3392 } 00:19:03 verbose #27938 > 00:00:05 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:19:04 verbose #27939 > 00:00:05 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.ipynb to html 00:19:04 verbose #27940 > 00:00:05 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:19:04 verbose #27941 > 00:00:05 verbose #7 ! validate(nb) 00:19:04 verbose #27942 > 00:00:06 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:19:04 verbose #27943 > 00:00:06 verbose #9 ! return _pygments_highlight( 00:19:04 verbose #27944 > 00:00:06 verbose #10 ! [NbConvertApp] Writing 278630 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.html 00:19:05 verbose #27945 > 00:00:06 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 904 } 00:19:05 verbose #27946 > 00:00:06 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 904 } 00:19:05 verbose #27947 > 00:00:06 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/typescript.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:19:05 verbose #27948 > 00:00:06 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:19:05 verbose #27949 > 00:00:06 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:19:05 verbose #27950 > 00:00:06 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 4355 } 00:19:05 debug #27951 runtime.execute_with_options_async / { exit_code = 0; output_length = 7278 } 00:19:05 debug #36 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path typescript.dib --retries 3 00:19:05 debug #27952 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path file_system.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:19:05 verbose #27953 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "file_system.dib", "--retries", "3"])) } 00:19:05 verbose #27954 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:19:06 verbose #27955 > > 00:19:06 verbose #27956 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:06 verbose #27957 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:06 verbose #27958 > > │ # file_system │ 00:19:06 verbose #27959 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:09 verbose #27960 > > 00:19:09 verbose #27961 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:09 verbose #27962 > > open sm'_operators 00:19:09 verbose #27963 > > open rust 00:19:09 verbose #27964 > > open rust_operators 00:19:09 verbose #27965 > 00:19:09 debug #1447 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b4ede50952ff9b2eae2f8bc7d71550262141559a045df8d2e9ad44846057ad9b/main.spi 00:19:09 verbose #27966 > > 00:19:09 verbose #27967 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:09 verbose #27968 > > //// test 00:19:09 verbose #27969 > > 00:19:09 verbose #27970 > > open testing 00:19:09 verbose #27971 > 00:19:09 debug #1448 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15940ef5d8f85b30ba43e3408c7adc79f0efee53503b522b6d30b2f516c571b5/main.spi 00:19:10 verbose #27972 > > 00:19:10 verbose #27973 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #27974 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #27975 > > │ ## fsharp │ 00:19:10 verbose #27976 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #27977 > > 00:19:10 verbose #27978 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #27979 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #27980 > > │ ### file_mode │ 00:19:10 verbose #27981 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #27982 > > 00:19:10 verbose #27983 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #27984 > > nominal file_mode' = $'System.IO.FileMode' 00:19:10 verbose #27985 > > 00:19:10 verbose #27986 > > union file_mode = 00:19:10 verbose #27987 > > | ModeCreateNew 00:19:10 verbose #27988 > > | ModeCreate 00:19:10 verbose #27989 > > | ModeOpen 00:19:10 verbose #27990 > > | ModeOpenOrCreate 00:19:10 verbose #27991 > > | Truncate 00:19:10 verbose #27992 > > | Append 00:19:10 verbose #27993 > > 00:19:10 verbose #27994 > > inl file_mode = function 00:19:10 verbose #27995 > > | ModeCreateNew => $'System.IO.FileMode.CreateNew' : file_mode' 00:19:10 verbose #27996 > > | ModeCreate => $'System.IO.FileMode.Create' : file_mode' 00:19:10 verbose #27997 > > | ModeOpen => $'System.IO.FileMode.Open' : file_mode' 00:19:10 verbose #27998 > > | ModeOpenOrCreate => $'System.IO.FileMode.OpenOrCreate' : file_mode' 00:19:10 verbose #27999 > > | Truncate => $'System.IO.FileMode.Truncate' : file_mode' 00:19:10 verbose #28000 > > | Append => $'System.IO.FileMode.Append' : file_mode' 00:19:10 verbose #28001 > 00:19:09 debug #1449 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/85394ec7c93880bf225a63e82c06cff18eaa5b59526b208438e0f1cf454a1198/main.spi 00:19:10 verbose #28002 > > 00:19:10 verbose #28003 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28004 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28005 > > │ ### file_access │ 00:19:10 verbose #28006 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28007 > > 00:19:10 verbose #28008 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28009 > > nominal file_access' = $'System.IO.FileAccess' 00:19:10 verbose #28010 > > 00:19:10 verbose #28011 > > union file_access = 00:19:10 verbose #28012 > > | AccessRead 00:19:10 verbose #28013 > > | AccessWrite 00:19:10 verbose #28014 > > | AccessReadWrite 00:19:10 verbose #28015 > > 00:19:10 verbose #28016 > > inl file_access = function 00:19:10 verbose #28017 > > | AccessRead => $'System.IO.FileAccess.Read' : file_access' 00:19:10 verbose #28018 > > | AccessWrite => $'System.IO.FileAccess.ReadWrite' : file_access' 00:19:10 verbose #28019 > > | AccessReadWrite => $'System.IO.FileAccess.ReadWrite' : file_access' 00:19:10 verbose #28020 > 00:19:09 debug #1450 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/23fef5975987550817b97e53567204d9ebef17bb6fc4da7f077bf2ba404996f8/main.spi 00:19:10 verbose #28021 > > 00:19:10 verbose #28022 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28023 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28024 > > │ ### file_share │ 00:19:10 verbose #28025 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28026 > > 00:19:10 verbose #28027 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28028 > > nominal file_share' = $'System.IO.FileShare' 00:19:10 verbose #28029 > > 00:19:10 verbose #28030 > > union file_share = 00:19:10 verbose #28031 > > | ShareNone 00:19:10 verbose #28032 > > | ShareRead 00:19:10 verbose #28033 > > | ShareWrite 00:19:10 verbose #28034 > > | ShareReadWrite 00:19:10 verbose #28035 > > | ShareDelete 00:19:10 verbose #28036 > > 00:19:10 verbose #28037 > > inl file_share = function 00:19:10 verbose #28038 > > | ShareNone => $'System.IO.FileShare.None' : file_share' 00:19:10 verbose #28039 > > | ShareRead => $'System.IO.FileShare.Read' : file_share' 00:19:10 verbose #28040 > > | ShareWrite => $'System.IO.FileShare.Write' : file_share' 00:19:10 verbose #28041 > > | ShareReadWrite => $'System.IO.FileShare.ReadWrite' : file_share' 00:19:10 verbose #28042 > > | ShareDelete => $'System.IO.FileShare.Delete' : file_share' 00:19:10 verbose #28043 > 00:19:09 debug #1451 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a31a55856d7c77cd022fd76d85a84657de24b8e54c4a2a1ee703bae89088ed9a/main.spi 00:19:10 verbose #28044 > > 00:19:10 verbose #28045 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28046 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28047 > > │ ### file_stream │ 00:19:10 verbose #28048 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28049 > > 00:19:10 verbose #28050 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28051 > > nominal file_stream' = $'System.IO.FileStream' 00:19:10 verbose #28052 > > 00:19:10 verbose #28053 > > inl file_stream (path : string) mode access share : file_stream' = 00:19:10 verbose #28054 > > run_target function 00:19:10 verbose #28055 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28056 > > inl mode = mode |> file_mode 00:19:10 verbose #28057 > > inl access = access |> file_access 00:19:10 verbose #28058 > > inl share = share |> file_share 00:19:10 verbose #28059 > > $'new System.IO.FileStream (!path, !mode, !access, !share)' 00:19:10 verbose #28060 > > | _ => fun () => null () 00:19:10 verbose #28061 > 00:19:09 debug #1452 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e2fa87e336a2e090ce4d39adcb74eca6ac28b5b8b7ab286a676aed29a5a2e90b/main.spi 00:19:10 verbose #28062 > > 00:19:10 verbose #28063 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28064 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28065 > > │ ### directory_info │ 00:19:10 verbose #28066 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28067 > > 00:19:10 verbose #28068 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28069 > > nominal directory_info = $'System.IO.DirectoryInfo' 00:19:10 verbose #28070 > > 00:19:10 verbose #28071 > > inl directory_info (path : string) : directory_info = 00:19:10 verbose #28072 > > path |> $'`directory_info ' 00:19:10 verbose #28073 > 00:19:09 debug #1453 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bab6ea73ecb0e15ffbd901fd8a4bbb526ccfaadbeecf8341350c8e5da77a9356/main.spi 00:19:10 verbose #28074 > > 00:19:10 verbose #28075 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28076 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28077 > > │ ### directory_info_exists │ 00:19:10 verbose #28078 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28079 > > 00:19:10 verbose #28080 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28081 > > inl directory_info_exists (info : directory_info) : bool = 00:19:10 verbose #28082 > > run_target function 00:19:10 verbose #28083 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28084 > > $'!info.Exists' 00:19:10 verbose #28085 > > | _ => fun () => null () 00:19:10 verbose #28086 > 00:19:10 debug #1454 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/817f5e914d6bb67ac40bbb41f51a550659c4bb02c73f23501c18291a8cd30f30/main.spi 00:19:10 verbose #28087 > > 00:19:10 verbose #28088 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28089 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28090 > > │ ### directory_info_creation_time │ 00:19:10 verbose #28091 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28092 > > 00:19:10 verbose #28093 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28094 > > inl directory_info_creation_time (info : directory_info) : date_time.date_time = 00:19:10 verbose #28095 > > run_target function 00:19:10 verbose #28096 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28097 > > $'!info.CreationTime' 00:19:10 verbose #28098 > > | _ => fun () => null () 00:19:10 verbose #28099 > 00:19:10 debug #1455 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe36c51218ba0f2eeee5cf945a888fff558cda871fcacf4091ae5409be0d5084/main.spi 00:19:10 verbose #28100 > > 00:19:10 verbose #28101 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28102 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28103 > > │ ### directory_info_name │ 00:19:10 verbose #28104 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28105 > > 00:19:10 verbose #28106 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28107 > > inl directory_info_name (info : directory_info) : string = 00:19:10 verbose #28108 > > run_target function 00:19:10 verbose #28109 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28110 > > $'!info.Name' 00:19:10 verbose #28111 > > | _ => fun () => null () 00:19:10 verbose #28112 > 00:19:10 debug #1456 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6fe2cf2411883b304c142fc096a6bec77415556b293fedcbf06e3b71b13dd915/main.spi 00:19:10 verbose #28113 > > 00:19:10 verbose #28114 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28115 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28116 > > │ ### directory_info_full_name │ 00:19:10 verbose #28117 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28118 > > 00:19:10 verbose #28119 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28120 > > inl directory_info_full_name (info : directory_info) : string = 00:19:10 verbose #28121 > > run_target function 00:19:10 verbose #28122 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28123 > > $'!info.FullName' 00:19:10 verbose #28124 > > | _ => fun () => null () 00:19:10 verbose #28125 > 00:19:10 debug #1457 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a04a1af90d87c8cd28785006e34977e71747066aa8db8d89cebf1c558051f29a/main.spi 00:19:10 verbose #28126 > > 00:19:10 verbose #28127 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28128 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28129 > > │ ### create_directory │ 00:19:10 verbose #28130 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28131 > > 00:19:10 verbose #28132 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28133 > > inl create_directory (path : string) : directory_info = 00:19:10 verbose #28134 > > run_target function 00:19:10 verbose #28135 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28136 > > path |> $'System.IO.Directory.CreateDirectory' 00:19:10 verbose #28137 > > | _ => fun () => null () 00:19:10 verbose #28138 > 00:19:10 debug #1458 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ebd42300c5052aea1b3d9c5863c841a5eb53e07052d9b64f43dc2ddac18170d8/main.spi 00:19:10 verbose #28139 > > 00:19:10 verbose #28140 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28141 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28142 > > │ ### directory_get_files │ 00:19:10 verbose #28143 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28144 > > 00:19:10 verbose #28145 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28146 > > inl directory_get_files (path : string) : array_base string = 00:19:10 verbose #28147 > > run_target function 00:19:10 verbose #28148 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28149 > > path |> $'System.IO.Directory.GetFiles' 00:19:10 verbose #28150 > > | _ => fun () => null () 00:19:10 verbose #28151 > 00:19:10 debug #1459 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8fc6f3feacd22a169a8b277aece23d9a9b256d2fa2f8d415f5766f28c61f38a8/main.spi 00:19:10 verbose #28152 > > 00:19:10 verbose #28153 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:10 verbose #28154 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:10 verbose #28155 > > │ ### file_move │ 00:19:10 verbose #28156 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:10 verbose #28157 > > 00:19:10 verbose #28158 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:10 verbose #28159 > > inl file_move (new_path : string) (old_path : string) : () = 00:19:10 verbose #28160 > > run_target function 00:19:10 verbose #28161 > > | Fsharp (Native) => fun () => 00:19:10 verbose #28162 > > $'System.IO.File.Move (!old_path, !new_path)' 00:19:10 verbose #28163 > > | _ => fun () => null () 00:19:10 verbose #28164 > 00:19:10 debug #1460 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c78e75488804eb363963918373cbf8685841763e82f51331acd3a1cda5d6d071/main.spi 00:19:11 verbose #28165 > > 00:19:11 verbose #28166 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:11 verbose #28167 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:11 verbose #28168 > > │ ### read_all_text_async │ 00:19:11 verbose #28169 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:11 verbose #28170 > > 00:19:11 verbose #28171 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:11 verbose #28172 > > inl read_all_text_async (path : string) : _ string = 00:19:11 verbose #28173 > > run_target function 00:19:11 verbose #28174 > > | Fsharp (Native) => fun () => 00:19:11 verbose #28175 > > path |> $'System.IO.File.ReadAllTextAsync' |> async.await_task 00:19:11 verbose #28176 > > | _ => fun () => null () 00:19:11 verbose #28177 > 00:19:10 debug #1461 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1c5d80d385c26e939ec267ad1cc90e739d9644028e11c0bfbf73bc613cccbf23/main.spi 00:19:11 verbose #28178 > > 00:19:11 verbose #28179 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:11 verbose #28180 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:11 verbose #28181 > > │ ### write_all_text_async │ 00:19:11 verbose #28182 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:11 verbose #28183 > > 00:19:11 verbose #28184 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:11 verbose #28185 > > inl write_all_text_async (path : string) (text : string) : _ () = 00:19:11 verbose #28186 > > run_target function 00:19:11 verbose #28187 > > | Fsharp (Native) => fun () => 00:19:11 verbose #28188 > > $'System.IO.File.WriteAllTextAsync (!path, !text)' |> 00:19:11 verbose #28189 > > async.await_task 00:19:11 verbose #28190 > > | _ => fun () => null () 00:19:11 verbose #28191 > 00:19:10 debug #1462 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8f1747a98e2ef4e35b55df1baf1317ad3af6bf670458d34b54950d82ad76da03/main.spi 00:19:11 verbose #28192 > > 00:19:11 verbose #28193 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:11 verbose #28194 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:11 verbose #28195 > > │ ### file_system_info │ 00:19:11 verbose #28196 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:11 verbose #28197 > > 00:19:11 verbose #28198 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:11 verbose #28199 > > nominal file_system_info = $'System.IO.FileSystemInfo' 00:19:11 verbose #28200 > 00:19:10 debug #1463 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1eea9b8aebc613be170eae291b90ea7762df2d9db296ab655dadb3e1d4227363/main.spi 00:19:11 verbose #28201 > > 00:19:11 verbose #28202 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:11 verbose #28203 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:11 verbose #28204 > > │ ### get_source_directory │ 00:19:11 verbose #28205 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:11 verbose #28206 > > 00:19:11 verbose #28207 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:11 verbose #28208 > > inl get_source_directory () = 00:19:11 verbose #28209 > > $'__SOURCE_DIRECTORY__' : string 00:19:11 verbose #28210 > 00:19:10 debug #1464 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/79a6baca7d4bf239f3888e0fcd3c72a7ede67d051096b519c955191a46617eb4/main.spi 00:19:11 verbose #28211 > > 00:19:11 verbose #28212 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:11 verbose #28213 > > //// test 00:19:11 verbose #28214 > > 00:19:11 verbose #28215 > > get_source_directory () 00:19:11 verbose #28216 > > |> directory_info 00:19:11 verbose #28217 > > |> directory_info_name 00:19:11 verbose #28218 > > |> _assert_eq "spiral" 00:19:11 verbose #28219 > 00:19:10 debug #1465 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/afcdd90fbf62fc644b4c4775e29d49f0504b2812393dec2b172c397f6c5699b5/main.spi 00:19:12 verbose #28220 > > 00:19:12 verbose #28221 > > ╭─[ 657.70ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:12 verbose #28222 > > │ assert_eq / actual: "spiral" / expected: "spiral" │ 00:19:12 verbose #28223 > > │ │ 00:19:12 verbose #28224 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28225 > > 00:19:12 verbose #28226 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28227 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28228 > > │ ## rust │ 00:19:12 verbose #28229 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28230 > > 00:19:12 verbose #28231 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28232 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28233 > > │ ### display │ 00:19:12 verbose #28234 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28235 > > 00:19:12 verbose #28236 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28237 > > nominal display = 00:19:12 verbose #28238 > > `( 00:19:12 verbose #28239 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:12 verbose #28240 > > Fable.Core.Emit(\"std::path::Display\")>]]\n#endif\ntype std_path_Display = 00:19:12 verbose #28241 > > class end" 00:19:12 verbose #28242 > > $'' : $'std_path_Display' 00:19:12 verbose #28243 > > ) 00:19:12 verbose #28244 > 00:19:11 debug #1466 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/13a15b10cfd94fef24b50d8104284665e69f1b2cf7df316ed81d4cb29dcf4dfc/main.spi 00:19:12 verbose #28245 > > 00:19:12 verbose #28246 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28247 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28248 > > │ ### path │ 00:19:12 verbose #28249 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28250 > > 00:19:12 verbose #28251 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28252 > > nominal path = 00:19:12 verbose #28253 > > `( 00:19:12 verbose #28254 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:12 verbose #28255 > > Fable.Core.Emit(\"std::path::Path\")>]]\n#endif\ntype std_path_Path = class end" 00:19:12 verbose #28256 > > $'' : $'std_path_Path' 00:19:12 verbose #28257 > > ) 00:19:12 verbose #28258 > 00:19:11 debug #1467 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d9db452cb3f2ff3c8798d02a75ad7e887d8abde681f160efb2c876c9a45bc4bb/main.spi 00:19:12 verbose #28259 > > 00:19:12 verbose #28260 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28261 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28262 > > │ ### path_buf │ 00:19:12 verbose #28263 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28264 > > 00:19:12 verbose #28265 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28266 > > nominal path_buf = 00:19:12 verbose #28267 > > `( 00:19:12 verbose #28268 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:12 verbose #28269 > > Fable.Core.Emit(\"std::path::PathBuf\")>]]\n#endif\ntype std_path_PathBuf = 00:19:12 verbose #28270 > > class end" 00:19:12 verbose #28271 > > $'' : $'std_path_PathBuf' 00:19:12 verbose #28272 > > ) 00:19:12 verbose #28273 > 00:19:11 debug #1468 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e796d3d046f7f3b7b463bd9ee4dd2c35ee289c00567d19432750284c8b492a8e/main.spi 00:19:12 verbose #28274 > > 00:19:12 verbose #28275 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28276 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28277 > > │ ### new_path_buf │ 00:19:12 verbose #28278 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28279 > > 00:19:12 verbose #28280 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28281 > > inl new_path_buf (path : sm'.std_string) : path_buf = 00:19:12 verbose #28282 > > !\\(path, $'"std::path::PathBuf::from($0)"') 00:19:12 verbose #28283 > 00:19:11 debug #1469 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f2bc20b9634455af44e9ca63f8044f3a489b6b025cd19cfe127be52e717e015f/main.spi 00:19:12 verbose #28284 > > 00:19:12 verbose #28285 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28286 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28287 > > │ ### path_buf_from │ 00:19:12 verbose #28288 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28289 > > 00:19:12 verbose #28290 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28291 > > inl path_buf_from (path : rust.box path) : path_buf = 00:19:12 verbose #28292 > > !\\(path, $'"std::path::PathBuf::from($0)"') 00:19:12 verbose #28293 > 00:19:11 debug #1470 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2c73ed721a154fa987b22dd628d8ed062aedab11f89ed0057766f53549e5ef03/main.spi 00:19:12 verbose #28294 > > 00:19:12 verbose #28295 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28296 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28297 > > │ ### path_buf_join │ 00:19:12 verbose #28298 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28299 > > 00:19:12 verbose #28300 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28301 > > inl path_buf_join (s : string) (path_buf : path_buf) : path_buf = 00:19:12 verbose #28302 > > !\\((path_buf, s |> sm'.to_std_string), $'"$0.join($1)"') 00:19:12 verbose #28303 > 00:19:12 debug #1471 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f2034ce8446f176f76f8d2f0f386e2e54b4fac5553c1af46cb73eec989e5d1ae/main.spi 00:19:12 verbose #28304 > > 00:19:12 verbose #28305 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28306 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28307 > > │ ### path_buf_strip_prefix │ 00:19:12 verbose #28308 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28309 > > 00:19:12 verbose #28310 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28311 > > inl path_buf_strip_prefix (s : string) (path_buf : path_buf) : path_buf = 00:19:12 verbose #28312 > > !\\((path_buf, s |> sm'.to_std_string), 00:19:12 verbose #28313 > > $'"$0.strip_prefix($1).unwrap().to_path_buf()"') 00:19:12 verbose #28314 > 00:19:12 debug #1472 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c35796eb437744f81beff3f5f850afb968673df6b37792c5c130d8e4a3602883/main.spi 00:19:12 verbose #28315 > > 00:19:12 verbose #28316 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28317 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28318 > > │ ### path_display │ 00:19:12 verbose #28319 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28320 > > 00:19:12 verbose #28321 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28322 > > inl path_display (path : rust.ref path) : display = 00:19:12 verbose #28323 > > !\\(path, $'"$0.display()"') 00:19:12 verbose #28324 > 00:19:12 debug #1473 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4cc46e146a3d1e5fe4134b67f0c5d654aad4db67953ff401bef6428dfc3b3379/main.spi 00:19:12 verbose #28325 > > 00:19:12 verbose #28326 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28327 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28328 > > │ ### path_buf_display │ 00:19:12 verbose #28329 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28330 > > 00:19:12 verbose #28331 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28332 > > inl path_buf_display (path_buf : path_buf) : display = 00:19:12 verbose #28333 > > !\\(path_buf, $'"$0.display()"') 00:19:12 verbose #28334 > 00:19:12 debug #1474 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/01244a1f95d64635e9a6f33f6de38b563f5673bf1e53bc8875faad2c3478562f/main.spi 00:19:12 verbose #28335 > > 00:19:12 verbose #28336 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28337 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28338 > > │ ### path_buf_file_name │ 00:19:12 verbose #28339 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28340 > > 00:19:12 verbose #28341 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28342 > > inl path_buf_file_name (path : path_buf) : optionm'.option' (rust.ref 00:19:12 verbose #28343 > > sm'.os_str) = 00:19:12 verbose #28344 > > !\($'"!path.file_name()"') 00:19:12 verbose #28345 > 00:19:12 debug #1475 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6c771a7b85e74b7f6f450c62bfbd03ea1cb850d0667b302e786e4f6f959b164f/main.spi 00:19:12 verbose #28346 > > 00:19:12 verbose #28347 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:12 verbose #28348 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:12 verbose #28349 > > │ ### path_buf_exists │ 00:19:12 verbose #28350 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:12 verbose #28351 > > 00:19:12 verbose #28352 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:12 verbose #28353 > > inl path_buf_exists (path_buf : path_buf) : bool = 00:19:12 verbose #28354 > > !\\(path_buf, $'"$0.exists()"') 00:19:13 verbose #28355 > 00:19:12 debug #1476 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/75d9bd21b283208f1a45187edd35e9d099b160b622521022a18bb4a51258ca61/main.spi 00:19:13 verbose #28356 > > 00:19:13 verbose #28357 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28358 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28359 > > │ ### path_buf_is_dir │ 00:19:13 verbose #28360 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28361 > > 00:19:13 verbose #28362 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28363 > > inl path_buf_is_dir (path_buf : path_buf) : bool = 00:19:13 verbose #28364 > > !\\(path_buf, $'"$0.is_dir()"') 00:19:13 verbose #28365 > 00:19:12 debug #1477 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3dd45bbc774fc9f0c4e856cf96548a2cce3c1c4e77d240bb2993acf6f4f9b6df/main.spi 00:19:13 verbose #28366 > > 00:19:13 verbose #28367 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28368 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28369 > > │ ### path_buf_is_file │ 00:19:13 verbose #28370 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28371 > > 00:19:13 verbose #28372 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28373 > > inl path_buf_is_file (path_buf : path_buf) : bool = 00:19:13 verbose #28374 > > !\\(path_buf, $'"$0.is_file()"') 00:19:13 verbose #28375 > 00:19:12 debug #1478 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/84f15944f741772b8b21505b0842edc5b91a7870cfe7e1c4a698bbab553197be/main.spi 00:19:13 verbose #28376 > > 00:19:13 verbose #28377 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28378 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28379 > > │ ### path_buf_is_symlink │ 00:19:13 verbose #28380 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28381 > > 00:19:13 verbose #28382 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28383 > > inl path_buf_is_symlink (path_buf : path_buf) : bool = 00:19:13 verbose #28384 > > !\\(path_buf, $'"$0.is_symlink()"') 00:19:13 verbose #28385 > 00:19:12 debug #1479 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eeb4e24956fdd375b24d353add42c8616267caddf9843d45bbf175ffdbb3c7c8/main.spi 00:19:13 verbose #28386 > > 00:19:13 verbose #28387 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28388 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28389 > > │ ### path_buf_parent │ 00:19:13 verbose #28390 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28391 > > 00:19:13 verbose #28392 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28393 > > inl path_buf_parent (path_buf : path_buf) : optionm'.option' path_buf = 00:19:13 verbose #28394 > > !\\(path_buf, $'"$0.parent().map(std::path::PathBuf::from)"') 00:19:13 verbose #28395 > 00:19:12 debug #1480 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eae3b7b7293d78c935be879036be42967d82a7656dc0342908eb568dce501271/main.spi 00:19:13 verbose #28396 > > 00:19:13 verbose #28397 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28398 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28399 > > │ ### dir_entry │ 00:19:13 verbose #28400 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28401 > > 00:19:13 verbose #28402 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28403 > > nominal dir_entry = 00:19:13 verbose #28404 > > `( 00:19:13 verbose #28405 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:13 verbose #28406 > > Fable.Core.Emit(\"async_walkdir::DirEntry\")>]]\n#endif\ntype 00:19:13 verbose #28407 > > async_walkdir_DirEntry = class end" 00:19:13 verbose #28408 > > $'' : $'async_walkdir_DirEntry' 00:19:13 verbose #28409 > > ) 00:19:13 verbose #28410 > 00:19:13 debug #1481 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f22c9bef228d1284eaa1434f07e3d3aae28d46c40bee8f2ddadbd78601944e5f/main.spi 00:19:13 verbose #28411 > > 00:19:13 verbose #28412 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28413 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28414 > > │ ### walk_dir │ 00:19:13 verbose #28415 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28416 > > 00:19:13 verbose #28417 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28418 > > nominal walk_dir = 00:19:13 verbose #28419 > > `( 00:19:13 verbose #28420 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:13 verbose #28421 > > Fable.Core.Emit(\"async_walkdir::WalkDir\")>]]\n#endif\ntype 00:19:13 verbose #28422 > > async_walkdir_WalkDir = class end" 00:19:13 verbose #28423 > > $'' : $'async_walkdir_WalkDir' 00:19:13 verbose #28424 > > ) 00:19:13 verbose #28425 > 00:19:13 debug #1482 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e240ebb3552cd757638b8855bd58fce85a01e51506e514f7a4762ad58174036f/main.spi 00:19:13 verbose #28426 > > 00:19:13 verbose #28427 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28428 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28429 > > │ ### async_walkdir_filtering │ 00:19:13 verbose #28430 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28431 > > 00:19:13 verbose #28432 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28433 > > nominal async_walkdir_filtering = 00:19:13 verbose #28434 > > `( 00:19:13 verbose #28435 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:13 verbose #28436 > > Fable.Core.Emit(\"async_walkdir::Filtering\")>]]\n#endif\ntype 00:19:13 verbose #28437 > > async_walkdir_Filtering = class end" 00:19:13 verbose #28438 > > $'' : $'async_walkdir_Filtering' 00:19:13 verbose #28439 > > ) 00:19:13 verbose #28440 > 00:19:13 debug #1483 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/eb30ae7372e3718c25864c766fe91cee9b6b428f32145a826caaa9870fc80203/main.spi 00:19:13 verbose #28441 > > 00:19:13 verbose #28442 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28443 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28444 > > │ ### filtering │ 00:19:13 verbose #28445 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28446 > > 00:19:13 verbose #28447 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28448 > > union filtering = 00:19:13 verbose #28449 > > | Ignore 00:19:13 verbose #28450 > > | IgnoreDir 00:19:13 verbose #28451 > > | Continue 00:19:13 verbose #28452 > 00:19:13 debug #1484 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a11cbee658aff57ac7dd090af986727daf69caf2a526e4f9ac61e94cce3cd9e5/main.spi 00:19:13 verbose #28453 > > 00:19:13 verbose #28454 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28455 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28456 > > │ ### async_walkdir_error │ 00:19:13 verbose #28457 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28458 > > 00:19:13 verbose #28459 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28460 > > nominal async_walkdir_error = 00:19:13 verbose #28461 > > `( 00:19:13 verbose #28462 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:13 verbose #28463 > > Fable.Core.Emit(\"async_walkdir::Error\")>]]\n#endif\ntype async_walkdir_Error = 00:19:13 verbose #28464 > > class end" 00:19:13 verbose #28465 > > $'' : $'async_walkdir_Error' 00:19:13 verbose #28466 > > ) 00:19:13 verbose #28467 > 00:19:13 debug #1485 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/070b141e9ee68372759be071b9b3f01944e40d1983c5b15afd0bb897896ea5e1/main.spi 00:19:13 verbose #28468 > > 00:19:13 verbose #28469 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28470 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28471 > > │ ### stream_filter_map │ 00:19:13 verbose #28472 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28473 > > 00:19:13 verbose #28474 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28475 > > inl stream_filter_map forall t. 00:19:13 verbose #28476 > > (fn : resultm.result' dir_entry async_walkdir_error -> optionm'.option' t) 00:19:13 verbose #28477 > > (stream : walk_dir) 00:19:13 verbose #28478 > > : am'.vec t = 00:19:13 verbose #28479 > > 00:19:13 verbose #28480 > > inl fn = join fn 00:19:13 verbose #28481 > > inl result : am'.vec t = 00:19:13 verbose #28482 > > 00:19:13 verbose #28483 > > !\($'"tokio_stream::StreamExt::collect(tokio_stream::StreamExt::filter_map(!stre 00:19:13 verbose #28484 > > am, |x| !fn(x))).await"') 00:19:13 verbose #28485 > > result 00:19:13 verbose #28486 > 00:19:13 debug #1486 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/35bb7789d8e288a826251f442cafeba555e1ceedcfb3abd22728926b1dc831de/main.spi 00:19:13 verbose #28487 > > 00:19:13 verbose #28488 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:13 verbose #28489 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:13 verbose #28490 > > │ ### new_walk_dir │ 00:19:13 verbose #28491 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:13 verbose #28492 > > 00:19:13 verbose #28493 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:13 verbose #28494 > > inl new_walk_dir (dir : string) : walk_dir = 00:19:13 verbose #28495 > > !\\(dir, $'"async_walkdir::WalkDir::new(&*$0)"') 00:19:13 verbose #28496 > > // inl walk_dir : walk_dir = walk_dir |> rust.to_mut 00:19:13 verbose #28497 > > // (!\($'"true; let mut !walk_dir = !walk_dir"') : bool) |> ignore 00:19:13 verbose #28498 > 00:19:13 debug #1487 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c966635975890f56b7d24f7856541c55fc14634bef032989c90b01c8a864da98/main.spi 00:19:14 verbose #28499 > > 00:19:14 verbose #28500 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28501 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28502 > > │ ### walk_dir_filter │ 00:19:14 verbose #28503 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28504 > > 00:19:14 verbose #28505 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28506 > > inl walk_dir_filter (fn : dir_entry -> async.future_pin_send filtering) 00:19:14 verbose #28507 > > (walk_dir : walk_dir) : walk_dir = 00:19:14 verbose #28508 > > inl fn entry = async.future_init_send (2, 1) 0 fun () => 00:19:14 verbose #28509 > > inl result = fn entry |> async.await_send 00:19:14 verbose #28510 > > inl filtering : async_walkdir_filtering = 00:19:14 verbose #28511 > > match result with 00:19:14 verbose #28512 > > | Ignore => !\($'"async_walkdir::Filtering::Ignore"') 00:19:14 verbose #28513 > > | IgnoreDir => !\($'"async_walkdir::Filtering::IgnoreDir"') 00:19:14 verbose #28514 > > | Continue => !\($'"async_walkdir::Filtering::Continue"') 00:19:14 verbose #28515 > > filtering 00:19:14 verbose #28516 > > !\\((walk_dir, fn), $'"async_walkdir::WalkDir::filter($0, |x| $1(x))"') 00:19:14 verbose #28517 > 00:19:13 debug #1488 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/23504f3ce7e93a6c40d6d686cbf2bb66ff9e4f71cf1202fa2e5d679579070f0c/main.spi 00:19:14 verbose #28518 > > 00:19:14 verbose #28519 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28520 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28521 > > │ ### file_type │ 00:19:14 verbose #28522 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28523 > > 00:19:14 verbose #28524 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28525 > > nominal file_type = 00:19:14 verbose #28526 > > `( 00:19:14 verbose #28527 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:14 verbose #28528 > > Fable.Core.Emit(\"std::fs::FileType\")>]]\n#endif\ntype std_fs_FileType = class 00:19:14 verbose #28529 > > end" 00:19:14 verbose #28530 > > $'' : $'std_fs_FileType' 00:19:14 verbose #28531 > > ) 00:19:14 verbose #28532 > 00:19:13 debug #1489 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9210f2fedbdb1af289815bff6296a1ace5730b79b5d58d67d3ed983cd88d3f93/main.spi 00:19:14 verbose #28533 > > 00:19:14 verbose #28534 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28535 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28536 > > │ ### dir_entry_file_type │ 00:19:14 verbose #28537 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28538 > > 00:19:14 verbose #28539 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28540 > > inl dir_entry_file_type (dir_entry : dir_entry) : async.future_pin_send 00:19:14 verbose #28541 > > (resultm.result' file_type stream.io_error) = 00:19:14 verbose #28542 > > inl dir_entry = join dir_entry 00:19:14 verbose #28543 > > !\($'"Box::pin(async_walkdir::DirEntry::file_type(&!dir_entry))"') 00:19:14 verbose #28544 > 00:19:13 debug #1490 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/c43c145ad58b491bc4316f0ee2ba5be8ccc8d220d9d8c0ef98f96fdcd11cae8c/main.spi 00:19:14 verbose #28545 > > 00:19:14 verbose #28546 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28547 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28548 > > │ ### file_type_is_dir │ 00:19:14 verbose #28549 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28550 > > 00:19:14 verbose #28551 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28552 > > inl file_type_is_dir (file_type : file_type) : bool = 00:19:14 verbose #28553 > > inl file_type = join file_type 00:19:14 verbose #28554 > > !\($'"std::fs::FileType::is_dir(&!file_type)"') 00:19:14 verbose #28555 > 00:19:13 debug #1491 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7926993146e162383ee7f24e4535bf655c96c4eadfd18b6a2bfc1c741c23a487/main.spi 00:19:14 verbose #28556 > > 00:19:14 verbose #28557 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28558 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28559 > > │ ### file │ 00:19:14 verbose #28560 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28561 > > 00:19:14 verbose #28562 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28563 > > nominal file = 00:19:14 verbose #28564 > > `( 00:19:14 verbose #28565 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:19:14 verbose #28566 > > Fable.Core.Emit(\"std::fs::File\")>]]\n#endif\ntype std_fs_File = class end" 00:19:14 verbose #28567 > > $'' : $'std_fs_File' 00:19:14 verbose #28568 > > ) 00:19:14 verbose #28569 > 00:19:13 debug #1492 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1253ac1b810b0340dd58fe3af7965b8c22bb8c12f1ae334315148f66cdf69a01/main.spi 00:19:14 verbose #28570 > > 00:19:14 verbose #28571 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28572 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28573 > > │ ### file_open │ 00:19:14 verbose #28574 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28575 > > 00:19:14 verbose #28576 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28577 > > inl file_open (path : string) : resultm.result' file stream.io_error = 00:19:14 verbose #28578 > > !\($'"std::fs::File::open(&*!path)"') 00:19:14 verbose #28579 > 00:19:14 debug #1493 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fc9a9957334ca6761554ba7f6fcaa2fd086ffc366498b915c869b0e2de7956ea/main.spi 00:19:14 verbose #28580 > > 00:19:14 verbose #28581 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:14 verbose #28582 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:14 verbose #28583 > > │ ### rename │ 00:19:14 verbose #28584 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:14 verbose #28585 > > 00:19:14 verbose #28586 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:14 verbose #28587 > > inl rename (to : string) (path : string) : resultm.result' () stream.io_error = 00:19:14 verbose #28588 > > !\($'"std::fs::rename(&*!path, &*!to)"') 00:19:14 verbose #28589 > 00:19:14 debug #1494 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77e598006045f1062bdf6ec88b12ad4a934492591d341b8e5f377a8ebec6adb8/main.spi 00:19:15 verbose #28590 > > 00:19:15 verbose #28591 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28592 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28593 > > │ ### dir_entry_path │ 00:19:15 verbose #28594 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28595 > > 00:19:15 verbose #28596 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28597 > > inl dir_entry_path (dir_entry : dir_entry) : path_buf = 00:19:15 verbose #28598 > > !\\(dir_entry, $'"async_walkdir::DirEntry::path(&$0)"') 00:19:15 verbose #28599 > 00:19:14 debug #1495 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ed8b65ff19e12c0c16b3c52211b440948753188e82b59a128701a4717d24e7ba/main.spi 00:19:15 verbose #28600 > > 00:19:15 verbose #28601 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28602 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28603 > > │ ### create_dir_all │ 00:19:15 verbose #28604 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28605 > > 00:19:15 verbose #28606 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28607 > > inl create_dir_all (path : string) : resultm.result' () stream.io_error = 00:19:15 verbose #28608 > > !\\(path, $'"std::fs::create_dir_all(&*$0)"') 00:19:15 verbose #28609 > 00:19:14 debug #1496 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bcae0cd9731bb45f5cc9c4eb7ab9f0267c9bad61ae3273799d87e78981350a05/main.spi 00:19:15 verbose #28610 > > 00:19:15 verbose #28611 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28612 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28613 > > │ ### read_link │ 00:19:15 verbose #28614 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28615 > > 00:19:15 verbose #28616 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28617 > > inl read_link (path : string) : resultm.result' path_buf stream.io_error = 00:19:15 verbose #28618 > > !\\(path, $'"std::fs::read_link(&*$0)"') 00:19:15 verbose #28619 > 00:19:14 debug #1497 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/438d6910bc800c62cb39896e811ced521b24df7a50adca32da777040246bcfe5/main.spi 00:19:15 verbose #28620 > > 00:19:15 verbose #28621 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28622 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28623 > > │ ## typescript │ 00:19:15 verbose #28624 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28625 > > 00:19:15 verbose #28626 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28627 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28628 > > │ ### ts_path_join │ 00:19:15 verbose #28629 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28630 > > 00:19:15 verbose #28631 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28632 > > inl ts_path_join (b : string) (a : string) : string = 00:19:15 verbose #28633 > > open typescript_operators 00:19:15 verbose #28634 > > global "type IPathJoin = abstract join: [[<System.ParamArray>]] paths: 00:19:15 verbose #28635 > > string[[]] -> string" 00:19:15 verbose #28636 > > inl path : $'IPathJoin' = typescript.import_all "path" 00:19:15 verbose #28637 > > !\\((join a, join b), $'"!path.join($0, $1)"') 00:19:15 verbose #28638 > 00:19:14 debug #1498 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8bbe60e0115d2ec5856fb9d6b54e46909b73a7ec5d41a6c2de1f1496b8c6f204/main.spi 00:19:15 verbose #28639 > > 00:19:15 verbose #28640 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28641 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28642 > > │ ## file_system │ 00:19:15 verbose #28643 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28644 > > 00:19:15 verbose #28645 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28646 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28647 > > │ ### (< />) │ 00:19:15 verbose #28648 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28649 > > 00:19:15 verbose #28650 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28651 > > let (</>) (a : string) (b : string) : string = 00:19:15 verbose #28652 > > run_target function 00:19:15 verbose #28653 > > | Rust (Contract) => fun () => null () 00:19:15 verbose #28654 > > | Rust (Native) => fun () => 00:19:15 verbose #28655 > > a 00:19:15 verbose #28656 > > |> sm'.to_std_string 00:19:15 verbose #28657 > > |> new_path_buf 00:19:15 verbose #28658 > > |> path_buf_join b 00:19:15 verbose #28659 > > |> path_buf_display 00:19:15 verbose #28660 > > |> sm'.format' 00:19:15 verbose #28661 > > |> sm'.from_std_string 00:19:15 verbose #28662 > > | TypeScript (Native) => fun () => 00:19:15 verbose #28663 > > a |> ts_path_join b 00:19:15 verbose #28664 > > | Fsharp (Native) => fun () => 00:19:15 verbose #28665 > > $'System.IO.Path.Combine (!a, !b)' 00:19:15 verbose #28666 > > | target => fun () => failwith $'$"file_system.(</>) / target: {!target} 00:19:15 verbose #28667 > > / a: {!a} / b: {!b}"' 00:19:15 verbose #28668 > 00:19:14 debug #1499 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/12caf8dcd9604da7789e4b60d57d75bcc8e34ebcb771f94ba1b806f62b9c66c8/main.spi 00:19:15 verbose #28669 > > 00:19:15 verbose #28670 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28671 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28672 > > │ ### get_temp_path │ 00:19:15 verbose #28673 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28674 > > 00:19:15 verbose #28675 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28676 > > let get_temp_path () : string = 00:19:15 verbose #28677 > > run_target function 00:19:15 verbose #28678 > > | Rust (Contract) => fun () => null () 00:19:15 verbose #28679 > > | Rust (Native) => fun () => 00:19:15 verbose #28680 > > !\($'"std::env::temp_dir()"') 00:19:15 verbose #28681 > > |> path_buf_display 00:19:15 verbose #28682 > > |> sm'.format' 00:19:15 verbose #28683 > > |> sm'.from_std_string 00:19:15 verbose #28684 > > | Fsharp (Native) => fun () => 00:19:15 verbose #28685 > > $'System.IO.Path.GetTempPath' () 00:19:15 verbose #28686 > > | target => fun () => failwith $'$"file_system.get_temp_path / target: 00:19:15 verbose #28687 > > {!target}"' 00:19:15 verbose #28688 > 00:19:15 debug #1500 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/905bd775f9ba0e626db72d04f9c57e3f82b41957b3ffaf41c869e56f71800967/main.spi 00:19:15 verbose #28689 > > 00:19:15 verbose #28690 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28691 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28692 > > │ ### get_file_name │ 00:19:15 verbose #28693 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28694 > > 00:19:15 verbose #28695 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28696 > > let get_file_name (path : string) : string = 00:19:15 verbose #28697 > > run_target function 00:19:15 verbose #28698 > > | Rust (Contract) => fun () => null () 00:19:15 verbose #28699 > > | Rust (Native) => fun () => 00:19:15 verbose #28700 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf 00:19:15 verbose #28701 > > !\\(path_buf, $'"$0.file_name()"') 00:19:15 verbose #28702 > > |> optionm'.unwrap 00:19:15 verbose #28703 > > |> sm'.from_os_str_ref 00:19:15 verbose #28704 > > | Fsharp (Native) => fun () => 00:19:15 verbose #28705 > > path |> $'System.IO.Path.GetFileName' 00:19:15 verbose #28706 > > | target => fun () => failwith $'$"file_system.get_file_name / target: 00:19:15 verbose #28707 > > {!target} / path: {!path}"' 00:19:15 verbose #28708 > 00:19:15 debug #1501 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/085ad1192ad2b167046d974c045e3813bfc0f95e370601de728a49909f950fe7/main.spi 00:19:15 verbose #28709 > > 00:19:15 verbose #28710 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28711 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28712 > > │ ### get_file_name_without_extension │ 00:19:15 verbose #28713 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28714 > > 00:19:15 verbose #28715 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28716 > > let get_file_name_without_extension (path : string) : string = 00:19:15 verbose #28717 > > run_target function 00:19:15 verbose #28718 > > | Rust (Contract) => fun () => null () 00:19:15 verbose #28719 > > | Rust (Native) => fun () => 00:19:15 verbose #28720 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf 00:19:15 verbose #28721 > > !\\(path_buf, $'"$0.file_stem()"') 00:19:15 verbose #28722 > > |> optionm'.unwrap 00:19:15 verbose #28723 > > |> sm'.from_os_str_ref 00:19:15 verbose #28724 > > | _ => fun () => 00:19:15 verbose #28725 > > path |> $'System.IO.Path.GetFileNameWithoutExtension' 00:19:15 verbose #28726 > 00:19:15 debug #1502 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/610d28b171fbc6e171ee48e18b76b3c93e830e9c19136aab1d1dd0ae7a8f7cc3/main.spi 00:19:15 verbose #28727 > > 00:19:15 verbose #28728 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28729 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28730 > > │ ### get_directory_name │ 00:19:15 verbose #28731 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28732 > > 00:19:15 verbose #28733 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28734 > > let get_directory_name (path : string) : string = 00:19:15 verbose #28735 > > run_target function 00:19:15 verbose #28736 > > | Rust (Contract) => fun () => null () 00:19:15 verbose #28737 > > | Rust (Native) => fun () => 00:19:15 verbose #28738 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf 00:19:15 verbose #28739 > > !\\(path_buf, $'"$0.parent()"') 00:19:15 verbose #28740 > > |> optionm'.unwrap 00:19:15 verbose #28741 > > |> path_display 00:19:15 verbose #28742 > > |> sm'.format' 00:19:15 verbose #28743 > > |> sm'.from_std_string 00:19:15 verbose #28744 > > | _ => fun () => 00:19:15 verbose #28745 > > path |> $'System.IO.Path.GetDirectoryName' 00:19:15 verbose #28746 > 00:19:15 debug #1503 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0828dff3f5c0f7b5b093ca2ffa3263cef8f38bb8e71d531441ac7fb30f7b350f/main.spi 00:19:15 verbose #28747 > > 00:19:15 verbose #28748 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28749 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28750 > > │ ### get_extension │ 00:19:15 verbose #28751 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28752 > > 00:19:15 verbose #28753 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28754 > > let get_extension (path : string) : string = 00:19:15 verbose #28755 > > run_target function 00:19:15 verbose #28756 > > | Rust (Contract) => fun () => null () 00:19:15 verbose #28757 > > | Rust (Native) => fun () => 00:19:15 verbose #28758 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf 00:19:15 verbose #28759 > > !\\(path_buf, $'"$0.extension()"') 00:19:15 verbose #28760 > > |> optionm'.unwrap 00:19:15 verbose #28761 > > |> sm'.from_os_str_ref 00:19:15 verbose #28762 > > | _ => fun () => 00:19:15 verbose #28763 > > path |> $'System.IO.Path.GetExtension' 00:19:15 verbose #28764 > 00:19:15 debug #1504 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5ae78f3847898eb3fcdfdaee841e788298b06c38d56c906d3b93577bebb4f19e/main.spi 00:19:15 verbose #28765 > > 00:19:15 verbose #28766 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:15 verbose #28767 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:15 verbose #28768 > > │ ### directory_separator_char │ 00:19:15 verbose #28769 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:15 verbose #28770 > > 00:19:15 verbose #28771 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:15 verbose #28772 > > let directory_separator_char () : char = 00:19:15 verbose #28773 > > run_target function 00:19:15 verbose #28774 > > | Rust (Native) => fun () => 00:19:15 verbose #28775 > > !\($'"std::path::MAIN_SEPARATOR"') 00:19:15 verbose #28776 > > | _ => fun () => 00:19:15 verbose #28777 > > $'System.IO.Path.DirectorySeparatorChar' 00:19:15 verbose #28778 > 00:19:15 debug #1505 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4bfe40a157c78cfdb57d589eede40faba0375fdbf8b54efddf46510c8e772170/main.spi 00:19:16 verbose #28779 > > 00:19:16 verbose #28780 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:16 verbose #28781 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:16 verbose #28782 > > │ ### get_current_directory │ 00:19:16 verbose #28783 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:16 verbose #28784 > > 00:19:16 verbose #28785 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:16 verbose #28786 > > let get_current_directory () : string = 00:19:16 verbose #28787 > > run_target function 00:19:16 verbose #28788 > > | Rust (Contract | Wasm) => fun () => null () 00:19:16 verbose #28789 > > | Rust (Native) => fun () => 00:19:16 verbose #28790 > > inl current_dir = !\($'"std::env::current_dir()"') : resultm.result' 00:19:16 verbose #28791 > > path_buf stream.io_error 00:19:16 verbose #28792 > > current_dir 00:19:16 verbose #28793 > > |> resultm.unwrap' 00:19:16 verbose #28794 > > |> path_buf_display 00:19:16 verbose #28795 > > |> sm'.format' 00:19:16 verbose #28796 > > |> sm'.from_std_string 00:19:16 verbose #28797 > > | Fsharp (Native) => fun () => 00:19:16 verbose #28798 > > $'System.IO.Directory.GetCurrentDirectory' () 00:19:16 verbose #28799 > > | _ => fun () => null () 00:19:16 verbose #28800 > 00:19:15 debug #1506 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ef811e1fbf151fcfe460f655b17cedd2fe27281fd73fb2941f381551ac5390f9/main.spi 00:19:16 verbose #28801 > > 00:19:16 verbose #28802 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:16 verbose #28803 > > //// test 00:19:16 verbose #28804 > > 00:19:16 verbose #28805 > > get_current_directory () 00:19:16 verbose #28806 > > |> _assert_contains (directory_separator_char ()) 00:19:16 verbose #28807 > 00:19:15 debug #1507 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/95defb176cd60e20791ebafd52bcbf67aabefb87e703c8ccec02f4e61291e0ad/main.spi 00:19:16 verbose #28808 > > 00:19:16 verbose #28809 > > ╭─[ 474.79ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:16 verbose #28810 > > │ assert_contains / actual: "/home/runner/work/polyglot/polyglot/lib/spiral" / │ 00:19:16 verbose #28811 > > │ expected: '/' │ 00:19:16 verbose #28812 > > │ │ 00:19:16 verbose #28813 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:16 verbose #28814 > > 00:19:16 verbose #28815 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:16 verbose #28816 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:16 verbose #28817 > > │ ### normalize_path │ 00:19:16 verbose #28818 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:16 verbose #28819 > > 00:19:16 verbose #28820 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:16 verbose #28821 > > let normalize_path (path : string) : string = 00:19:16 verbose #28822 > > if path = "" 00:19:16 verbose #28823 > > then "" 00:19:16 verbose #28824 > > else 00:19:16 verbose #28825 > > inl path = path |> sm'.replace_regex @"^\\\\\?\\" "" 00:19:16 verbose #28826 > > $'$"{!path.[[0]] |> string |> _.ToLower()}{!path.[[1..]]}"' |> 00:19:16 verbose #28827 > > sm'.replace "\\" "/" 00:19:16 verbose #28828 > 00:19:16 debug #1508 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f713f5780119927bf64852351b3d183e3ec7ea42d341395b858c58f2e3424b85/main.spi 00:19:16 verbose #28829 > > 00:19:16 verbose #28830 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:16 verbose #28831 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:16 verbose #28832 > > │ ### get_full_path │ 00:19:16 verbose #28833 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:16 verbose #28834 > > 00:19:16 verbose #28835 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:16 verbose #28836 > > let get_full_path (path : string) : string = 00:19:16 verbose #28837 > > run_target function 00:19:16 verbose #28838 > > | Fsharp (Native) => fun () => 00:19:16 verbose #28839 > > inl path = join path 00:19:16 verbose #28840 > > path |> $'System.IO.Path.GetFullPath' 00:19:16 verbose #28841 > > | Rust (Native) => fun () => 00:19:16 verbose #28842 > > inl path = join path 00:19:16 verbose #28843 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf 00:19:16 verbose #28844 > > if path_buf |> path_buf_exists |> not then 00:19:16 verbose #28845 > > inl current_dir = get_current_directory () 00:19:16 verbose #28846 > > current_dir </> path 00:19:16 verbose #28847 > > |> normalize_path 00:19:16 verbose #28848 > > |> sm'.split "/" 00:19:16 verbose #28849 > > |> fun x => 00:19:16 verbose #28850 > > ((a x : _ i32 _), (0i32, (a ;[[]] : _ i32 _))) 00:19:16 verbose #28851 > > ||> am.foldBack fun x level, acc => 00:19:16 verbose #28852 > > match x, level with 00:19:16 verbose #28853 > > | "..", _ => level + 1, acc 00:19:16 verbose #28854 > > | ".", _ => level, acc 00:19:16 verbose #28855 > > | _, 0 when x |> sm'.ends_with ":" => 0, a ;[[ 00:19:16 verbose #28856 > > $'$"{!current_dir.[[0]]}:"' ]] ++ acc 00:19:16 verbose #28857 > > | _, 0 => 0, a ;[[ x ]] ++ acc 00:19:16 verbose #28858 > > | _ => level - 1, acc 00:19:16 verbose #28859 > > |> snd 00:19:16 verbose #28860 > > |> seq.of_array' 00:19:16 verbose #28861 > > |> sm'.concat (directory_separator_char () |> sm'.obj_to_string) 00:19:16 verbose #28862 > > else 00:19:16 verbose #28863 > > inl path = !\\(path, $'"std::fs::canonicalize(&*$0)"') : 00:19:16 verbose #28864 > > resultm.result' path_buf stream.io_error 00:19:16 verbose #28865 > > path 00:19:16 verbose #28866 > > |> resultm.unwrap' 00:19:16 verbose #28867 > > |> path_buf_display 00:19:16 verbose #28868 > > |> sm'.format' 00:19:16 verbose #28869 > > |> sm'.from_std_string 00:19:16 verbose #28870 > > | _ => fun () => null () 00:19:16 verbose #28871 > 00:19:16 debug #1509 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/610c9e9403e24d0c97d1e51c5d999b8edd0a289f5cd49b3a10ef007abdf04f9c/main.spi 00:19:16 verbose #28872 > > 00:19:16 verbose #28873 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:16 verbose #28874 > > //// test 00:19:16 verbose #28875 > > 00:19:16 verbose #28876 > > "." 00:19:16 verbose #28877 > > |> get_full_path 00:19:16 verbose #28878 > > |> directory_info 00:19:16 verbose #28879 > > |> directory_info_name 00:19:16 verbose #28880 > > |> _assert_eq "spiral" 00:19:16 verbose #28881 > 00:19:16 debug #1510 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15cd266abe14c2bd64d25c0ddbe5c54a02d482890693a386f033e4ef0e5e9a6d/main.spi 00:19:17 verbose #28882 > > 00:19:17 verbose #28883 > > ╭─[ 381.76ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:17 verbose #28884 > > │ assert_eq / actual: "spiral" / expected: "spiral" │ 00:19:17 verbose #28885 > > │ │ 00:19:17 verbose #28886 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:17 verbose #28887 > > 00:19:17 verbose #28888 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:17 verbose #28889 > > //// test 00:19:17 verbose #28890 > > 00:19:17 verbose #28891 > > "dir/.././._file" 00:19:17 verbose #28892 > > |> get_full_path 00:19:17 verbose #28893 > > |> _assert_eq (get_current_directory () </> "._file") 00:19:17 verbose #28894 > 00:19:16 debug #1511 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b259f1c490c055f7285e323ff672f019cf3d2ca2704496a8918a0ba8d3ebd4b/main.spi 00:19:17 verbose #28895 > > 00:19:17 verbose #28896 > > ╭─[ 279.32ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:17 verbose #28897 > > │ assert_eq / actual: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │ 00:19:17 verbose #28898 > > │ / expected: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │ 00:19:17 verbose #28899 > > │ │ 00:19:17 verbose #28900 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:17 verbose #28901 > > 00:19:17 verbose #28902 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:17 verbose #28903 > > //// test 00:19:17 verbose #28904 > > ///! rust -d regex 00:19:17 verbose #28905 > > 00:19:17 verbose #28906 > > "." 00:19:17 verbose #28907 > > |> get_full_path 00:19:17 verbose #28908 > > |> sm'.to_std_string 00:19:17 verbose #28909 > > |> new_path_buf 00:19:17 verbose #28910 > > |> path_buf_file_name 00:19:17 verbose #28911 > > |> optionm'.unwrap 00:19:17 verbose #28912 > > |> sm'.from_os_str_ref 00:19:17 verbose #28913 > > |> _assert_eq "spiral" 00:19:17 verbose #28914 > 00:19:17 debug #1512 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/083b8aa29f5bae469e2504354850d2817df0c8517ddfa6e9a6a72dd8c0bcc99f/main.spi 00:19:25 verbose #28915 > > 00:19:25 verbose #28916 > > ╭─[ 8.24s - return value ]─────────────────────────────────────────────────────╮ 00:19:25 verbose #28917 > > │ assert_eq / actual: "spiral" / expected: "spiral" │ 00:19:25 verbose #28918 > > │ │ 00:19:25 verbose #28919 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:25 verbose #28920 > > 00:19:25 verbose #28921 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:25 verbose #28922 > > //// test 00:19:25 verbose #28923 > > ///! rust -d regex 00:19:25 verbose #28924 > > 00:19:25 verbose #28925 > > "dir/.././._file" 00:19:25 verbose #28926 > > |> get_full_path 00:19:25 verbose #28927 > > |> _assert_eq (get_current_directory () </> "._file") 00:19:25 verbose #28928 > 00:19:25 debug #1513 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cb135eb1e09c7106460e93ac6503384013b62beb7f264c39d7bd52a8912606ab/main.spi 00:19:33 verbose #28929 > > 00:19:33 verbose #28930 > > ╭─[ 7.81s - return value ]─────────────────────────────────────────────────────╮ 00:19:33 verbose #28931 > > │ assert_eq / actual: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │ 00:19:33 verbose #28932 > > │ / expected: "/home/runner/work/polyglot/polyglot/lib/spiral/._file" │ 00:19:33 verbose #28933 > > │ │ 00:19:33 verbose #28934 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:33 verbose #28935 > > 00:19:33 verbose #28936 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:33 verbose #28937 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:33 verbose #28938 > > │ ### create_temp_path' │ 00:19:33 verbose #28939 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:33 verbose #28940 > > 00:19:33 verbose #28941 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:33 verbose #28942 > > let create_temp_path' (guid : guid.guid) = 00:19:33 verbose #28943 > > run_target function 00:19:33 verbose #28944 > > | Rust (Contract) => fun () => null () 00:19:33 verbose #28945 > > | _ => fun () => 00:19:33 verbose #28946 > > get_temp_path () 00:19:33 verbose #28947 > > </> (join "!create_temp_path_") 00:19:33 verbose #28948 > > </> (env.get_entry_assembly_name ()) 00:19:33 verbose #28949 > > </> (guid |> sm'.obj_to_string) 00:19:33 verbose #28950 > 00:19:33 debug #1514 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8a7a45f7ea833a5ecf36b92ed980ae27aaf4cbc23fd0f6bf67c38573f7cbef2d/main.spi 00:19:33 verbose #28951 > > 00:19:33 verbose #28952 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:33 verbose #28953 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:33 verbose #28954 > > │ ### create_temp_path │ 00:19:33 verbose #28955 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:33 verbose #28956 > > 00:19:33 verbose #28957 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:33 verbose #28958 > > let create_temp_path () = 00:19:33 verbose #28959 > > run_target function 00:19:33 verbose #28960 > > | Rust (Contract) => fun () => null () 00:19:33 verbose #28961 > > | _ => fun () => 00:19:33 verbose #28962 > > date_time.now () 00:19:33 verbose #28963 > > |> date_time.new_guid_from_date_time 00:19:33 verbose #28964 > > |> create_temp_path' 00:19:33 verbose #28965 > 00:19:33 debug #1515 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/090ef66d7c33a5a47e7e9e6e1a976a4ef50159eadcd12a1115086cdd1bb39cf6/main.spi 00:19:33 verbose #28966 > > 00:19:33 verbose #28967 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:33 verbose #28968 > > //// test 00:19:33 verbose #28969 > > ///! fsharp 00:19:33 verbose #28970 > > ///! rust -d chrono 00:19:33 verbose #28971 > > 00:19:33 verbose #28972 > > create_temp_path () 00:19:33 verbose #28973 > > |> _assert_contains (directory_separator_char ()) 00:19:33 verbose #28974 > 00:19:33 debug #1516 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8b8cc7bef432d2f8f87c5f2910b97fb38d167d8a02dfa4fd57417fd001d0060b/main.spi 00:19:41 verbose #28975 > > 00:19:41 verbose #28976 > > ╭─[ 8.06s - return value ]─────────────────────────────────────────────────────╮ 00:19:41 verbose #28977 > > │ .rs output: │ 00:19:41 verbose #28978 > > │ assert_contains / actual: │ 00:19:41 verbose #28979 > > │ "/tmp/!create_temp_path_/spiral_builder_2aa52ae045c29e9ed2649ce430a889eb8041 │ 00:19:41 verbose #28980 > > │ 78fea2b6664cf9ef62446fd3d2f7/20240716-0213-1801-1313-0000008d87cb" / │ 00:19:41 verbose #28981 > > │ expected: '/' │ 00:19:41 verbose #28982 > > │ │ 00:19:41 verbose #28983 > > │ │ 00:19:41 verbose #28984 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:41 verbose #28985 > > 00:19:41 verbose #28986 > > ╭─[ 8.06s - stdout ]───────────────────────────────────────────────────────────╮ 00:19:41 verbose #28987 > > │ .fsx output: │ 00:19:41 verbose #28988 > > │ assert_contains / actual: │ 00:19:41 verbose #28989 > > │ "/tmp/!create_temp_path_/dotnet-repl/20240716-0213-1826-2643-200000441440" / │ 00:19:41 verbose #28990 > > │ expected: '/' │ 00:19:41 verbose #28991 > > │ │ 00:19:41 verbose #28992 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:41 verbose #28993 > > 00:19:41 verbose #28994 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:41 verbose #28995 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:41 verbose #28996 > > │ ### directory_exists │ 00:19:41 verbose #28997 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:41 verbose #28998 > > 00:19:41 verbose #28999 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:41 verbose #29000 > > let directory_exists (path : string) : bool = 00:19:41 verbose #29001 > > run_target function 00:19:41 verbose #29002 > > | Fsharp (Native) => fun () => 00:19:41 verbose #29003 > > path |> $'System.IO.Directory.Exists' 00:19:41 verbose #29004 > > | Rust (Native) => fun () => 00:19:41 verbose #29005 > > inl path = path |> sm'.to_std_string |> new_path_buf 00:19:41 verbose #29006 > > path_buf_exists path || path_buf_is_dir path || path_buf_is_symlink 00:19:41 verbose #29007 > > path 00:19:41 verbose #29008 > > | TypeScript (Native) => fun () => 00:19:41 verbose #29009 > > global "type IFsExistsSync = abstract existsSync: path: string -> 00:19:41 verbose #29010 > > bool" 00:19:41 verbose #29011 > > open typescript_operators 00:19:41 verbose #29012 > > inl fs : $'IFsExistsSync' = typescript.import_all "fs" 00:19:41 verbose #29013 > > !\\((fs, path), $'"$0.existsSync($1)"') 00:19:41 verbose #29014 > > | _ => fun () => null () 00:19:41 verbose #29015 > 00:19:41 debug #1517 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7734aada7b9c25aa225b1b8c164db0c5f64b7455a70c014b7596438d0d89f9e0/main.spi 00:19:41 verbose #29016 > > 00:19:41 verbose #29017 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:41 verbose #29018 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:41 verbose #29019 > > │ ### directory_get_parent │ 00:19:41 verbose #29020 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:41 verbose #29021 > > 00:19:41 verbose #29022 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:41 verbose #29023 > > let directory_get_parent (path : string) : optionm'.option' string = 00:19:41 verbose #29024 > > run_target function 00:19:41 verbose #29025 > > | Fsharp (Native) => fun () => 00:19:41 verbose #29026 > > inl parent : directory_info = path |> 00:19:41 verbose #29027 > > $'System.IO.Directory.GetParent' 00:19:41 verbose #29028 > > if parent =. null () 00:19:41 verbose #29029 > > then None 00:19:41 verbose #29030 > > else parent |> directory_info_full_name |> Some 00:19:41 verbose #29031 > > | Rust (Native) => fun () => 00:19:41 verbose #29032 > > path 00:19:41 verbose #29033 > > |> sm'.to_std_string 00:19:41 verbose #29034 > > |> new_path_buf 00:19:41 verbose #29035 > > |> path_buf_parent 00:19:41 verbose #29036 > > |> optionm'.try' 00:19:41 verbose #29037 > > |> path_buf_display 00:19:41 verbose #29038 > > |> sm'.format' 00:19:41 verbose #29039 > > |> sm'.from_std_string 00:19:41 verbose #29040 > > |> Some 00:19:41 verbose #29041 > > | TypeScript _ => fun () => 00:19:41 verbose #29042 > > open typescript_operators 00:19:41 verbose #29043 > > global "type IPathDirname = abstract dirname: path: string -> 00:19:41 verbose #29044 > > string" 00:19:41 verbose #29045 > > inl fs : $'IPathDirname' = typescript.import_all "path" 00:19:41 verbose #29046 > > !\\(path, $'"!fs.dirname($0)"') |> Some 00:19:41 verbose #29047 > > | _ => fun () => null () 00:19:41 verbose #29048 > > |> optionm'.box 00:19:41 verbose #29049 > 00:19:41 debug #1518 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/39f87b03daba78372efeceea524896cdf314fac6a826d5d0a576b1904f3f20e7/main.spi 00:19:42 verbose #29050 > > 00:19:42 verbose #29051 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29052 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29053 > > │ ### file_copy │ 00:19:42 verbose #29054 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29055 > > 00:19:42 verbose #29056 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29057 > > let file_copy (new_path : string) (old_path : string) : () = 00:19:42 verbose #29058 > > run_target function 00:19:42 verbose #29059 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29060 > > $'System.IO.File.Copy (!old_path, !new_path, true)' 00:19:42 verbose #29061 > > | Rust (Native) => fun () => 00:19:42 verbose #29062 > > inl new_path = join new_path 00:19:42 verbose #29063 > > !\\(old_path, $'"std::fs::copy(&*$0, &*!new_path)"') 00:19:42 verbose #29064 > > |> fun x => x : _ u64 stream.io_error 00:19:42 verbose #29065 > > |> resultm.unwrap' 00:19:42 verbose #29066 > > |> ignore 00:19:42 verbose #29067 > > | _ => fun () => null () 00:19:42 verbose #29068 > 00:19:41 debug #1519 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/cc1e55bf3e6b3f7e6789a4158b4011cc581ee3597f216dcc279e3b10ec2e6b5b/main.spi 00:19:42 verbose #29069 > > 00:19:42 verbose #29070 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29071 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29072 > > │ ### file_exists │ 00:19:42 verbose #29073 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29074 > > 00:19:42 verbose #29075 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29076 > > let file_exists (path : string) : bool = 00:19:42 verbose #29077 > > run_target function 00:19:42 verbose #29078 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29079 > > path |> $'System.IO.File.Exists' 00:19:42 verbose #29080 > > | Rust (Native) => fun () => 00:19:42 verbose #29081 > > inl path_buf = path |> sm'.to_std_string |> new_path_buf 00:19:42 verbose #29082 > > path_buf_exists path_buf && path_buf_is_file path_buf 00:19:42 verbose #29083 > > | TypeScript (Native) => fun () => 00:19:42 verbose #29084 > > open typescript_operators 00:19:42 verbose #29085 > > global "type IFsExistsSync = abstract existsSync: path: string -> 00:19:42 verbose #29086 > > bool" 00:19:42 verbose #29087 > > inl fs : $'IFsExistsSync' = typescript.import_all "fs" 00:19:42 verbose #29088 > > !\\((fs, path), $'"$0.existsSync($1)"') 00:19:42 verbose #29089 > > | _ => fun () => null () 00:19:42 verbose #29090 > 00:19:41 debug #1520 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/96984f843ac5130764efd435745aea06ffc2fd249dcd4c6cc92cdd85c5591ad7/main.spi 00:19:42 verbose #29091 > > 00:19:42 verbose #29092 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29093 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29094 > > │ ### directory_delete │ 00:19:42 verbose #29095 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29096 > > 00:19:42 verbose #29097 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29098 > > let directory_delete recursive (path : string) : () = 00:19:42 verbose #29099 > > run_target function 00:19:42 verbose #29100 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29101 > > $'System.IO.Directory.Delete (!path, !recursive)' 00:19:42 verbose #29102 > > | Rust (Native) => fun () => 00:19:42 verbose #29103 > > inl path = join path 00:19:42 verbose #29104 > > if path |> directory_exists then 00:19:42 verbose #29105 > > if recursive 00:19:42 verbose #29106 > > then !\\(path, $'"std::fs::remove_dir_all(&*$0).unwrap()"') 00:19:42 verbose #29107 > > else !\\(path, $'"std::fs::remove_dir(&*$0).unwrap()"') 00:19:42 verbose #29108 > > | _ => fun () => null () 00:19:42 verbose #29109 > 00:19:41 debug #1521 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6c8d00b0c3cda7a8f93ee63f3d2b376602c62a5c9aa3660d856aafa2cf3f8683/main.spi 00:19:42 verbose #29110 > > 00:19:42 verbose #29111 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29112 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29113 > > │ ### write_all_text │ 00:19:42 verbose #29114 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29115 > > 00:19:42 verbose #29116 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29117 > > inl write_all_text (path : string) (text : string) : () = 00:19:42 verbose #29118 > > run_target function 00:19:42 verbose #29119 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29120 > > inl text = join text 00:19:42 verbose #29121 > > $'System.IO.File.WriteAllText (!path, !text)' 00:19:42 verbose #29122 > > | Rust (Native) => fun () => 00:19:42 verbose #29123 > > !\\((path, text), $'"std::fs::write(&*$0, &*$1).unwrap()"') 00:19:42 verbose #29124 > > | _ => fun () => null () 00:19:42 verbose #29125 > 00:19:41 debug #1522 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/74f156a3f4e0f42f024fead7f831dea42e9f34c20336dc174cb17d82f487bb3b/main.spi 00:19:42 verbose #29126 > > 00:19:42 verbose #29127 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29128 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29129 > > │ ### read_all_bytes │ 00:19:42 verbose #29130 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29131 > > 00:19:42 verbose #29132 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29133 > > inl read_all_bytes (path : string) : am'.vec u8 = 00:19:42 verbose #29134 > > run_target function 00:19:42 verbose #29135 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29136 > > $'!path |> System.IO.File.ReadAllBytes' 00:19:42 verbose #29137 > > |> am'.to_vec 00:19:42 verbose #29138 > > | Rust (Native) => fun () => 00:19:42 verbose #29139 > > !\\(path, $'"std::fs::read(&*$0).unwrap()"') 00:19:42 verbose #29140 > > | _ => fun () => null () 00:19:42 verbose #29141 > 00:19:42 debug #1523 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/154744e0c8813ae8bc637b1b91a385e8a0461da50f84ed965c0046872b6efdae/main.spi 00:19:42 verbose #29142 > > 00:19:42 verbose #29143 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29144 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29145 > > │ ### read_all_text │ 00:19:42 verbose #29146 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29147 > > 00:19:42 verbose #29148 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29149 > > inl read_all_text (path : string) : string = 00:19:42 verbose #29150 > > run_target function 00:19:42 verbose #29151 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29152 > > $'!path |> System.IO.File.ReadAllText' 00:19:42 verbose #29153 > > | Rust (Native) => fun () => 00:19:42 verbose #29154 > > path 00:19:42 verbose #29155 > > |> read_all_bytes 00:19:42 verbose #29156 > > |> sm'.string_from_utf8 00:19:42 verbose #29157 > > |> resultm.unwrap' 00:19:42 verbose #29158 > > |> sm'.from_std_string 00:19:42 verbose #29159 > > | _ => fun () => null () 00:19:42 verbose #29160 > 00:19:42 debug #1524 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5ea8c08ae501c6dfed2e6814173cfe6bc18f8198e1e3527e83ebfa0a3cd84ed3/main.spi 00:19:42 verbose #29161 > > 00:19:42 verbose #29162 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29163 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29164 > > │ ### directory_create_symbolic_link │ 00:19:42 verbose #29165 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29166 > > 00:19:42 verbose #29167 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29168 > > inl directory_create_symbolic_link (target : string) (path : string) : () = 00:19:42 verbose #29169 > > run_target function 00:19:42 verbose #29170 > > | Fsharp (Native) => fun () => 00:19:42 verbose #29171 > > ($'System.IO.Directory.CreateSymbolicLink (!path, !target)' : 00:19:42 verbose #29172 > > file_system_info) 00:19:42 verbose #29173 > > |> ignore 00:19:42 verbose #29174 > > | Rust (Native) => fun () => 00:19:42 verbose #29175 > > platform.run_platform function 00:19:42 verbose #29176 > > | Windows => fun () => !\\((target, path), 00:19:42 verbose #29177 > > $'"std::os::windows::fs::symlink_dir(&*$0, &*$1).unwrap()"') 00:19:42 verbose #29178 > > | _ => fun () => !\\((target, path), 00:19:42 verbose #29179 > > $'"std::os::unix::fs::symlink(&*$0, &*$1).unwrap()"') 00:19:42 verbose #29180 > > | _ => fun () => null () 00:19:42 verbose #29181 > 00:19:42 debug #1525 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7d4cf14be06ebededa059ded5ca72d0569347057ffe87a8fc43515e5ab0a8e40/main.spi 00:19:42 verbose #29182 > > 00:19:42 verbose #29183 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:42 verbose #29184 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:42 verbose #29185 > > │ ### find_parent │ 00:19:42 verbose #29186 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:42 verbose #29187 > > 00:19:42 verbose #29188 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29189 > > inl find_parent name is_file root_dir = 00:19:42 verbose #29190 > > let rec loop dir = 00:19:42 verbose #29191 > > if dir </> name |> (if is_file then file_exists else directory_exists) 00:19:42 verbose #29192 > > then dir |> Ok 00:19:42 verbose #29193 > > else 00:19:42 verbose #29194 > > inl result = dir |> (join directory_get_parent) 00:19:42 verbose #29195 > > match result |> optionm'.unbox with 00:19:42 verbose #29196 > > | Some parent => parent |> loop 00:19:42 verbose #29197 > > | None => ($'$"""No parent for {if !is_file then "file" else "dir"} 00:19:42 verbose #29198 > > \'{!name}\' at \'{!root_dir}\' (until \'{!dir}\')"""' : string) |> Error 00:19:42 verbose #29199 > > loop root_dir 00:19:42 verbose #29200 > 00:19:42 debug #1526 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/60837a1083a7cd0b7c3e2677a97de048f39726224b1b3d94df4e0e9b33ec60db/main.spi 00:19:42 verbose #29201 > > 00:19:42 verbose #29202 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:42 verbose #29203 > > //// test 00:19:42 verbose #29204 > > 00:19:42 verbose #29205 > > a ;[[ ".paket", false; "paket.dependencies", true ]] 00:19:42 verbose #29206 > > |> am.map fun (file, is_file) => 00:19:42 verbose #29207 > > get_source_directory () 00:19:42 verbose #29208 > > |> find_parent file is_file 00:19:42 verbose #29209 > > |> resultm.get 00:19:42 verbose #29210 > > |> directory_info 00:19:42 verbose #29211 > > |> directory_info_name 00:19:42 verbose #29212 > > |> am'.distinct 00:19:42 verbose #29213 > > |> fun (a x : _ int _) => x 00:19:42 verbose #29214 > > |> _assert_eq' ;[[ "polyglot" ]] 00:19:42 verbose #29215 > 00:19:42 debug #1527 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2897bc3534bec6a80983c577e124d941b375b8d8c8e8ff49b39071985ae223ed/main.spi 00:19:43 verbose #29216 > > 00:19:43 verbose #29217 > > ╭─[ 296.11ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:43 verbose #29218 > > │ assert_eq' / actual: [|"polyglot"|] / expected: [|"polyglot"|] │ 00:19:43 verbose #29219 > > │ │ 00:19:43 verbose #29220 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:43 verbose #29221 > > 00:19:43 verbose #29222 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:43 verbose #29223 > > //// test 00:19:43 verbose #29224 > > ///! rust 00:19:43 verbose #29225 > > 00:19:43 verbose #29226 > > a ;[[ ".paket", false; "paket.dependencies", true ]] 00:19:43 verbose #29227 > > |> am.map fun (file, is_file) => 00:19:43 verbose #29228 > > fun () => 00:19:43 verbose #29229 > > join 00:19:43 verbose #29230 > > get_source_directory () 00:19:43 verbose #29231 > > |> find_parent file is_file 00:19:43 verbose #29232 > > |> resultm.get 00:19:43 verbose #29233 > > |> sm'.to_std_string 00:19:43 verbose #29234 > > |> new_path_buf 00:19:43 verbose #29235 > > |> path_buf_file_name 00:19:43 verbose #29236 > > |> optionm'.try' 00:19:43 verbose #29237 > > |> sm'.from_os_str_ref 00:19:43 verbose #29238 > > |> Some 00:19:43 verbose #29239 > > |> optionm'.box 00:19:43 verbose #29240 > > |> fun x => x () |> optionm'.unbox 00:19:43 verbose #29241 > > |> optionm'.default_value "" 00:19:43 verbose #29242 > > |> am'.distinct 00:19:43 verbose #29243 > > |> fun result => 00:19:43 verbose #29244 > > result |> am'.length |> _assert_eq 1i32 00:19:43 verbose #29245 > > index result 0i32 |> _assert_eq "polyglot" 00:19:43 verbose #29246 > 00:19:42 debug #1528 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5656c0c1a87f5f505c2f86e6a11d4529f8553a27df6e3f5fd6f11e5dea9a8b43/main.spi 00:19:51 verbose #29247 > > 00:19:51 verbose #29248 > > ╭─[ 8.09s - return value ]─────────────────────────────────────────────────────╮ 00:19:51 verbose #29249 > > │ assert_eq / actual: 1 / expected: 1 │ 00:19:51 verbose #29250 > > │ assert_eq / actual: "polyglot" / expected: "polyglot" │ 00:19:51 verbose #29251 > > │ │ 00:19:51 verbose #29252 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:51 verbose #29253 > > 00:19:51 verbose #29254 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:51 verbose #29255 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:51 verbose #29256 > > │ ### get_workspace_root │ 00:19:51 verbose #29257 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:51 verbose #29258 > > 00:19:51 verbose #29259 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:51 verbose #29260 > > inl get_workspace_root () = 00:19:51 verbose #29261 > > (None, [[ get_source_directory; get_current_directory ]]) 00:19:51 verbose #29262 > > ||> listm.fold fun acc path => 00:19:51 verbose #29263 > > match acc with 00:19:51 verbose #29264 > > | Some path => Some path 00:19:51 verbose #29265 > > | None => 00:19:51 verbose #29266 > > path () 00:19:51 verbose #29267 > > |> find_parent ("polyglot" </> ".devcontainer") false 00:19:51 verbose #29268 > > |> function 00:19:51 verbose #29269 > > | Ok path => Some path 00:19:51 verbose #29270 > > | Error error => 00:19:51 verbose #29271 > > trace Warning 00:19:51 verbose #29272 > > fun () => "file_system.get_workspace_root" 00:19:51 verbose #29273 > > fun () => { error } 00:19:51 verbose #29274 > > None 00:19:51 verbose #29275 > > |> optionm.value 00:19:51 verbose #29276 > > |> fun root => root </> "polyglot" 00:19:51 verbose #29277 > 00:19:50 debug #1529 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8309a79c70a516e30f79c4a09cfa1a93c25d0cf404ed13a7dcd2a3d99baae6d2/main.spi 00:19:51 verbose #29278 > > 00:19:51 verbose #29279 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:51 verbose #29280 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:51 verbose #29281 > > │ ### get_workspace_root_external │ 00:19:51 verbose #29282 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:51 verbose #29283 > > 00:19:51 verbose #29284 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:51 verbose #29285 > > inl get_workspace_root_external () = 00:19:51 verbose #29286 > > inl workspace_root = get_workspace_root () 00:19:51 verbose #29287 > > inl current_dir = get_current_directory () |> sm'.to_lower 00:19:51 verbose #29288 > > inl workspace_root = workspace_root |> sm'.to_lower 00:19:51 verbose #29289 > > if current_dir |> sm'.starts_with workspace_root 00:19:51 verbose #29290 > > then Error workspace_root 00:19:51 verbose #29291 > > else Ok workspace_root 00:19:51 verbose #29292 > 00:19:50 debug #1530 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/77cf6d247f83faafa425453ed09d34fac8f7999e749b577c62d4b0957fb22ce0/main.spi 00:19:51 verbose #29293 > > 00:19:51 verbose #29294 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:51 verbose #29295 > > //// test 00:19:51 verbose #29296 > > 00:19:51 verbose #29297 > > get_workspace_root_external () 00:19:51 verbose #29298 > > |> resultm.unwrap_err 00:19:51 verbose #29299 > > |> get_file_name 00:19:51 verbose #29300 > > |> _assert_eq "polyglot" 00:19:51 verbose #29301 > 00:19:51 debug #1531 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/58bb76dc93cf7a88cf7116612995d0c4f78b7a0e8eadbe6e75ed68184b36e68c/main.spi 00:19:51 verbose #29302 > > 00:19:51 verbose #29303 > > ╭─[ 428.53ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:51 verbose #29304 > > │ assert_eq / actual: "polyglot" / expected: "polyglot" │ 00:19:51 verbose #29305 > > │ │ 00:19:51 verbose #29306 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:51 verbose #29307 > > 00:19:51 verbose #29308 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:51 verbose #29309 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:51 verbose #29310 > > │ ### standardize_path │ 00:19:51 verbose #29311 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:51 verbose #29312 > > 00:19:51 verbose #29313 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:51 verbose #29314 > > let standardize_path path = 00:19:51 verbose #29315 > > path |> get_full_path |> normalize_path 00:19:51 verbose #29316 > 00:19:51 debug #1532 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/af1e82b18e4a7225cf3e32493c60cf2d78491c37f5c0c316f3980007d354b192/main.spi 00:19:52 verbose #29317 > > 00:19:52 verbose #29318 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:52 verbose #29319 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:52 verbose #29320 > > │ ### absolute_path │ 00:19:52 verbose #29321 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:52 verbose #29322 > > 00:19:52 verbose #29323 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:52 verbose #29324 > > let absolute_path path = 00:19:52 verbose #29325 > > inl current_dir = get_current_directory () 00:19:52 verbose #29326 > > current_dir </> path |> standardize_path 00:19:52 verbose #29327 > 00:19:51 debug #1533 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/82306c006d95195154220a842da136aeb9080b5160dd853644837eca891d81c4/main.spi 00:19:52 verbose #29328 > > 00:19:52 verbose #29329 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:52 verbose #29330 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:52 verbose #29331 > > │ ### new_file_uri │ 00:19:52 verbose #29332 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:52 verbose #29333 > > 00:19:52 verbose #29334 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:52 verbose #29335 > > inl new_file_uri (path : string) : string = 00:19:52 verbose #29336 > > inl path = path |> sm'.trim_start [[ '/' ]] 00:19:52 verbose #29337 > > $'$"file:///{!path}"' 00:19:52 verbose #29338 > 00:19:51 debug #1534 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b4f4151de5101fd05a29a84f044d4331c9115d73e14e4cfeec35e2ebf3e808b6/main.spi 00:19:52 verbose #29339 > > 00:19:52 verbose #29340 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:52 verbose #29341 > > //// test 00:19:52 verbose #29342 > > 00:19:52 verbose #29343 > > @"\\?\C:\test" 00:19:52 verbose #29344 > > |> normalize_path 00:19:52 verbose #29345 > > |> new_file_uri 00:19:52 verbose #29346 > > |> _assert_eq "file:///c:/test" 00:19:52 verbose #29347 > 00:19:51 debug #1535 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0e4223a4c858f99b3b0800d7e05a5d0126bced9592bbf7411a10f191b078c742/main.spi 00:19:52 verbose #29348 > > 00:19:52 verbose #29349 > > ╭─[ 556.37ms - stdout ]────────────────────────────────────────────────────────╮ 00:19:52 verbose #29350 > > │ assert_eq / actual: "file:///c:/test" / expected: "file:///c:/test" │ 00:19:52 verbose #29351 > > │ │ 00:19:52 verbose #29352 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:52 verbose #29353 > > 00:19:52 verbose #29354 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:52 verbose #29355 > > //// test 00:19:52 verbose #29356 > > ///! rust -d regex 00:19:52 verbose #29357 > > 00:19:52 verbose #29358 > > @"\\?\C:\test" 00:19:52 verbose #29359 > > |> normalize_path 00:19:52 verbose #29360 > > |> new_file_uri 00:19:52 verbose #29361 > > |> _assert_eq "file:///c:/test" 00:19:52 verbose #29362 > 00:19:52 debug #1536 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/15a734e31b3e519ecf01468bca57f06380993fd5e317cd6c30a0272fe52cf2b1/main.spi 00:19:59 verbose #29363 > > 00:19:59 verbose #29364 > > ╭─[ 7.16s - return value ]─────────────────────────────────────────────────────╮ 00:19:59 verbose #29365 > > │ assert_eq / actual: "file:///c:/test" / expected: "file:///c:/test" │ 00:19:59 verbose #29366 > > │ │ 00:19:59 verbose #29367 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:59 verbose #29368 > > 00:19:59 verbose #29369 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:19:59 verbose #29370 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:19:59 verbose #29371 > > │ ### file_delete │ 00:19:59 verbose #29372 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:19:59 verbose #29373 > > 00:19:59 verbose #29374 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:19:59 verbose #29375 > > inl file_delete (path : string) : () = 00:19:59 verbose #29376 > > run_target function 00:19:59 verbose #29377 > > | Fsharp (Native) => fun () => 00:19:59 verbose #29378 > > path |> $'System.IO.File.Delete' 00:19:59 verbose #29379 > > | Rust (Native) => fun () => 00:19:59 verbose #29380 > > !\\(path, $'"std::fs::remove_file(&*$0).unwrap()"') 00:19:59 verbose #29381 > > | _ => fun () => null () 00:19:59 verbose #29382 > 00:19:59 debug #1537 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6f5c17c3bf37cdbcbb06780649db844cbd190f52ae2626b28739f48a04524921/main.spi 00:20:00 verbose #29383 > > 00:20:00 verbose #29384 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:00 verbose #29385 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:00 verbose #29386 > > │ ## fsharp │ 00:20:00 verbose #29387 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:00 verbose #29388 > > 00:20:00 verbose #29389 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:00 verbose #29390 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:00 verbose #29391 > > │ ### file_exists_content_async │ 00:20:00 verbose #29392 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:00 verbose #29393 > > 00:20:00 verbose #29394 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:00 verbose #29395 > > inl file_exists_content_async path content : async.async bool = 00:20:00 verbose #29396 > > run_target function 00:20:00 verbose #29397 > > | Fsharp (Native) => fun () => 00:20:00 verbose #29398 > > fun () => 00:20:00 verbose #29399 > > fix_condition 00:20:00 verbose #29400 > > fun () => path |> file_exists |> not 00:20:00 verbose #29401 > > fun () => false |> return 00:20:00 verbose #29402 > > fun () => 00:20:00 verbose #29403 > > inl existing_content = path |> read_all_text_async |> 00:20:00 verbose #29404 > > async.let' 00:20:00 verbose #29405 > > content = existing_content |> return 00:20:00 verbose #29406 > > |> async.new_async_unit 00:20:00 verbose #29407 > > | _ => fun () => null () 00:20:00 verbose #29408 > 00:19:59 debug #1538 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/afe38a386b1316689fb6919af18b0e3297056a34485629318b966322654c22ea/main.spi 00:20:00 verbose #29409 > > 00:20:00 verbose #29410 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:00 verbose #29411 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:00 verbose #29412 > > │ ### write_all_text_exists_async │ 00:20:00 verbose #29413 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:00 verbose #29414 > > 00:20:00 verbose #29415 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:00 verbose #29416 > > inl write_all_text_exists_async path contents = 00:20:00 verbose #29417 > > fun () => 00:20:00 verbose #29418 > > inl exists' = contents |> file_exists_content_async path |> async.let' 00:20:00 verbose #29419 > > if not exists' 00:20:00 verbose #29420 > > then contents |> write_all_text_async path |> async.do 00:20:00 verbose #29421 > > |> async.new_async 00:20:00 verbose #29422 > 00:19:59 debug #1539 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/72abe82e7c80cede1533efce28786fa924ac06952f0b890bb8696aa3fa0c9856/main.spi 00:20:00 verbose #29423 > > 00:20:00 verbose #29424 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:00 verbose #29425 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:00 verbose #29426 > > │ ### delete_directory_async │ 00:20:00 verbose #29427 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:00 verbose #29428 > > 00:20:00 verbose #29429 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:00 verbose #29430 > > inl delete_directory_async path : _ i64 = 00:20:00 verbose #29431 > > run_target function 00:20:00 verbose #29432 > > | Fsharp (Native) => fun () => 00:20:00 verbose #29433 > > let rec loop (retry : i64) = 00:20:00 verbose #29434 > > fun () => 00:20:00 verbose #29435 > > try_unit 00:20:00 verbose #29436 > > fun () => 00:20:00 verbose #29437 > > path |> directory_delete true 00:20:00 verbose #29438 > > retry |> return 00:20:00 verbose #29439 > > fun ex => 00:20:00 verbose #29440 > > if retry % 100i64 = 0 then 00:20:00 verbose #29441 > > inl ex = ex |> sm'.format_exception 00:20:00 verbose #29442 > > trace Debug 00:20:00 verbose #29443 > > fun () => 00:20:00 verbose #29444 > > "file_system.delete_directory_async" 00:20:00 verbose #29445 > > fun () => { ex path = path |> get_file_name 00:20:00 verbose #29446 > > } 00:20:00 verbose #29447 > > async.sleep 10i32 |> async.do 00:20:00 verbose #29448 > > loop (retry + 1) |> async.return_await 00:20:00 verbose #29449 > > |> async.new_async 00:20:00 verbose #29450 > > loop 0 00:20:00 verbose #29451 > > | _ => fun () => null () 00:20:00 verbose #29452 > 00:19:59 debug #1540 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1f3d381e2f24eecd63deac233b884c863217519cabec9f9d64c78f285a4bebe6/main.spi 00:20:00 verbose #29453 > > 00:20:00 verbose #29454 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:00 verbose #29455 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:00 verbose #29456 > > │ ### trace_file │ 00:20:00 verbose #29457 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:00 verbose #29458 > > 00:20:00 verbose #29459 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:00 verbose #29460 > > let rec trace_file text = 00:20:00 verbose #29461 > > run_target function 00:20:00 verbose #29462 > > | Fsharp (Native) => fun () => 00:20:00 verbose #29463 > > try_unit 00:20:00 verbose #29464 > > fun () => 00:20:00 verbose #29465 > > inl assembly_name = env.get_entry_assembly_name () 00:20:00 verbose #29466 > > inl guid = date_time.now () |> date_time.new_guid_from_date_time 00:20:00 verbose #29467 > > inl file_name = $'$"{!assembly_name}_{!guid}.txt"' 00:20:00 verbose #29468 > > 00:20:00 verbose #29469 > > inl workspace_root = get_workspace_root () 00:20:00 verbose #29470 > > inl trace_dir = workspace_root </> "target/trace" 00:20:00 verbose #29471 > > trace_dir |> create_directory |> ignore 00:20:00 verbose #29472 > > inl path = trace_dir </> file_name 00:20:00 verbose #29473 > > text |> write_all_text_async path |> async.run_synchronously 00:20:00 verbose #29474 > > fun ex => 00:20:00 verbose #29475 > > trace_file $'$"file_system.trace_file / ex: %A{!ex}"' 00:20:00 verbose #29476 > > | _ => fun () => () 00:20:00 verbose #29477 > 00:20:00 debug #1541 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/df2acb08c8100f4280a6a34ce9051380c930e00a8092409bda2e3d5d5bde4f84/main.spi 00:20:00 verbose #29478 > > 00:20:00 verbose #29479 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:00 verbose #29480 > > //// test 00:20:00 verbose #29481 > > 00:20:00 verbose #29482 > > inl get_count dir : i64 = 00:20:00 verbose #29483 > > inl files = dir |> directory_get_files 00:20:00 verbose #29484 > > a files |> am'.length 00:20:00 verbose #29485 > > 00:20:00 verbose #29486 > > inl trace_dir = get_workspace_root () </> "target/trace" 00:20:00 verbose #29487 > > trace_dir |> create_directory |> ignore 00:20:00 verbose #29488 > > 00:20:00 verbose #29489 > > inl count = get_count trace_dir 00:20:00 verbose #29490 > > 00:20:00 verbose #29491 > > trace_file "test" 00:20:00 verbose #29492 > > 00:20:00 verbose #29493 > > get_count trace_dir 00:20:00 verbose #29494 > > |> _assert_eq (count + 1) 00:20:00 verbose #29495 > 00:20:00 debug #1542 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/a4e40cac7ce59487f462a2515279dee06df6d260339b406f9d8117393269a50d/main.spi 00:20:01 verbose #29496 > > 00:20:01 verbose #29497 > > ╭─[ 641.88ms - stdout ]────────────────────────────────────────────────────────╮ 00:20:01 verbose #29498 > > │ assert_eq / actual: 1L / expected: 1L │ 00:20:01 verbose #29499 > > │ │ 00:20:01 verbose #29500 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:01 verbose #29501 > > 00:20:01 verbose #29502 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:01 verbose #29503 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:01 verbose #29504 > > │ ### init_trace_file │ 00:20:01 verbose #29505 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:01 verbose #29506 > > 00:20:01 verbose #29507 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:01 verbose #29508 > > inl init_trace_file enabled = 00:20:01 verbose #29509 > > inl state_trace_file = get_trace_state_or_init None .trace_file 00:20:01 verbose #29510 > > state_trace_file <- if enabled then trace_file else ignore 00:20:01 verbose #29511 > 00:20:00 debug #1543 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e58c8e7e5d302ca147c89a917ba7807e1d99bc89ad24a20d1ca19b6b48aa255c/main.spi 00:20:01 verbose #29512 > > 00:20:01 verbose #29513 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:01 verbose #29514 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:01 verbose #29515 > > │ ## file_system │ 00:20:01 verbose #29516 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:01 verbose #29517 > > 00:20:01 verbose #29518 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:01 verbose #29519 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:01 verbose #29520 > > │ ### create_dir │ 00:20:01 verbose #29521 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:01 verbose #29522 > > 00:20:01 verbose #29523 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:01 verbose #29524 > > let create_dir dir = 00:20:01 verbose #29525 > > run_target function 00:20:01 verbose #29526 > > | Rust (Contract | Wasm) => fun () => null () 00:20:01 verbose #29527 > > | Rust (Native) => fun () => 00:20:01 verbose #29528 > > inl dir = join dir 00:20:01 verbose #29529 > > match dir |> create_dir_all |> resultm.map_error' sm'.format' |> 00:20:01 verbose #29530 > > resultm.unbox with 00:20:01 verbose #29531 > > | Ok () => 00:20:01 verbose #29532 > > trace Verbose 00:20:01 verbose #29533 > > fun () => "file_system.create_dir" 00:20:01 verbose #29534 > > fun () => { dir } 00:20:01 verbose #29535 > > | Error error => 00:20:01 verbose #29536 > > trace Critical 00:20:01 verbose #29537 > > fun () => "file_system.create_dir" 00:20:01 verbose #29538 > > fun () => { dir error } 00:20:01 verbose #29539 > > inl disposable : _ () = new_disposable fun () => 00:20:01 verbose #29540 > > dir 00:20:01 verbose #29541 > > |> directory_delete true 00:20:01 verbose #29542 > > disposable 00:20:01 verbose #29543 > > | _ => fun () => 00:20:01 verbose #29544 > > inl directory_info = dir |> create_directory 00:20:01 verbose #29545 > > inl exists' = directory_info |> directory_info_exists 00:20:01 verbose #29546 > > if not exists' then 00:20:01 verbose #29547 > > inl creation_time = directory_info |> 00:20:01 verbose #29548 > > directory_info_creation_time 00:20:01 verbose #29549 > > inl result = ($'{| Exists = !exists'; CreationTime = 00:20:01 verbose #29550 > > !creation_time |}' : any) |> sm'.format_debug 00:20:01 verbose #29551 > > trace Debug 00:20:01 verbose #29552 > > fun () => "file_system.create_dir" 00:20:01 verbose #29553 > > fun () => { dir result } 00:20:01 verbose #29554 > > inl disposable : _ () = new_disposable fun () => 00:20:01 verbose #29555 > > dir 00:20:01 verbose #29556 > > |> delete_directory_async 00:20:01 verbose #29557 > > |> async.ignore 00:20:01 verbose #29558 > > |> async.run_synchronously 00:20:01 verbose #29559 > > disposable 00:20:01 verbose #29560 > 00:20:00 debug #1544 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/903dfd7f718aa6a79cbb555ecda689a2c40953cf6fc9b141670d0dfe501bd90c/main.spi 00:20:01 verbose #29561 > > 00:20:01 verbose #29562 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:01 verbose #29563 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:01 verbose #29564 > > │ ### create_temp_dir │ 00:20:01 verbose #29565 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:01 verbose #29566 > > 00:20:01 verbose #29567 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:01 verbose #29568 > > inl create_temp_dir () = 00:20:01 verbose #29569 > > inl dir = create_temp_path () 00:20:01 verbose #29570 > > dir, dir |> create_dir 00:20:01 verbose #29571 > 00:20:01 debug #1545 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8ed51f5baf5c058aa88ca0b33bd06243262af6066a420549e59cb13a72a199c9/main.spi 00:20:01 verbose #29572 > > 00:20:01 verbose #29573 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:01 verbose #29574 > > //// test 00:20:01 verbose #29575 > > 00:20:01 verbose #29576 > > inl path, disposable = create_temp_dir () 00:20:01 verbose #29577 > > disposable |> use |> ignore 00:20:01 verbose #29578 > > path 00:20:01 verbose #29579 > > |> directory_exists 00:20:01 verbose #29580 > > |> _assert_eq true 00:20:01 verbose #29581 > 00:20:01 debug #1546 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6bbac3d3e6e0153eb914adb8625c86bf2a2227724cc2e777fc8e1ab45365ad01/main.spi 00:20:02 verbose #29582 > > 00:20:02 verbose #29583 > > ╭─[ 882.30ms - stdout ]────────────────────────────────────────────────────────╮ 00:20:02 verbose #29584 > > │ assert_eq / actual: true / expected: true │ 00:20:02 verbose #29585 > > │ │ 00:20:02 verbose #29586 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:02 verbose #29587 > > 00:20:02 verbose #29588 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:02 verbose #29589 > > //// test 00:20:02 verbose #29590 > > ///! rust -d chrono 00:20:02 verbose #29591 > > 00:20:02 verbose #29592 > > inl path, disposable = create_temp_dir () 00:20:02 verbose #29593 > > path 00:20:02 verbose #29594 > > |> directory_exists 00:20:02 verbose #29595 > > |> _assert_eq true 00:20:02 verbose #29596 > > disposable |> use |> ignore 00:20:02 verbose #29597 > > path 00:20:02 verbose #29598 > > |> directory_exists 00:20:02 verbose #29599 > > |> _assert_eq false 00:20:02 verbose #29600 > 00:20:02 debug #1547 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7048cb2c68d82e4336848af25a3cd9ea6f9a51b84e50e194a203845e9ad1d0ec/main.spi 00:20:11 verbose #29601 > > 00:20:11 verbose #29602 > > ╭─[ 9.08s - return value ]─────────────────────────────────────────────────────╮ 00:20:11 verbose #29603 > > │ 00:00:00 verbose #1 file_system.create_dir / { dir = │ 00:20:11 verbose #29604 > > │ /tmp/!create_temp_path_/spiral_builder_ae01ce950308410eb4f720ac916f36e7c1399 │ 00:20:11 verbose #29605 > > │ 1f46fb0a8dd09c490097c67e115/20240716-0213-4791-5555-000000a5250c } │ 00:20:11 verbose #29606 > > │ assert_eq / actual: true / expected: true │ 00:20:11 verbose #29607 > > │ assert_eq / actual: false / expected: false │ 00:20:11 verbose #29608 > > │ │ 00:20:11 verbose #29609 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:11 verbose #29610 > > 00:20:11 verbose #29611 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:11 verbose #29612 > > //// test 00:20:11 verbose #29613 > > 00:20:11 verbose #29614 > > inl lock_directory path = 00:20:11 verbose #29615 > > fun () => 00:20:11 verbose #29616 > > trace Debug (fun () => "_1") id 00:20:11 verbose #29617 > > "0" |> write_all_text_async (path </> "test.txt") |> async.do 00:20:11 verbose #29618 > > file_stream 00:20:11 verbose #29619 > > (path </> "test.txt") 00:20:11 verbose #29620 > > ModeOpen 00:20:11 verbose #29621 > > AccessReadWrite 00:20:11 verbose #29622 > > ShareNone 00:20:11 verbose #29623 > > |> use 00:20:11 verbose #29624 > > |> ignore 00:20:11 verbose #29625 > > trace Debug (fun () => "_2") id 00:20:11 verbose #29626 > > async.sleep 2000 |> async.do 00:20:11 verbose #29627 > > trace Debug (fun () => "_3") id 00:20:11 verbose #29628 > > () |> return 00:20:11 verbose #29629 > > |> async.new_async 00:20:11 verbose #29630 > > 00:20:11 verbose #29631 > > inl temp_dir, disposable = create_temp_dir () 00:20:11 verbose #29632 > > disposable |> use |> ignore 00:20:11 verbose #29633 > > inl path = temp_dir </> "test" 00:20:11 verbose #29634 > > 00:20:11 verbose #29635 > > fun () => 00:20:11 verbose #29636 > > trace Debug (fun () => "1") id 00:20:11 verbose #29637 > > path |> create_directory |> ignore 00:20:11 verbose #29638 > > trace Debug (fun () => "2") id 00:20:11 verbose #29639 > > inl child = path |> lock_directory |> async.start_child |> async.let' 00:20:11 verbose #29640 > > trace Debug (fun () => "3") id 00:20:11 verbose #29641 > > async.sleep 60 |> async.do 00:20:11 verbose #29642 > > trace Debug (fun () => "4") id 00:20:11 verbose #29643 > > inl retries = path |> delete_directory_async |> async.let' 00:20:11 verbose #29644 > > trace Debug (fun () => "5") id 00:20:11 verbose #29645 > > child |> async.do 00:20:11 verbose #29646 > > trace Debug (fun () => "6") id 00:20:11 verbose #29647 > > retries |> return 00:20:11 verbose #29648 > > |> async.new_async_unit 00:20:11 verbose #29649 > > |> async.run_with_timeout 3000 00:20:11 verbose #29650 > > |> fun x => x : _ i64 00:20:11 verbose #29651 > > |> function 00:20:11 verbose #29652 > > | Some (retries : i64) => 00:20:11 verbose #29653 > > retries 00:20:11 verbose #29654 > > |> _assert_between 00:20:11 verbose #29655 > > (if platform.is_windows () then 50 else 0) 00:20:11 verbose #29656 > > (if platform.is_windows () then 180 else 0) 00:20:11 verbose #29657 > > 00:20:11 verbose #29658 > > true 00:20:11 verbose #29659 > > | _ => false 00:20:11 verbose #29660 > > |> _assert_eq true 00:20:11 verbose #29661 > 00:20:11 debug #1548 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3ac9c774903524f0fd6df3ee229e459e6ff143c97eb0826a5268162c6a2524e4/main.spi 00:20:14 verbose #29662 > > 00:20:14 verbose #29663 > > ╭─[ 3.28s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:14 verbose #29664 > > │ 00:00:00 debug #1 1 │ 00:20:14 verbose #29665 > > │ 00:00:00 debug #2 2 │ 00:20:14 verbose #29666 > > │ 00:00:00 debug #3 _1 │ 00:20:14 verbose #29667 > > │ 00:00:00 debug #4 3 │ 00:20:14 verbose #29668 > > │ 00:00:00 debug #5 _2 │ 00:20:14 verbose #29669 > > │ 00:00:00 debug #6 4 │ 00:20:14 verbose #29670 > > │ 00:00:00 debug #7 5 │ 00:20:14 verbose #29671 > > │ 00:00:02 debug #8 _3 │ 00:20:14 verbose #29672 > > │ 00:00:02 debug #9 6 │ 00:20:14 verbose #29673 > > │ assert_between / actual: 0L / expected: struct (0L, 0L) │ 00:20:14 verbose #29674 > > │ assert_eq / actual: true / expected: true │ 00:20:14 verbose #29675 > > │ │ 00:20:14 verbose #29676 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:14 verbose #29677 > > 00:20:14 verbose #29678 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:14 verbose #29679 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:14 verbose #29680 > > │ ### create_temp_dir' │ 00:20:14 verbose #29681 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:14 verbose #29682 > > 00:20:14 verbose #29683 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:14 verbose #29684 > > inl create_temp_dir' (hash : string) = 00:20:14 verbose #29685 > > inl dir = hash |> guid.hash_guid |> create_temp_path' 00:20:14 verbose #29686 > > dir, dir |> create_dir 00:20:14 verbose #29687 > 00:20:14 debug #1549 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/4addcb1f9f970ffad40bd8288e2473ee4e7a7f26036e683489aaf27057850e9f/main.spi 00:20:14 verbose #29688 > > 00:20:14 verbose #29689 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:14 verbose #29690 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:14 verbose #29691 > > │ ### link_directory │ 00:20:14 verbose #29692 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:14 verbose #29693 > > 00:20:14 verbose #29694 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:14 verbose #29695 > > let link_directory target_path path = 00:20:14 verbose #29696 > > if target_path |> directory_exists |> not 00:20:14 verbose #29697 > > then target_path |> create_dir |> ignore 00:20:14 verbose #29698 > > 00:20:14 verbose #29699 > > inl lib_dir_path = path |> get_directory_name 00:20:14 verbose #29700 > > if lib_dir_path |> directory_exists |> not 00:20:14 verbose #29701 > > then lib_dir_path |> create_dir |> ignore 00:20:14 verbose #29702 > > 00:20:14 verbose #29703 > > if (path |> directory_exists) 00:20:14 verbose #29704 > > && (path |> read_link |> resultm.is_err) then 00:20:14 verbose #29705 > > path |> directory_delete true 00:20:14 verbose #29706 > > 00:20:14 verbose #29707 > > if path |> directory_exists |> not then 00:20:14 verbose #29708 > > path |> directory_create_symbolic_link target_path 00:20:14 verbose #29709 > 00:20:14 debug #1550 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d65eea16bc92258be8f67164418d34ae6bf21709843be166d7c83faf881aea6a/main.spi 00:20:15 verbose #29710 > > 00:20:15 verbose #29711 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:15 verbose #29712 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:15 verbose #29713 > > │ ## rust │ 00:20:15 verbose #29714 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:15 verbose #29715 > > 00:20:15 verbose #29716 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:15 verbose #29717 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:15 verbose #29718 > > │ ### file_exists_content │ 00:20:15 verbose #29719 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:15 verbose #29720 > > 00:20:15 verbose #29721 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:15 verbose #29722 > > let file_exists_content path content : bool = 00:20:15 verbose #29723 > > run_target function 00:20:15 verbose #29724 > > | Rust (Native) => fun () => 00:20:15 verbose #29725 > > if path |> file_exists |> not 00:20:15 verbose #29726 > > then false 00:20:15 verbose #29727 > > else 00:20:15 verbose #29728 > > inl existing_content = path |> read_all_text 00:20:15 verbose #29729 > > content = existing_content 00:20:15 verbose #29730 > > | _ => fun () => null () 00:20:15 verbose #29731 > 00:20:14 debug #1551 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1ca553b5c90bc1487a124b0543102871f450c71040b2cd4cb257bc8596aa90aa/main.spi 00:20:15 verbose #29732 > > 00:20:15 verbose #29733 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:15 verbose #29734 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:15 verbose #29735 > > │ ### write_all_text_exists │ 00:20:15 verbose #29736 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:15 verbose #29737 > > 00:20:15 verbose #29738 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:15 verbose #29739 > > let write_all_text_exists path contents = 00:20:15 verbose #29740 > > inl exists' = contents |> file_exists_content path 00:20:15 verbose #29741 > > if not exists' then 00:20:15 verbose #29742 > > inl dir = path |> get_directory_name 00:20:15 verbose #29743 > > if dir |> directory_exists |> not 00:20:15 verbose #29744 > > then dir |> create_dir |> ignore 00:20:15 verbose #29745 > > contents |> write_all_text path 00:20:15 verbose #29746 > 00:20:14 debug #1552 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ac22e4b2d4df01b15df3b0becdf37932227de68c9403a9513ba5a02a498c0c9e/main.spi 00:20:15 verbose #29747 > > 00:20:15 verbose #29748 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:15 verbose #29749 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:15 verbose #29750 > > │ ## fsharp │ 00:20:15 verbose #29751 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:15 verbose #29752 > > 00:20:15 verbose #29753 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:15 verbose #29754 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:15 verbose #29755 > > │ ### wait_for_file_access │ 00:20:15 verbose #29756 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:15 verbose #29757 > > 00:20:15 verbose #29758 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:15 verbose #29759 > > inl wait_for_file_access access path = 00:20:15 verbose #29760 > > run_target function 00:20:15 verbose #29761 > > | Fsharp (Native) => fun () => 00:20:15 verbose #29762 > > inl file_access, file_share = 00:20:15 verbose #29763 > > access 00:20:15 verbose #29764 > > |> optionm'.default_value (AccessReadWrite, ShareRead) 00:20:15 verbose #29765 > > let rec loop (retry : i64) : _ i64 = 00:20:15 verbose #29766 > > fun () => 00:20:15 verbose #29767 > > try_unit 00:20:15 verbose #29768 > > fun () => 00:20:15 verbose #29769 > > file_stream 00:20:15 verbose #29770 > > path 00:20:15 verbose #29771 > > ModeOpen 00:20:15 verbose #29772 > > file_access 00:20:15 verbose #29773 > > file_share 00:20:15 verbose #29774 > > |> use 00:20:15 verbose #29775 > > |> ignore 00:20:15 verbose #29776 > > retry |> return 00:20:15 verbose #29777 > > fun ex => 00:20:15 verbose #29778 > > if retry > 0 && retry % 100i64 = 0 then 00:20:15 verbose #29779 > > inl ex = ex |> sm'.format_exception 00:20:15 verbose #29780 > > trace Debug 00:20:15 verbose #29781 > > fun () => "file_system.wait_for_file_access" 00:20:15 verbose #29782 > > fun () => { path = path |> get_file_name; 00:20:15 verbose #29783 > > retry ex } 00:20:15 verbose #29784 > > async.sleep 10i32 |> async.do 00:20:15 verbose #29785 > > loop (retry + 1) |> async.return_await 00:20:15 verbose #29786 > > |> async.new_async 00:20:15 verbose #29787 > > loop 0 00:20:15 verbose #29788 > > | _ => fun () => null () 00:20:15 verbose #29789 > > 00:20:15 verbose #29790 > > inl wait_for_file_access_read path = 00:20:15 verbose #29791 > > path 00:20:15 verbose #29792 > > |> wait_for_file_access (Some ( 00:20:15 verbose #29793 > > AccessRead, 00:20:15 verbose #29794 > > ShareRead 00:20:15 verbose #29795 > > )) 00:20:15 verbose #29796 > 00:20:14 debug #1553 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1eaa43f827e1b42023e37e4aaa99f66ffe7453e25830b57b493aa9c266c9e0af/main.spi 00:20:15 verbose #29797 > > 00:20:15 verbose #29798 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:15 verbose #29799 > > //// test 00:20:15 verbose #29800 > > 00:20:15 verbose #29801 > > inl lock_file path = 00:20:15 verbose #29802 > > fun () => 00:20:15 verbose #29803 > > trace Debug (fun () => "_1") id 00:20:15 verbose #29804 > > inl stream : file_stream' = 00:20:15 verbose #29805 > > file_stream 00:20:15 verbose #29806 > > path 00:20:15 verbose #29807 > > ModeOpen 00:20:15 verbose #29808 > > AccessReadWrite 00:20:15 verbose #29809 > > ShareNone 00:20:15 verbose #29810 > > |> use 00:20:15 verbose #29811 > > trace Debug (fun () => "_2") id 00:20:15 verbose #29812 > > async.sleep 2000 |> async.do 00:20:15 verbose #29813 > > trace Debug (fun () => "_3") id 00:20:15 verbose #29814 > > ($'!stream.Seek (0L, System.IO.SeekOrigin.Begin)' : i64) |> ignore 00:20:15 verbose #29815 > > trace Debug (fun () => "_4") id 00:20:15 verbose #29816 > > $'!stream.WriteByte' 49u8 00:20:15 verbose #29817 > > trace Debug (fun () => "_5") id 00:20:15 verbose #29818 > > stream |> $'_.Flush()' 00:20:15 verbose #29819 > > trace Debug (fun () => "_6") id 00:20:15 verbose #29820 > > |> async.new_async 00:20:15 verbose #29821 > > 00:20:15 verbose #29822 > > inl file_name = "test.txt" 00:20:15 verbose #29823 > > inl text = "0" 00:20:15 verbose #29824 > > 00:20:15 verbose #29825 > > inl temp_dir, disposable = 00:20:15 verbose #29826 > > (file_name, text) 00:20:15 verbose #29827 > > |> sm'.format_debug 00:20:15 verbose #29828 > > |> crypto.hash_text 00:20:15 verbose #29829 > > |> create_temp_dir' 00:20:15 verbose #29830 > > disposable |> use |> ignore 00:20:15 verbose #29831 > > inl path = temp_dir </> file_name 00:20:15 verbose #29832 > > 00:20:15 verbose #29833 > > fun () => 00:20:15 verbose #29834 > > trace Debug (fun () => "1") id 00:20:15 verbose #29835 > > text |> write_all_text_async path |> async.do 00:20:15 verbose #29836 > > trace Debug (fun () => "2") id 00:20:15 verbose #29837 > > inl child = path |> lock_file |> async.start_child |> async.let' 00:20:15 verbose #29838 > > trace Debug (fun () => "3") id 00:20:15 verbose #29839 > > async.sleep 1 |> async.do 00:20:15 verbose #29840 > > trace Debug (fun () => "4") id 00:20:15 verbose #29841 > > inl retries = path |> wait_for_file_access None |> async.let' 00:20:15 verbose #29842 > > trace Debug (fun () => "5") id 00:20:15 verbose #29843 > > inl text = path |> read_all_text_async |> async.let' 00:20:15 verbose #29844 > > trace Debug (fun () => "6") id 00:20:15 verbose #29845 > > child |> async.do 00:20:15 verbose #29846 > > trace Debug (fun () => "7") id 00:20:15 verbose #29847 > > (retries, text) |> return 00:20:15 verbose #29848 > > |> async.new_async_unit 00:20:15 verbose #29849 > > |> async.run_with_timeout 3000 00:20:15 verbose #29850 > > |> function 00:20:15 verbose #29851 > > | Some ((retries : i64), text) => 00:20:15 verbose #29852 > > retries 00:20:15 verbose #29853 > > |> _assert_between 00:20:15 verbose #29854 > > (if platform.is_windows () then 50 else 100) 00:20:15 verbose #29855 > > (if platform.is_windows () then 180 else 200) 00:20:15 verbose #29856 > > 00:20:15 verbose #29857 > > text |> _assert_eq (join "1") 00:20:15 verbose #29858 > > 00:20:15 verbose #29859 > > true 00:20:15 verbose #29860 > > | _ => false 00:20:15 verbose #29861 > > |> _assert_eq true 00:20:15 verbose #29862 > 00:20:14 debug #1554 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2cecd3e19627ae97987cc7b7e81cb957f247218b715355c0f2583bca22b0fc0d/main.spi 00:20:18 verbose #29863 > > 00:20:18 verbose #29864 > > ╭─[ 3.44s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:18 verbose #29865 > > │ 00:00:00 debug #1 1 │ 00:20:18 verbose #29866 > > │ 00:00:00 debug #2 2 │ 00:20:18 verbose #29867 > > │ 00:00:00 debug #3 3 │ 00:20:18 verbose #29868 > > │ 00:00:00 debug #4 _1 │ 00:20:18 verbose #29869 > > │ 00:00:00 debug #5 _2 │ 00:20:18 verbose #29870 > > │ 00:00:00 debug #6 4 │ 00:20:18 verbose #29871 > > │ 00:00:01 debug #7 file_system.wait_for_file_access / { path = │ 00:20:18 verbose #29872 > > │ test.txt; retry = 100; ex = System.IO.IOException: The process cannot access │ 00:20:18 verbose #29873 > > │ the file │ 00:20:18 verbose #29874 > > │ '/tmp/!create_temp_path_/dotnet-repl/613830ed-016e-d959-8d21-02dc1c63c252/te │ 00:20:18 verbose #29875 > > │ st.txt' because it is being used by another process. } │ 00:20:18 verbose #29876 > > │ 00:00:02 debug #8 _3 │ 00:20:18 verbose #29877 > > │ 00:00:02 debug #9 _4 │ 00:20:18 verbose #29878 > > │ 00:00:02 debug #10 _5 │ 00:20:18 verbose #29879 > > │ 00:00:02 debug #11 _6 │ 00:20:18 verbose #29880 > > │ 00:00:02 debug #12 5 │ 00:20:18 verbose #29881 > > │ 00:00:02 debug #13 6 │ 00:20:18 verbose #29882 > > │ 00:00:02 debug #14 7 │ 00:20:18 verbose #29883 > > │ assert_between / actual: 167L / expected: struct (100L, 200L) │ 00:20:18 verbose #29884 > > │ assert_eq / actual: "1" / expected: "1" │ 00:20:18 verbose #29885 > > │ assert_eq / actual: true / expected: true │ 00:20:18 verbose #29886 > > │ │ 00:20:18 verbose #29887 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:18 verbose #29888 > > 00:20:18 verbose #29889 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:18 verbose #29890 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:18 verbose #29891 > > │ ### read_all_text_retry_async │ 00:20:18 verbose #29892 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:18 verbose #29893 > > 00:20:18 verbose #29894 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:18 verbose #29895 > > inl read_all_text_retry_async full_path : async.async (optionm'.option' string) 00:20:18 verbose #29896 > > = 00:20:18 verbose #29897 > > run_target function 00:20:18 verbose #29898 > > | Fsharp (Native) => fun () => 00:20:18 verbose #29899 > > let rec loop (retry : i64) = 00:20:18 verbose #29900 > > fun () => 00:20:18 verbose #29901 > > try_unit 00:20:18 verbose #29902 > > fun () => 00:20:18 verbose #29903 > > if retry > 0 00:20:18 verbose #29904 > > then 00:20:18 verbose #29905 > > full_path 00:20:18 verbose #29906 > > |> wait_for_file_access_read 00:20:18 verbose #29907 > > |> async.run_with_timeout_async 1000 00:20:18 verbose #29908 > > |> async.ignore 00:20:18 verbose #29909 > > |> async.do 00:20:18 verbose #29910 > > full_path |> read_all_text_async |> async.map (Some 00:20:18 verbose #29911 > > >> optionm'.box) |> async.return_await 00:20:18 verbose #29912 > > fun ex => 00:20:18 verbose #29913 > > fix_condition 00:20:18 verbose #29914 > > fun () => retry <> 0 00:20:18 verbose #29915 > > fun () => 00:20:18 verbose #29916 > > inl ex = ex |> sm'.format_exception 00:20:18 verbose #29917 > > trace Debug 00:20:18 verbose #29918 > > fun () => $'"read_all_text_retry_async"' 00:20:18 verbose #29919 > > fun () => { retry ex } 00:20:18 verbose #29920 > > (None : _ string) |> optionm'.box |> return 00:20:18 verbose #29921 > > fun () => 00:20:18 verbose #29922 > > loop (retry + 1) |> async.return_await 00:20:18 verbose #29923 > > |> async.new_async 00:20:18 verbose #29924 > > loop 0 00:20:18 verbose #29925 > > | _ => fun () => null () 00:20:18 verbose #29926 > 00:20:18 debug #1555 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce3047e3dd34a264ded2adcddebf3f87478b7daa754b6c1de1fa8649d53979b2/main.spi 00:20:18 verbose #29927 > > 00:20:18 verbose #29928 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:18 verbose #29929 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:18 verbose #29930 > > │ ### move_file_async │ 00:20:18 verbose #29931 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:18 verbose #29932 > > 00:20:18 verbose #29933 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:18 verbose #29934 > > inl move_file_async new_path old_path : _ i64 = 00:20:18 verbose #29935 > > run_target function 00:20:18 verbose #29936 > > | Fsharp (Native) => fun () => 00:20:18 verbose #29937 > > let rec loop (retry : i64) = 00:20:18 verbose #29938 > > fun () => 00:20:18 verbose #29939 > > try_unit 00:20:18 verbose #29940 > > fun () => 00:20:18 verbose #29941 > > old_path |> file_move new_path 00:20:18 verbose #29942 > > return retry 00:20:18 verbose #29943 > > fun ex => 00:20:18 verbose #29944 > > if retry % 100 = 0 then 00:20:18 verbose #29945 > > 00:20:18 verbose #29946 > > trace Warning 00:20:18 verbose #29947 > > fun () => "move_file_async" 00:20:18 verbose #29948 > > fun () => { 00:20:18 verbose #29949 > > old_path = old_path |> get_file_name 00:20:18 verbose #29950 > > new_path = new_path |> get_file_name 00:20:18 verbose #29951 > > ex 00:20:18 verbose #29952 > > } 00:20:18 verbose #29953 > > async.sleep 10 |> async.do 00:20:18 verbose #29954 > > loop (retry + 1) |> async.return_await 00:20:18 verbose #29955 > > |> async.new_async_unit 00:20:18 verbose #29956 > > loop 0 00:20:18 verbose #29957 > > | _ => fun () => null () 00:20:19 verbose #29958 > 00:20:18 debug #1556 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6655a9402494f4855bac2ce4c0008f96a796d7468f2aac7fdd51920f82b0b54a/main.spi 00:20:19 verbose #29959 > > 00:20:19 verbose #29960 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:19 verbose #29961 > > //// test 00:20:19 verbose #29962 > > 00:20:19 verbose #29963 > > inl lock_file path = 00:20:19 verbose #29964 > > fun () => 00:20:19 verbose #29965 > > trace Debug (fun () => "_1") id 00:20:19 verbose #29966 > > file_stream 00:20:19 verbose #29967 > > path 00:20:19 verbose #29968 > > ModeOpen 00:20:19 verbose #29969 > > AccessReadWrite 00:20:19 verbose #29970 > > ShareNone 00:20:19 verbose #29971 > > |> use 00:20:19 verbose #29972 > > |> ignore 00:20:19 verbose #29973 > > trace Debug (fun () => "_2") id 00:20:19 verbose #29974 > > async.sleep 2000 |> async.do 00:20:19 verbose #29975 > > trace Debug (fun () => "_3") id 00:20:19 verbose #29976 > > |> async.new_async 00:20:19 verbose #29977 > > 00:20:19 verbose #29978 > > fun () => 00:20:19 verbose #29979 > > inl file_name = "test.txt" 00:20:19 verbose #29980 > > inl text = "0" 00:20:19 verbose #29981 > > 00:20:19 verbose #29982 > > inl temp_dir, disposable = 00:20:19 verbose #29983 > > (file_name, text) 00:20:19 verbose #29984 > > |> sm'.format_debug 00:20:19 verbose #29985 > > |> crypto.hash_text 00:20:19 verbose #29986 > > |> create_temp_dir' 00:20:19 verbose #29987 > > disposable |> use |> ignore 00:20:19 verbose #29988 > > let path = temp_dir </> file_name 00:20:19 verbose #29989 > > let new_path = temp_dir </> "test2.txt" 00:20:19 verbose #29990 > > 00:20:19 verbose #29991 > > trace Debug (fun () => "1") id 00:20:19 verbose #29992 > > text |> write_all_text_async path |> async.do 00:20:19 verbose #29993 > > trace Debug (fun () => "2") id 00:20:19 verbose #29994 > > inl child = lock_file path |> async.start_child |> async.let' 00:20:19 verbose #29995 > > trace Debug (fun () => "3") id 00:20:19 verbose #29996 > > async.sleep 1 |> async.do 00:20:19 verbose #29997 > > trace Debug (fun () => "4") id 00:20:19 verbose #29998 > > inl retries1 = path |> move_file_async new_path |> async.let' 00:20:19 verbose #29999 > > trace Debug (fun () => "5") id 00:20:19 verbose #30000 > > inl retries2 = new_path |> wait_for_file_access None |> async.let' 00:20:19 verbose #30001 > > trace Debug (fun () => "6") id 00:20:19 verbose #30002 > > inl text = new_path |> read_all_text_async |> async.let' 00:20:19 verbose #30003 > > trace Debug (fun () => "7") id 00:20:19 verbose #30004 > > child |> async.do 00:20:19 verbose #30005 > > trace Debug (fun () => "8") id 00:20:19 verbose #30006 > > (retries1, retries2, text) |> return 00:20:19 verbose #30007 > > |> async.new_async_unit 00:20:19 verbose #30008 > > |> async.run_with_timeout 3000 00:20:19 verbose #30009 > > |> function 00:20:19 verbose #30010 > > | Some (retries1, retries2, text) => 00:20:19 verbose #30011 > > retries1 00:20:19 verbose #30012 > > |> _assert_between 00:20:19 verbose #30013 > > (if platform.is_windows () then 50i64 else 0) 00:20:19 verbose #30014 > > (if platform.is_windows () then 200 else 0) 00:20:19 verbose #30015 > > 00:20:19 verbose #30016 > > retries2 00:20:19 verbose #30017 > > |> _assert_between 00:20:19 verbose #30018 > > (if platform.is_windows () then 0i64 else 100) 00:20:19 verbose #30019 > > (if platform.is_windows () then 0 else 200) 00:20:19 verbose #30020 > > 00:20:19 verbose #30021 > > text |> _assert_eq (join "0") 00:20:19 verbose #30022 > > 00:20:19 verbose #30023 > > true 00:20:19 verbose #30024 > > | _ => false 00:20:19 verbose #30025 > > |> _assert_eq true 00:20:19 verbose #30026 > 00:20:18 debug #1557 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5c2dc6b946be3fb7cacf19114afaa4e9c58fff418b07f7126cd4e5555b12597f/main.spi 00:20:22 verbose #30027 > > 00:20:22 verbose #30028 > > ╭─[ 3.88s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:22 verbose #30029 > > │ 00:00:00 debug #1 1 │ 00:20:22 verbose #30030 > > │ 00:00:00 debug #2 2 │ 00:20:22 verbose #30031 > > │ 00:00:00 debug #3 3 │ 00:20:22 verbose #30032 > > │ 00:00:00 debug #4 _1 │ 00:20:22 verbose #30033 > > │ 00:00:00 debug #5 _2 │ 00:20:22 verbose #30034 > > │ 00:00:00 debug #6 4 │ 00:20:22 verbose #30035 > > │ 00:00:00 debug #7 5 │ 00:20:22 verbose #30036 > > │ 00:00:01 debug #8 file_system.wait_for_file_access / { path = │ 00:20:22 verbose #30037 > > │ test2.txt; retry = 100; ex = System.IO.IOException: The process cannot │ 00:20:22 verbose #30038 > > │ access the file │ 00:20:22 verbose #30039 > > │ '/tmp/!create_temp_path_/dotnet-repl/613830ed-016e-d959-8d21-02dc1c63c252/te │ 00:20:22 verbose #30040 > > │ st2.txt' because it is being used by another process. } │ 00:20:22 verbose #30041 > > │ 00:00:02 debug #9 _3 │ 00:20:22 verbose #30042 > > │ 00:00:02 debug #10 6 │ 00:20:22 verbose #30043 > > │ 00:00:02 debug #11 7 │ 00:20:22 verbose #30044 > > │ 00:00:02 debug #12 8 │ 00:20:23 verbose #30045 > > │ assert_between / actual: 0L / expected: struct (0L, 0L) │ 00:20:23 verbose #30046 > > │ assert_between / actual: 167L / expected: struct (100L, 200L) │ 00:20:23 verbose #30047 > > │ assert_eq / actual: "0" / expected: "0" │ 00:20:23 verbose #30048 > > │ assert_eq / actual: true / expected: true │ 00:20:23 verbose #30049 > > │ │ 00:20:23 verbose #30050 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:23 verbose #30051 > > 00:20:23 verbose #30052 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:23 verbose #30053 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:23 verbose #30054 > > │ ### delete_file_async │ 00:20:23 verbose #30055 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:23 verbose #30056 > > 00:20:23 verbose #30057 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:23 verbose #30058 > > inl delete_file_async path : _ i64 = 00:20:23 verbose #30059 > > run_target function 00:20:23 verbose #30060 > > | Fsharp (Native) => fun () => 00:20:23 verbose #30061 > > let rec loop (retry : i64) = 00:20:23 verbose #30062 > > fun () => 00:20:23 verbose #30063 > > try_unit 00:20:23 verbose #30064 > > fun () => 00:20:23 verbose #30065 > > path |> file_delete 00:20:23 verbose #30066 > > return retry 00:20:23 verbose #30067 > > fun ex => 00:20:23 verbose #30068 > > if retry % 100 = 0 then 00:20:23 verbose #30069 > > trace Warning 00:20:23 verbose #30070 > > fun () => "delete_file_async" 00:20:23 verbose #30071 > > fun () => { path = path |> get_file_name; ex 00:20:23 verbose #30072 > > = ex |> sm'.format_exception } 00:20:23 verbose #30073 > > async.sleep 10 |> async.do 00:20:23 verbose #30074 > > loop (retry + 1) |> async.return_await 00:20:23 verbose #30075 > > |> async.new_async 00:20:23 verbose #30076 > > loop 0 00:20:23 verbose #30077 > > | _ => fun () => null () 00:20:23 verbose #30078 > 00:20:22 debug #1558 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f6602e244d39f890822ac9cdca4c30d8efd93088aa296daaf2a062bcba384211/main.spi 00:20:23 verbose #30079 > > 00:20:23 verbose #30080 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:23 verbose #30081 > > //// test 00:20:23 verbose #30082 > > 00:20:23 verbose #30083 > > inl lock_file path = 00:20:23 verbose #30084 > > fun () => 00:20:23 verbose #30085 > > trace Debug (fun () => "_1") id 00:20:23 verbose #30086 > > file_stream 00:20:23 verbose #30087 > > path 00:20:23 verbose #30088 > > ModeOpen 00:20:23 verbose #30089 > > AccessReadWrite 00:20:23 verbose #30090 > > ShareNone 00:20:23 verbose #30091 > > |> use 00:20:23 verbose #30092 > > |> ignore 00:20:23 verbose #30093 > > trace Debug (fun () => "_2") id 00:20:23 verbose #30094 > > async.sleep 2000 |> async.do 00:20:23 verbose #30095 > > trace Debug (fun () => "_3") id 00:20:23 verbose #30096 > > |> async.new_async 00:20:23 verbose #30097 > > 00:20:23 verbose #30098 > > fun () => 00:20:23 verbose #30099 > > inl file_name = "test.txt" 00:20:23 verbose #30100 > > inl text = "0" 00:20:23 verbose #30101 > > 00:20:23 verbose #30102 > > inl temp_dir, disposable = 00:20:23 verbose #30103 > > (file_name, text) 00:20:23 verbose #30104 > > |> sm'.format_debug 00:20:23 verbose #30105 > > |> crypto.hash_text 00:20:23 verbose #30106 > > |> create_temp_dir' 00:20:23 verbose #30107 > > disposable |> use |> ignore 00:20:23 verbose #30108 > > inl path = temp_dir </> file_name 00:20:23 verbose #30109 > > 00:20:23 verbose #30110 > > trace Debug (fun () => "1") id 00:20:23 verbose #30111 > > text |> write_all_text_async path |> async.do 00:20:23 verbose #30112 > > trace Debug (fun () => "2") id 00:20:23 verbose #30113 > > inl child = lock_file path |> async.start_child |> async.let' 00:20:23 verbose #30114 > > trace Debug (fun () => "3") id 00:20:23 verbose #30115 > > async.sleep 1 |> async.do 00:20:23 verbose #30116 > > trace Debug (fun () => "4") id 00:20:23 verbose #30117 > > inl retries = delete_file_async path |> async.let' 00:20:23 verbose #30118 > > trace Debug (fun () => "5") id 00:20:23 verbose #30119 > > child |> async.do 00:20:23 verbose #30120 > > trace Debug (fun () => "6") id 00:20:23 verbose #30121 > > return retries 00:20:23 verbose #30122 > > |> async.new_async_unit 00:20:23 verbose #30123 > > |> async.run_with_timeout 3000 00:20:23 verbose #30124 > > |> function 00:20:23 verbose #30125 > > | Some (retries : i64) => 00:20:23 verbose #30126 > > retries 00:20:23 verbose #30127 > > |> _assert_between 00:20:23 verbose #30128 > > (if platform.is_windows () then 50 else 0) 00:20:23 verbose #30129 > > (if platform.is_windows () then 180 else 0) 00:20:23 verbose #30130 > > 00:20:23 verbose #30131 > > true 00:20:23 verbose #30132 > > | _ => false 00:20:23 verbose #30133 > > |> _assert_eq true 00:20:23 verbose #30134 > 00:20:22 debug #1559 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/65f94183e9e3aef0c5efa5c603d118087849b6d33d17c76b06bbc4ccba03d71b/main.spi 00:20:26 verbose #30135 > > 00:20:26 verbose #30136 > > ╭─[ 3.48s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:26 verbose #30137 > > │ 00:00:00 debug #1 1 │ 00:20:26 verbose #30138 > > │ 00:00:00 debug #2 2 │ 00:20:26 verbose #30139 > > │ 00:00:00 debug #3 3 │ 00:20:26 verbose #30140 > > │ 00:00:00 debug #4 _1 │ 00:20:26 verbose #30141 > > │ 00:00:00 debug #5 _2 │ 00:20:26 verbose #30142 > > │ 00:00:00 debug #6 4 │ 00:20:26 verbose #30143 > > │ 00:00:00 debug #7 5 │ 00:20:26 verbose #30144 > > │ 00:00:02 debug #8 _3 │ 00:20:26 verbose #30145 > > │ 00:00:02 debug #9 6 │ 00:20:26 verbose #30146 > > │ assert_between / actual: 0L / expected: struct (0L, 0L) │ 00:20:26 verbose #30147 > > │ assert_eq / actual: true / expected: true │ 00:20:26 verbose #30148 > > │ │ 00:20:26 verbose #30149 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:26 verbose #30150 > > 00:20:26 verbose #30151 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:26 verbose #30152 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:26 verbose #30153 > > │ ## main │ 00:20:26 verbose #30154 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:26 verbose #30155 > > 00:20:26 verbose #30156 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:26 verbose #30157 > > inl main () = 00:20:26 verbose #30158 > > init_trace_state None 00:20:26 verbose #30159 > > $'let delete_directory_async x = !delete_directory_async x' : () 00:20:26 verbose #30160 > > $'let wait_for_file_access x = !wait_for_file_access x' : () 00:20:26 verbose #30161 > > $'let wait_for_file_access_read x = !wait_for_file_access_read x' : () 00:20:26 verbose #30162 > > $'let read_all_text_async x = !read_all_text_async x' : () 00:20:26 verbose #30163 > > $'let file_exists_content x = !file_exists_content x' : () 00:20:26 verbose #30164 > > $'let write_all_text_async x = !write_all_text_async x' : () 00:20:26 verbose #30165 > > $'let write_all_text_exists x = !write_all_text_exists_async x' : () 00:20:26 verbose #30166 > > $'let delete_file_async x = !delete_file_async x' : () 00:20:26 verbose #30167 > > $'let move_file_async x = !move_file_async x' : () 00:20:26 verbose #30168 > > $'let read_all_text_retry_async x = !read_all_text_retry_async x' : () 00:20:26 verbose #30169 > > $'let create_temp_path () = !create_temp_path ()' : () 00:20:26 verbose #30170 > > $'let create_temp_dir () = !create_temp_dir ()' : () 00:20:26 verbose #30171 > > $'let create_temp_dir\' x = !create_temp_dir' x' : () 00:20:26 verbose #30172 > > $'let get_source_directory () = !get_source_directory ()' : () 00:20:26 verbose #30173 > > $'let normalize_path x = !normalize_path x' : () 00:20:26 verbose #30174 > > $'let new_file_uri x = !new_file_uri x' : () 00:20:26 verbose #30175 > > $'let get_workspace_root () = !get_workspace_root ()' : () 00:20:26 verbose #30176 > > $'let init_trace_file x = !init_trace_file x' : () 00:20:26 verbose #30177 > > inl combine x = (</>) x 00:20:26 verbose #30178 > > $'let (</>) x = !combine x' : () 00:20:26 verbose #30179 > 00:20:26 debug #1560 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/9cd957d059456c5453e87e1400b752e82762af479bbe6ab1f0c35e7dbfe49a53/main.spi 00:20:28 verbose #30180 > 00:01:23 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 111296 } 00:20:28 verbose #30181 > 00:01:23 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:20:29 verbose #30182 > 00:01:23 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.ipynb to html 00:20:29 verbose #30183 > 00:01:23 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:20:29 verbose #30184 > 00:01:23 verbose #7 ! validate(nb) 00:20:29 verbose #30185 > 00:01:24 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:20:29 verbose #30186 > 00:01:24 verbose #9 ! return _pygments_highlight( 00:20:30 verbose #30187 > 00:01:25 verbose #10 ! [NbConvertApp] Writing 583812 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.html 00:20:30 verbose #30188 > 00:01:25 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 906 } 00:20:30 verbose #30189 > 00:01:25 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 906 } 00:20:30 verbose #30190 > 00:01:25 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/file_system.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:20:31 verbose #30191 > 00:01:25 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:20:31 verbose #30192 > 00:01:25 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:20:31 verbose #30193 > 00:01:25 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 112261 } 00:20:31 debug #30194 runtime.execute_with_options_async / { exit_code = 0; output_length = 119313 } 00:20:31 debug #37 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path file_system.dib --retries 3 00:20:31 debug #30195 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path networking.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:20:31 verbose #30196 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "networking.dib", "--retries", "3"])) } 00:20:31 verbose #30197 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib", "--output-path", "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib" --output-path "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:20:32 verbose #30198 > > 00:20:32 verbose #30199 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:32 verbose #30200 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:32 verbose #30201 > > │ # networking │ 00:20:32 verbose #30202 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:35 verbose #30203 > > 00:20:35 verbose #30204 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:35 verbose #30205 > > open rust.rust_operators 00:20:35 verbose #30206 > 00:20:35 debug #1561 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/40daf77a2acec5ac15e1cf56631d4105f4f565759117828320eb559038e65549/main.spi 00:20:35 verbose #30207 > > 00:20:35 verbose #30208 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:35 verbose #30209 > > //// test 00:20:35 verbose #30210 > > 00:20:35 verbose #30211 > > open testing 00:20:35 verbose #30212 > 00:20:35 debug #1562 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc76f360fd664f6988ee1c6bc1dc43132802e524aab226e74a21329193e410ca/main.spi 00:20:35 verbose #30213 > > 00:20:35 verbose #30214 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:35 verbose #30215 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:35 verbose #30216 > > │ ## rust │ 00:20:35 verbose #30217 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:35 verbose #30218 > > 00:20:35 verbose #30219 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:35 verbose #30220 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:35 verbose #30221 > > │ ### reqwest_response │ 00:20:35 verbose #30222 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:35 verbose #30223 > > 00:20:35 verbose #30224 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:35 verbose #30225 > > nominal reqwest_response = 00:20:35 verbose #30226 > > `( 00:20:35 verbose #30227 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:20:35 verbose #30228 > > Fable.Core.Emit(\"reqwest_wasm::Response\")>]]\n#endif\ntype reqwest_Response = 00:20:35 verbose #30229 > > class end" 00:20:35 verbose #30230 > > $'' : $'reqwest_Response' 00:20:35 verbose #30231 > > ) 00:20:35 verbose #30232 > 00:20:35 debug #1563 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/d2069849e21723337aa7ebc74521637bad7994b376dcdc3c3c1d50d173f939b0/main.spi 00:20:36 verbose #30233 > > 00:20:36 verbose #30234 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30235 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30236 > > │ ### reqwest_error │ 00:20:36 verbose #30237 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30238 > > 00:20:36 verbose #30239 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30240 > > nominal reqwest_error = 00:20:36 verbose #30241 > > `( 00:20:36 verbose #30242 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:20:36 verbose #30243 > > Fable.Core.Emit(\"reqwest_wasm::Error\")>]]\n#endif\ntype reqwest_Error = class 00:20:36 verbose #30244 > > end" 00:20:36 verbose #30245 > > $'' : $'reqwest_Error' 00:20:36 verbose #30246 > > ) 00:20:36 verbose #30247 > 00:20:35 debug #1564 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/25917d4a38e7ed75f9b1b0ec7af13a83d57077e55ef4d95d8a5fd107cbc00ce1/main.spi 00:20:36 verbose #30248 > > 00:20:36 verbose #30249 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30250 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30251 > > │ ### request_builder │ 00:20:36 verbose #30252 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30253 > > 00:20:36 verbose #30254 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30255 > > nominal request_builder = 00:20:36 verbose #30256 > > `( 00:20:36 verbose #30257 > > global "#if FABLE_COMPILER\n[[<Fable.Core.Erase; 00:20:36 verbose #30258 > > Fable.Core.Emit(\"reqwest_wasm::RequestBuilder\")>]]\n#endif\ntype 00:20:36 verbose #30259 > > reqwest_RequestBuilder = class end" 00:20:36 verbose #30260 > > $'' : $'reqwest_RequestBuilder' 00:20:36 verbose #30261 > > ) 00:20:36 verbose #30262 > 00:20:35 debug #1565 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2d2c8f36cab87b2e04254e036b2f4d57b7341aca08d3780de76ee15253c6d14e/main.spi 00:20:36 verbose #30263 > > 00:20:36 verbose #30264 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30265 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30266 > > │ ### request_type │ 00:20:36 verbose #30267 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30268 > > 00:20:36 verbose #30269 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30270 > > union request_type = 00:20:36 verbose #30271 > > | Get 00:20:36 verbose #30272 > > | Post 00:20:36 verbose #30273 > 00:20:35 debug #1566 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b5f1f32c1bacec413c3b49b8d0ffda1f2f8a91aebd5270d025dccd40db2b0d55/main.spi 00:20:36 verbose #30274 > > 00:20:36 verbose #30275 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30276 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30277 > > │ ### request │ 00:20:36 verbose #30278 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30279 > > 00:20:36 verbose #30280 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30281 > > type request = 00:20:36 verbose #30282 > > { 00:20:36 verbose #30283 > > url : string 00:20:36 verbose #30284 > > request_type : request_type 00:20:36 verbose #30285 > > body : string 00:20:36 verbose #30286 > > json : bool 00:20:36 verbose #30287 > > auto_refresh : bool 00:20:36 verbose #30288 > > } 00:20:36 verbose #30289 > 00:20:35 debug #1567 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/63a8c772c8d3b585c0a507010befde19bd40e752f276737642272c25fcb2b006/main.spi 00:20:36 verbose #30290 > > 00:20:36 verbose #30291 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30292 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30293 > > │ ### new_request_get │ 00:20:36 verbose #30294 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30295 > > 00:20:36 verbose #30296 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30297 > > inl new_request_get (url : string) : request_builder = 00:20:36 verbose #30298 > > inl url = join url 00:20:36 verbose #30299 > > inl url = url |> sm'.to_std_string 00:20:36 verbose #30300 > > inl url = join url 00:20:36 verbose #30301 > > !\($'"reqwest_wasm::Client::builder().build().map_err(|err| 00:20:36 verbose #30302 > > err.to_string())?.get(!url)"') 00:20:36 verbose #30303 > 00:20:35 debug #1568 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b5da4c98545b610d226f81106600c13eba810cfa829b2ef7e8a2dccbbf7c695b/main.spi 00:20:36 verbose #30304 > > 00:20:36 verbose #30305 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30306 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30307 > > │ ### new_request_post │ 00:20:36 verbose #30308 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30309 > > 00:20:36 verbose #30310 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30311 > > inl new_request_post (url : string) : request_builder = 00:20:36 verbose #30312 > > inl url = join url 00:20:36 verbose #30313 > > inl url = url |> sm'.to_std_string 00:20:36 verbose #30314 > > inl url = join url 00:20:36 verbose #30315 > > !\($'"reqwest_wasm::Client::builder().build().map_err(|err| 00:20:36 verbose #30316 > > err.to_string())?.post(!url)"') 00:20:36 verbose #30317 > 00:20:35 debug #1569 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6ecfdb2bd3e1436e475c284a2daffc364aa27c4b77d06ad928377c290b5457b6/main.spi 00:20:36 verbose #30318 > > 00:20:36 verbose #30319 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30320 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30321 > > │ ### request_send │ 00:20:36 verbose #30322 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30323 > > 00:20:36 verbose #30324 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30325 > > inl request_send (request : request_builder) : async.future_pin (resultm.result' 00:20:36 verbose #30326 > > reqwest_response reqwest_error) = 00:20:36 verbose #30327 > > inl request = join request 00:20:36 verbose #30328 > > !\($'"Box::pin(reqwest_wasm::RequestBuilder::send(!request))"') 00:20:36 verbose #30329 > 00:20:36 debug #1570 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/bc71fb06b5afb494651339cff022cdd813c664105c6bac4594f36290676a9796/main.spi 00:20:36 verbose #30330 > > 00:20:36 verbose #30331 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30332 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30333 > > │ ### request_body │ 00:20:36 verbose #30334 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30335 > > 00:20:36 verbose #30336 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30337 > > inl request_body (body : string) (request : request_builder) : request_builder = 00:20:36 verbose #30338 > > inl body = body |> sm'.to_std_string 00:20:36 verbose #30339 > > !\($'"reqwest_wasm::RequestBuilder::body(!request, !body)"') 00:20:36 verbose #30340 > 00:20:36 debug #1571 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fddce33363e337a3231b5079726ebb12d54ae44cbf4a4cb352c7ca5b9367372b/main.spi 00:20:36 verbose #30341 > > 00:20:36 verbose #30342 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30343 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30344 > > │ ### request_header │ 00:20:36 verbose #30345 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30346 > > 00:20:36 verbose #30347 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30348 > > inl request_header (key : string) (value : string) (request : request_builder) : 00:20:36 verbose #30349 > > request_builder = 00:20:36 verbose #30350 > > inl request = join request 00:20:36 verbose #30351 > > inl key = key |> sm'.to_std_string 00:20:36 verbose #30352 > > inl value = value |> sm'.to_std_string 00:20:36 verbose #30353 > > !\($'"reqwest_wasm::RequestBuilder::header(!request, !key, !value)"') 00:20:36 verbose #30354 > 00:20:36 debug #1572 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/51ba80a9538cc2817fa4a2044ee2f495b6aa992835368d11ec359630eb1bab5e/main.spi 00:20:36 verbose #30355 > > 00:20:36 verbose #30356 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30357 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30358 > > │ ### request_json │ 00:20:36 verbose #30359 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30360 > > 00:20:36 verbose #30361 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30362 > > inl request_json forall t. (obj : t) (request : request_builder) : 00:20:36 verbose #30363 > > request_builder = 00:20:36 verbose #30364 > > !\($'"reqwest_wasm::RequestBuilder::json(!request, &!obj)"') 00:20:36 verbose #30365 > 00:20:36 debug #1573 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/614c550f83799f04e9782ee58605b729944bda4de92111643f4ecaa2113835cd/main.spi 00:20:36 verbose #30366 > > 00:20:36 verbose #30367 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30368 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30369 > > │ ### response_text │ 00:20:36 verbose #30370 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30371 > > 00:20:36 verbose #30372 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30373 > > inl response_text (response : reqwest_response) : async.future_pin 00:20:36 verbose #30374 > > (resultm.result' sm'.std_string reqwest_error) = 00:20:36 verbose #30375 > > !\($'"Box::pin(reqwest_wasm::Response::text(!response))"') 00:20:36 verbose #30376 > 00:20:36 debug #1574 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/04754b9d3d1bc5bf6602d307138f3d64d6b28173afcb60860f4f4fd1b3d41bad/main.spi 00:20:36 verbose #30377 > > 00:20:36 verbose #30378 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30379 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30380 > > │ ## fsharp │ 00:20:36 verbose #30381 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30382 > > 00:20:36 verbose #30383 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:36 verbose #30384 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:36 verbose #30385 > > │ ### tcp_client │ 00:20:36 verbose #30386 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:36 verbose #30387 > > 00:20:36 verbose #30388 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:36 verbose #30389 > > nominal tcp_client = $'System.Net.Sockets.TcpClient' 00:20:36 verbose #30390 > 00:20:36 debug #1575 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/141098b5df2da6733fdb97c304e6d12924c2c06444ef3559ece91ed5ece934a0/main.spi 00:20:37 verbose #30391 > > 00:20:37 verbose #30392 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30393 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30394 > > │ ### new_tcp_client │ 00:20:37 verbose #30395 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30396 > > 00:20:37 verbose #30397 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30398 > > inl new_tcp_client () : tcp_client = 00:20:37 verbose #30399 > > $'new `tcp_client ()' 00:20:37 verbose #30400 > 00:20:36 debug #1576 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/b719f8547ea8bdbffcf4e3f05d0b4837ca45b6d241b2767ef9cfb64cde19ac92/main.spi 00:20:37 verbose #30401 > > 00:20:37 verbose #30402 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30403 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30404 > > │ ### ip_address │ 00:20:37 verbose #30405 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30406 > > 00:20:37 verbose #30407 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30408 > > nominal ip_address = $'System.Net.IPAddress' 00:20:37 verbose #30409 > 00:20:36 debug #1577 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/2350beed062bdcdf8f5402245a58aa60ae4b4f5944f8e4391a9dd9e3d317062d/main.spi 00:20:37 verbose #30410 > > 00:20:37 verbose #30411 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30412 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30413 > > │ ### ip_address_parse │ 00:20:37 verbose #30414 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30415 > > 00:20:37 verbose #30416 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30417 > > inl ip_address_parse (s : string) : ip_address = 00:20:37 verbose #30418 > > s |> $'`ip_address.Parse' 00:20:37 verbose #30419 > 00:20:36 debug #1578 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8029dbc8c1927372620b904d1a393907c76bd6bd11bb2d0615a45ad18f953cc2/main.spi 00:20:37 verbose #30420 > > 00:20:37 verbose #30421 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30422 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30423 > > │ ### tcp_listener │ 00:20:37 verbose #30424 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30425 > > 00:20:37 verbose #30426 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30427 > > nominal tcp_listener = $'System.Net.Sockets.TcpListener' 00:20:37 verbose #30428 > 00:20:36 debug #1579 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/223b98f3b1932b291ffbbd8800008107af850d457e14a8aa368a9e846f3c768f/main.spi 00:20:37 verbose #30429 > > 00:20:37 verbose #30430 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30431 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30432 > > │ ### new_tcp_listener │ 00:20:37 verbose #30433 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30434 > > 00:20:37 verbose #30435 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30436 > > inl new_tcp_listener (ip_address : ip_address) (port : i32) : tcp_listener = 00:20:37 verbose #30437 > > $'new `tcp_listener (!ip_address, !port)' 00:20:37 verbose #30438 > 00:20:36 debug #1580 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7f5c0c785466d81a46e5b7f7e7def0549507c9908e7c00bff9857803823d801d/main.spi 00:20:37 verbose #30439 > > 00:20:37 verbose #30440 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30441 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30442 > > │ ### listener_start │ 00:20:37 verbose #30443 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30444 > > 00:20:37 verbose #30445 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30446 > > inl listener_start (listener : tcp_listener) : () = 00:20:37 verbose #30447 > > $'!listener.Start' () 00:20:37 verbose #30448 > 00:20:36 debug #1581 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/144d251fea50e91e6f3d1c242e623c19d8c3100a9268c11310095fc1cfa543a5/main.spi 00:20:37 verbose #30449 > > 00:20:37 verbose #30450 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30451 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30452 > > │ ### listener_stop │ 00:20:37 verbose #30453 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30454 > > 00:20:37 verbose #30455 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30456 > > inl listener_stop (listener : tcp_listener) : () = 00:20:37 verbose #30457 > > $'!listener.Stop' () 00:20:37 verbose #30458 > 00:20:37 debug #1582 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7cd51b17f28765494f1c5e71f2d8ed0d6521d37054b99930980a257893bdcb9d/main.spi 00:20:37 verbose #30459 > > 00:20:37 verbose #30460 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30461 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30462 > > │ ### client_connect_async │ 00:20:37 verbose #30463 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30464 > > 00:20:37 verbose #30465 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30466 > > inl client_connect_async 00:20:37 verbose #30467 > > (host : string) 00:20:37 verbose #30468 > > (port : i32) 00:20:37 verbose #30469 > > (ct : threading.cancellation_token) 00:20:37 verbose #30470 > > (client : tcp_client) 00:20:37 verbose #30471 > > : async.value_task 00:20:37 verbose #30472 > > = 00:20:37 verbose #30473 > > $'!client.ConnectAsync (!host, !port, !ct)' 00:20:37 verbose #30474 > 00:20:37 debug #1583 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dc95982cea9f1078c9d9a4d166fa11e04be67d07d0cad2e10c7fb5df11322681/main.spi 00:20:37 verbose #30475 > > 00:20:37 verbose #30476 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:37 verbose #30477 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:37 verbose #30478 > > │ ### test_port_open │ 00:20:37 verbose #30479 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:37 verbose #30480 > > 00:20:37 verbose #30481 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30482 > > inl test_port_open host port : _ bool = async.new_async fun () => 00:20:37 verbose #30483 > > inl ct = async.cancellation_token () |> async.let' 00:20:37 verbose #30484 > > inl client = new_tcp_client () |> use 00:20:37 verbose #30485 > > try_unit 00:20:37 verbose #30486 > > fun () => 00:20:37 verbose #30487 > > client |> client_connect_async host port ct |> 00:20:37 verbose #30488 > > async.await_value_task_unit |> async.do 00:20:37 verbose #30489 > > return true 00:20:37 verbose #30490 > > fun ex => 00:20:37 verbose #30491 > > inl ex = ex |> sm'.format_exception 00:20:37 verbose #30492 > > trace Verbose 00:20:37 verbose #30493 > > fun () => $'$"networking.test_port_open"' 00:20:37 verbose #30494 > > fun () => { port ex } 00:20:37 verbose #30495 > > return false 00:20:37 verbose #30496 > 00:20:37 debug #1584 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/dce11c833cf59d3df865d3e8db26ba9ccabe9dc53c1fab843648da9e0a4ff9b8/main.spi 00:20:37 verbose #30497 > > 00:20:37 verbose #30498 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:37 verbose #30499 > > //// test 00:20:37 verbose #30500 > > 00:20:37 verbose #30501 > > test_port_open "127.0.0.1" 65536 00:20:37 verbose #30502 > > |> async.run_with_timeout 120 00:20:37 verbose #30503 > > |> _assert_eq (Some false) 00:20:37 verbose #30504 > 00:20:37 debug #1585 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/6570c27f29f205d9853458e2f1d457635c06526d16a6b205fdd926162f105abc/main.spi 00:20:39 verbose #30505 > > 00:20:39 verbose #30506 > > ╭─[ 1.95s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:39 verbose #30507 > > │ 00:00:00 verbose #1 networking.test_port_open / { port = 65536; ex = │ 00:20:39 verbose #30508 > > │ System.ArgumentOutOfRangeException: Specified argument was out of the range │ 00:20:39 verbose #30509 > > │ of valid values. (Parameter 'port') } │ 00:20:39 verbose #30510 > > │ assert_eq / actual: US4_0 false / expected: US4_0 false │ 00:20:39 verbose #30511 > > │ │ 00:20:39 verbose #30512 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:39 verbose #30513 > > 00:20:39 verbose #30514 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:39 verbose #30515 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:39 verbose #30516 > > │ ### test_port_open_timeout │ 00:20:39 verbose #30517 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:39 verbose #30518 > > 00:20:39 verbose #30519 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:39 verbose #30520 > > inl test_port_open_timeout timeout host port : _ bool = async.new_async_unit fun 00:20:39 verbose #30521 > > () => 00:20:39 verbose #30522 > > test_port_open host port 00:20:39 verbose #30523 > > |> async.run_with_timeout_async timeout 00:20:39 verbose #30524 > > |> async.let' 00:20:39 verbose #30525 > > |> function 00:20:39 verbose #30526 > > | None => false 00:20:39 verbose #30527 > > | Some result => result 00:20:39 verbose #30528 > > |> return 00:20:39 verbose #30529 > 00:20:39 debug #1586 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/65c112b106aea7014ddd8c023a19f5d44a27486a88a8c1fc48b63d47e038019b/main.spi 00:20:39 verbose #30530 > > 00:20:39 verbose #30531 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:39 verbose #30532 > > //// test 00:20:39 verbose #30533 > > 00:20:39 verbose #30534 > > test_port_open_timeout 120 "127.0.0.1" 65535 00:20:39 verbose #30535 > > |> async.run_synchronously 00:20:39 verbose #30536 > > |> _assert_eq false 00:20:39 verbose #30537 > 00:20:39 debug #1587 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e9b5c24c13b2270b10c3df3aaefdf6459e6f752937bb1d740fbb11693ccf6d20/main.spi 00:20:40 verbose #30538 > > 00:20:40 verbose #30539 > > ╭─[ 856.48ms - stdout ]────────────────────────────────────────────────────────╮ 00:20:40 verbose #30540 > > │ 00:00:00 verbose #1 networking.test_port_open / { port = 65535; ex = │ 00:20:40 verbose #30541 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:40 verbose #30542 > > │ } │ 00:20:40 verbose #30543 > > │ assert_eq / actual: false / expected: false │ 00:20:40 verbose #30544 > > │ │ 00:20:40 verbose #30545 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:40 verbose #30546 > > 00:20:40 verbose #30547 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:40 verbose #30548 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:40 verbose #30549 > > │ ### wait_for_port_access │ 00:20:40 verbose #30550 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:40 verbose #30551 > > 00:20:40 verbose #30552 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:40 verbose #30553 > > inl wait_for_port_access timeout status host port : _ i64 = 00:20:40 verbose #30554 > > let rec loop retry : _ i64 = async.new_async_unit fun () => 00:20:40 verbose #30555 > > inl isPortOpen = 00:20:40 verbose #30556 > > match timeout |> optionm'.unbox with 00:20:40 verbose #30557 > > | None => test_port_open host port 00:20:40 verbose #30558 > > | Some timeout => test_port_open_timeout timeout host port 00:20:40 verbose #30559 > > |> async.let' 00:20:40 verbose #30560 > > 00:20:40 verbose #30561 > > fix_condition 00:20:40 verbose #30562 > > fun () => isPortOpen = status 00:20:40 verbose #30563 > > fun () => retry |> return 00:20:40 verbose #30564 > > fun () => 00:20:40 verbose #30565 > > if retry % 100 = 0 then 00:20:40 verbose #30566 > > trace Verbose 00:20:40 verbose #30567 > > fun () => "networking.wait_for_port_access" 00:20:40 verbose #30568 > > fun () => { port retry timeout status } 00:20:40 verbose #30569 > > async.sleep 10 |> async.do 00:20:40 verbose #30570 > > loop (retry + 1) |> async.return_await 00:20:40 verbose #30571 > > loop 0i64 00:20:40 verbose #30572 > 00:20:40 debug #1588 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f8eabeceec6bd69c8ac0aa188b23884b74809713954d55c1b8c0d939c1fcb78a/main.spi 00:20:40 verbose #30573 > > 00:20:40 verbose #30574 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:40 verbose #30575 > > //// test 00:20:40 verbose #30576 > > 00:20:40 verbose #30577 > > inl lock_port host port = async.new_async fun () => 00:20:40 verbose #30578 > > trace Debug (fun () => "_1") id 00:20:40 verbose #30579 > > async.sleep 5000 |> async.do 00:20:40 verbose #30580 > > inl listener = new_tcp_listener (host |> ip_address_parse) port |> use 00:20:40 verbose #30581 > > trace Debug (fun () => "_2") id 00:20:40 verbose #30582 > > listener |> listener_start 00:20:40 verbose #30583 > > trace Debug (fun () => "_3") id 00:20:40 verbose #30584 > > async.sleep 2000 |> async.do 00:20:40 verbose #30585 > > trace Debug (fun () => "_4") id 00:20:40 verbose #30586 > > $'!listener.Stop' () 00:20:40 verbose #30587 > > trace Debug (fun () => "_5") id 00:20:40 verbose #30588 > > 00:20:40 verbose #30589 > > inl host = "127.0.0.1" 00:20:40 verbose #30590 > > inl port = 5555i32 00:20:40 verbose #30591 > > 00:20:40 verbose #30592 > > fun () => 00:20:40 verbose #30593 > > trace Debug (fun () => "1") id 00:20:40 verbose #30594 > > inl child = lock_port host port |> async.start_child |> async.let' 00:20:40 verbose #30595 > > trace Debug (fun () => "2") id 00:20:40 verbose #30596 > > async.sleep 1 |> async.do 00:20:40 verbose #30597 > > trace Debug (fun () => "3") id 00:20:40 verbose #30598 > > inl retries1 = wait_for_port_access (None |> optionm'.box) true host port |> 00:20:40 verbose #30599 > > async.let' 00:20:40 verbose #30600 > > trace Debug (fun () => "4") id 00:20:40 verbose #30601 > > inl retries2 = wait_for_port_access (None |> optionm'.box) false host port 00:20:40 verbose #30602 > > |> async.let' 00:20:40 verbose #30603 > > trace Debug (fun () => "5") id 00:20:40 verbose #30604 > > child |> async.do 00:20:40 verbose #30605 > > trace Debug (fun () => "6") id 00:20:40 verbose #30606 > > (retries1, retries2) |> return 00:20:40 verbose #30607 > > |> async.new_async_unit 00:20:40 verbose #30608 > > |> async.run_with_timeout 20000 00:20:40 verbose #30609 > > |> function 00:20:40 verbose #30610 > > | Some (retries1, retries2) => 00:20:40 verbose #30611 > > retries1 00:20:40 verbose #30612 > > |> _assert_between 00:20:40 verbose #30613 > > if platform.is_windows () then 2i64 else 2 00:20:40 verbose #30614 > > if platform.is_windows () then 5 else 1500 00:20:40 verbose #30615 > > 00:20:40 verbose #30616 > > retries2 00:20:40 verbose #30617 > > |> _assert_between 00:20:40 verbose #30618 > > if platform.is_windows () then 80i64 else 80 00:20:40 verbose #30619 > > if platform.is_windows () then 200 else 600 00:20:40 verbose #30620 > > 00:20:40 verbose #30621 > > true 00:20:40 verbose #30622 > > | _ => false 00:20:40 verbose #30623 > > |> _assert_eq true 00:20:40 verbose #30624 > 00:20:40 debug #1589 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/3e85ba0e3843d0e5951573a0aabba952b3b9b2da65670a1e6735c8e72520e8c6/main.spi 00:20:49 verbose #30625 > > 00:20:49 verbose #30626 > > ╭─[ 8.93s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:49 verbose #30627 > > │ 00:00:00 debug #1 1 │ 00:20:49 verbose #30628 > > │ 00:00:00 debug #2 _1 │ 00:20:49 verbose #30629 > > │ 00:00:00 debug #3 2 │ 00:20:49 verbose #30630 > > │ 00:00:00 debug #4 3 │ 00:20:49 verbose #30631 > > │ 00:00:00 verbose #5 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30632 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30633 > > │ } │ 00:20:49 verbose #30634 > > │ 00:00:00 verbose #6 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #30635 > > │ retry = 0; timeout = None; status = true } │ 00:20:49 verbose #30636 > > │ 00:00:00 verbose #7 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30637 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30638 > > │ } │ 00:20:49 verbose #30639 > > │ 00:00:00 verbose #8 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30640 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30641 > > │ } │ 00:20:49 verbose #30642 > > │ 00:00:00 verbose #9 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30643 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30644 > > │ } │ 00:20:49 verbose #30645 > > │ 00:00:00 verbose #10 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30646 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30647 > > │ } │ 00:20:49 verbose #30648 > > │ 00:00:00 verbose #11 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30649 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30650 > > │ } │ 00:20:49 verbose #30651 > > │ 00:00:00 verbose #12 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30652 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30653 > > │ } │ 00:20:49 verbose #30654 > > │ 00:00:00 verbose #13 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30655 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30656 > > │ } │ 00:20:49 verbose #30657 > > │ 00:00:00 verbose #14 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30658 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30659 > > │ } │ 00:20:49 verbose #30660 > > │ 00:00:00 verbose #15 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30661 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30662 > > │ } │ 00:20:49 verbose #30663 > > │ 00:00:00 verbose #16 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30664 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30665 > > │ } │ 00:20:49 verbose #30666 > > │ 00:00:00 verbose #17 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30667 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30668 > > │ } │ 00:20:49 verbose #30669 > > │ 00:00:00 verbose #18 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30670 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30671 > > │ } │ 00:20:49 verbose #30672 > > │ 00:00:00 verbose #19 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30673 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30674 > > │ } │ 00:20:49 verbose #30675 > > │ 00:00:00 verbose #20 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30676 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30677 > > │ } │ 00:20:49 verbose #30678 > > │ 00:00:00 verbose #21 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30679 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30680 > > │ } │ 00:20:49 verbose #30681 > > │ 00:00:00 verbose #22 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30682 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30683 > > │ } │ 00:20:49 verbose #30684 > > │ 00:00:00 verbose #23 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30685 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30686 > > │ } │ 00:20:49 verbose #30687 > > │ 00:00:00 verbose #24 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30688 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30689 > > │ } │ 00:20:49 verbose #30690 > > │ 00:00:00 verbose #25 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30691 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30692 > > │ } │ 00:20:49 verbose #30693 > > │ 00:00:00 verbose #26 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30694 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30695 > > │ } │ 00:20:49 verbose #30696 > > │ 00:00:00 verbose #27 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30697 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30698 > > │ } │ 00:20:49 verbose #30699 > > │ 00:00:00 verbose #28 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30700 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30701 > > │ } │ 00:20:49 verbose #30702 > > │ 00:00:00 verbose #29 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30703 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30704 > > │ } │ 00:20:49 verbose #30705 > > │ 00:00:00 verbose #30 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30706 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30707 > > │ } │ 00:20:49 verbose #30708 > > │ 00:00:00 verbose #31 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30709 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30710 > > │ } │ 00:20:49 verbose #30711 > > │ 00:00:00 verbose #32 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30712 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30713 > > │ } │ 00:20:49 verbose #30714 > > │ 00:00:00 verbose #33 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30715 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30716 > > │ } │ 00:20:49 verbose #30717 > > │ 00:00:00 verbose #34 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30718 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30719 > > │ } │ 00:20:49 verbose #30720 > > │ 00:00:00 verbose #35 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30721 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30722 > > │ } │ 00:20:49 verbose #30723 > > │ 00:00:00 verbose #36 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30724 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30725 > > │ } │ 00:20:49 verbose #30726 > > │ 00:00:00 verbose #37 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30727 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30728 > > │ } │ 00:20:49 verbose #30729 > > │ 00:00:00 verbose #38 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30730 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30731 > > │ } │ 00:20:49 verbose #30732 > > │ 00:00:00 verbose #39 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30733 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30734 > > │ } │ 00:20:49 verbose #30735 > > │ 00:00:00 verbose #40 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30736 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30737 > > │ } │ 00:20:49 verbose #30738 > > │ 00:00:00 verbose #41 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30739 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30740 > > │ } │ 00:20:49 verbose #30741 > > │ 00:00:00 verbose #42 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30742 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30743 > > │ } │ 00:20:49 verbose #30744 > > │ 00:00:00 verbose #43 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30745 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30746 > > │ } │ 00:20:49 verbose #30747 > > │ 00:00:00 verbose #44 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30748 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30749 > > │ } │ 00:20:49 verbose #30750 > > │ 00:00:00 verbose #45 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30751 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30752 > > │ } │ 00:20:49 verbose #30753 > > │ 00:00:00 verbose #46 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30754 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30755 > > │ } │ 00:20:49 verbose #30756 > > │ 00:00:00 verbose #47 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30757 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30758 > > │ } │ 00:20:49 verbose #30759 > > │ 00:00:00 verbose #48 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30760 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30761 > > │ } │ 00:20:49 verbose #30762 > > │ 00:00:00 verbose #49 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30763 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30764 > > │ } │ 00:20:49 verbose #30765 > > │ 00:00:00 verbose #50 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30766 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30767 > > │ } │ 00:20:49 verbose #30768 > > │ 00:00:00 verbose #51 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30769 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30770 > > │ } │ 00:20:49 verbose #30771 > > │ 00:00:00 verbose #52 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30772 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30773 > > │ } │ 00:20:49 verbose #30774 > > │ 00:00:00 verbose #53 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30775 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30776 > > │ } │ 00:20:49 verbose #30777 > > │ 00:00:00 verbose #54 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30778 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30779 > > │ } │ 00:20:49 verbose #30780 > > │ 00:00:00 verbose #55 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30781 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30782 > > │ } │ 00:20:49 verbose #30783 > > │ 00:00:00 verbose #56 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30784 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30785 > > │ } │ 00:20:49 verbose #30786 > > │ 00:00:00 verbose #57 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30787 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30788 > > │ } │ 00:20:49 verbose #30789 > > │ 00:00:00 verbose #58 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30790 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30791 > > │ } │ 00:20:49 verbose #30792 > > │ 00:00:00 verbose #59 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30793 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30794 > > │ } │ 00:20:49 verbose #30795 > > │ 00:00:00 verbose #60 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30796 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30797 > > │ } │ 00:20:49 verbose #30798 > > │ 00:00:00 verbose #61 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30799 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30800 > > │ } │ 00:20:49 verbose #30801 > > │ 00:00:00 verbose #62 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30802 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30803 > > │ } │ 00:20:49 verbose #30804 > > │ 00:00:00 verbose #63 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30805 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30806 > > │ } │ 00:20:49 verbose #30807 > > │ 00:00:00 verbose #64 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30808 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30809 > > │ } │ 00:20:49 verbose #30810 > > │ 00:00:00 verbose #65 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30811 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30812 > > │ } │ 00:20:49 verbose #30813 > > │ 00:00:00 verbose #66 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30814 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30815 > > │ } │ 00:20:49 verbose #30816 > > │ 00:00:00 verbose #67 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30817 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30818 > > │ } │ 00:20:49 verbose #30819 > > │ 00:00:00 verbose #68 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30820 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30821 > > │ } │ 00:20:49 verbose #30822 > > │ 00:00:00 verbose #69 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30823 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30824 > > │ } │ 00:20:49 verbose #30825 > > │ 00:00:00 verbose #70 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30826 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30827 > > │ } │ 00:20:49 verbose #30828 > > │ 00:00:00 verbose #71 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30829 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30830 > > │ } │ 00:20:49 verbose #30831 > > │ 00:00:00 verbose #72 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30832 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30833 > > │ } │ 00:20:49 verbose #30834 > > │ 00:00:00 verbose #73 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30835 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30836 > > │ } │ 00:20:49 verbose #30837 > > │ 00:00:00 verbose #74 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30838 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30839 > > │ } │ 00:20:49 verbose #30840 > > │ 00:00:00 verbose #75 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30841 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30842 > > │ } │ 00:20:49 verbose #30843 > > │ 00:00:00 verbose #76 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30844 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30845 > > │ } │ 00:20:49 verbose #30846 > > │ 00:00:00 verbose #77 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30847 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30848 > > │ } │ 00:20:49 verbose #30849 > > │ 00:00:00 verbose #78 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30850 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30851 > > │ } │ 00:20:49 verbose #30852 > > │ 00:00:00 verbose #79 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30853 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30854 > > │ } │ 00:20:49 verbose #30855 > > │ 00:00:00 verbose #80 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30856 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30857 > > │ } │ 00:20:49 verbose #30858 > > │ 00:00:00 verbose #81 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30859 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30860 > > │ } │ 00:20:49 verbose #30861 > > │ 00:00:00 verbose #82 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30862 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30863 > > │ } │ 00:20:49 verbose #30864 > > │ 00:00:00 verbose #83 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30865 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30866 > > │ } │ 00:20:49 verbose #30867 > > │ 00:00:00 verbose #84 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30868 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30869 > > │ } │ 00:20:49 verbose #30870 > > │ 00:00:00 verbose #85 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30871 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30872 > > │ } │ 00:20:49 verbose #30873 > > │ 00:00:00 verbose #86 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30874 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30875 > > │ } │ 00:20:49 verbose #30876 > > │ 00:00:00 verbose #87 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30877 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30878 > > │ } │ 00:20:49 verbose #30879 > > │ 00:00:01 verbose #88 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30880 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30881 > > │ } │ 00:20:49 verbose #30882 > > │ 00:00:01 verbose #89 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30883 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30884 > > │ } │ 00:20:49 verbose #30885 > > │ 00:00:01 verbose #90 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30886 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30887 > > │ } │ 00:20:49 verbose #30888 > > │ 00:00:01 verbose #91 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30889 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30890 > > │ } │ 00:20:49 verbose #30891 > > │ 00:00:01 verbose #92 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30892 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30893 > > │ } │ 00:20:49 verbose #30894 > > │ 00:00:01 verbose #93 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30895 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30896 > > │ } │ 00:20:49 verbose #30897 > > │ 00:00:01 verbose #94 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30898 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30899 > > │ } │ 00:20:49 verbose #30900 > > │ 00:00:01 verbose #95 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30901 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30902 > > │ } │ 00:20:49 verbose #30903 > > │ 00:00:01 verbose #96 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30904 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30905 > > │ } │ 00:20:49 verbose #30906 > > │ 00:00:01 verbose #97 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30907 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30908 > > │ } │ 00:20:49 verbose #30909 > > │ 00:00:01 verbose #98 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30910 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30911 > > │ } │ 00:20:49 verbose #30912 > > │ 00:00:01 verbose #99 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30913 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30914 > > │ } │ 00:20:49 verbose #30915 > > │ 00:00:01 verbose #100 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30916 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30917 > > │ } │ 00:20:49 verbose #30918 > > │ 00:00:01 verbose #101 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30919 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30920 > > │ } │ 00:20:49 verbose #30921 > > │ 00:00:01 verbose #102 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30922 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30923 > > │ } │ 00:20:49 verbose #30924 > > │ 00:00:01 verbose #103 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30925 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30926 > > │ } │ 00:20:49 verbose #30927 > > │ 00:00:01 verbose #104 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30928 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30929 > > │ } │ 00:20:49 verbose #30930 > > │ 00:00:01 verbose #105 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30931 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30932 > > │ } │ 00:20:49 verbose #30933 > > │ 00:00:01 verbose #106 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30934 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30935 > > │ } │ 00:20:49 verbose #30936 > > │ 00:00:01 verbose #107 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #30937 > > │ retry = 100; timeout = None; status = true } │ 00:20:49 verbose #30938 > > │ 00:00:01 verbose #108 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30939 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30940 > > │ } │ 00:20:49 verbose #30941 > > │ 00:00:01 verbose #109 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30942 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30943 > > │ } │ 00:20:49 verbose #30944 > > │ 00:00:01 verbose #110 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30945 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30946 > > │ } │ 00:20:49 verbose #30947 > > │ 00:00:01 verbose #111 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30948 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30949 > > │ } │ 00:20:49 verbose #30950 > > │ 00:00:01 verbose #112 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30951 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30952 > > │ } │ 00:20:49 verbose #30953 > > │ 00:00:01 verbose #113 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30954 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30955 > > │ } │ 00:20:49 verbose #30956 > > │ 00:00:01 verbose #114 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30957 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30958 > > │ } │ 00:20:49 verbose #30959 > > │ 00:00:01 verbose #115 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30960 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30961 > > │ } │ 00:20:49 verbose #30962 > > │ 00:00:01 verbose #116 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30963 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30964 > > │ } │ 00:20:49 verbose #30965 > > │ 00:00:01 verbose #117 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30966 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30967 > > │ } │ 00:20:49 verbose #30968 > > │ 00:00:01 verbose #118 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30969 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30970 > > │ } │ 00:20:49 verbose #30971 > > │ 00:00:01 verbose #119 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30972 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30973 > > │ } │ 00:20:49 verbose #30974 > > │ 00:00:01 verbose #120 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30975 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30976 > > │ } │ 00:20:49 verbose #30977 > > │ 00:00:01 verbose #121 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30978 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30979 > > │ } │ 00:20:49 verbose #30980 > > │ 00:00:01 verbose #122 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30981 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30982 > > │ } │ 00:20:49 verbose #30983 > > │ 00:00:01 verbose #123 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30984 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30985 > > │ } │ 00:20:49 verbose #30986 > > │ 00:00:01 verbose #124 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30987 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30988 > > │ } │ 00:20:49 verbose #30989 > > │ 00:00:01 verbose #125 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30990 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30991 > > │ } │ 00:20:49 verbose #30992 > > │ 00:00:01 verbose #126 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30993 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30994 > > │ } │ 00:20:49 verbose #30995 > > │ 00:00:01 verbose #127 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30996 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #30997 > > │ } │ 00:20:49 verbose #30998 > > │ 00:00:01 verbose #128 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #30999 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31000 > > │ } │ 00:20:49 verbose #31001 > > │ 00:00:01 verbose #129 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31002 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31003 > > │ } │ 00:20:49 verbose #31004 > > │ 00:00:01 verbose #130 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31005 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31006 > > │ } │ 00:20:49 verbose #31007 > > │ 00:00:01 verbose #131 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31008 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31009 > > │ } │ 00:20:49 verbose #31010 > > │ 00:00:01 verbose #132 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31011 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31012 > > │ } │ 00:20:49 verbose #31013 > > │ 00:00:01 verbose #133 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31014 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31015 > > │ } │ 00:20:49 verbose #31016 > > │ 00:00:01 verbose #134 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31017 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31018 > > │ } │ 00:20:49 verbose #31019 > > │ 00:00:01 verbose #135 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31020 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31021 > > │ } │ 00:20:49 verbose #31022 > > │ 00:00:01 verbose #136 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31023 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31024 > > │ } │ 00:20:49 verbose #31025 > > │ 00:00:01 verbose #137 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31026 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31027 > > │ } │ 00:20:49 verbose #31028 > > │ 00:00:01 verbose #138 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31029 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31030 > > │ } │ 00:20:49 verbose #31031 > > │ 00:00:01 verbose #139 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31032 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31033 > > │ } │ 00:20:49 verbose #31034 > > │ 00:00:01 verbose #140 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31035 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31036 > > │ } │ 00:20:49 verbose #31037 > > │ 00:00:01 verbose #141 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31038 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31039 > > │ } │ 00:20:49 verbose #31040 > > │ 00:00:01 verbose #142 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31041 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31042 > > │ } │ 00:20:49 verbose #31043 > > │ 00:00:01 verbose #143 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31044 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31045 > > │ } │ 00:20:49 verbose #31046 > > │ 00:00:01 verbose #144 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31047 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31048 > > │ } │ 00:20:49 verbose #31049 > > │ 00:00:01 verbose #145 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31050 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31051 > > │ } │ 00:20:49 verbose #31052 > > │ 00:00:01 verbose #146 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31053 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31054 > > │ } │ 00:20:49 verbose #31055 > > │ 00:00:01 verbose #147 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31056 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31057 > > │ } │ 00:20:49 verbose #31058 > > │ 00:00:01 verbose #148 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31059 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31060 > > │ } │ 00:20:49 verbose #31061 > > │ 00:00:01 verbose #149 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31062 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31063 > > │ } │ 00:20:49 verbose #31064 > > │ 00:00:01 verbose #150 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31065 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31066 > > │ } │ 00:20:49 verbose #31067 > > │ 00:00:01 verbose #151 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31068 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31069 > > │ } │ 00:20:49 verbose #31070 > > │ 00:00:01 verbose #152 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31071 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31072 > > │ } │ 00:20:49 verbose #31073 > > │ 00:00:01 verbose #153 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31074 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31075 > > │ } │ 00:20:49 verbose #31076 > > │ 00:00:01 verbose #154 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31077 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31078 > > │ } │ 00:20:49 verbose #31079 > > │ 00:00:01 verbose #155 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31080 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31081 > > │ } │ 00:20:49 verbose #31082 > > │ 00:00:01 verbose #156 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31083 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31084 > > │ } │ 00:20:49 verbose #31085 > > │ 00:00:01 verbose #157 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31086 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31087 > > │ } │ 00:20:49 verbose #31088 > > │ 00:00:01 verbose #158 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31089 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31090 > > │ } │ 00:20:49 verbose #31091 > > │ 00:00:01 verbose #159 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31092 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31093 > > │ } │ 00:20:49 verbose #31094 > > │ 00:00:01 verbose #160 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31095 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31096 > > │ } │ 00:20:49 verbose #31097 > > │ 00:00:01 verbose #161 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31098 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31099 > > │ } │ 00:20:49 verbose #31100 > > │ 00:00:01 verbose #162 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31101 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31102 > > │ } │ 00:20:49 verbose #31103 > > │ 00:00:01 verbose #163 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31104 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31105 > > │ } │ 00:20:49 verbose #31106 > > │ 00:00:01 verbose #164 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31107 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31108 > > │ } │ 00:20:49 verbose #31109 > > │ 00:00:01 verbose #165 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31110 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31111 > > │ } │ 00:20:49 verbose #31112 > > │ 00:00:01 verbose #166 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31113 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31114 > > │ } │ 00:20:49 verbose #31115 > > │ 00:00:01 verbose #167 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31116 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31117 > > │ } │ 00:20:49 verbose #31118 > > │ 00:00:01 verbose #168 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31119 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31120 > > │ } │ 00:20:49 verbose #31121 > > │ 00:00:01 verbose #169 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31122 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31123 > > │ } │ 00:20:49 verbose #31124 > > │ 00:00:01 verbose #170 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31125 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31126 > > │ } │ 00:20:49 verbose #31127 > > │ 00:00:01 verbose #171 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31128 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31129 > > │ } │ 00:20:49 verbose #31130 > > │ 00:00:02 verbose #172 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31131 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31132 > > │ } │ 00:20:49 verbose #31133 > > │ 00:00:02 verbose #173 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31134 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31135 > > │ } │ 00:20:49 verbose #31136 > > │ 00:00:02 verbose #174 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31137 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31138 > > │ } │ 00:20:49 verbose #31139 > > │ 00:00:02 verbose #175 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31140 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31141 > > │ } │ 00:20:49 verbose #31142 > > │ 00:00:02 verbose #176 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31143 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31144 > > │ } │ 00:20:49 verbose #31145 > > │ 00:00:02 verbose #177 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31146 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31147 > > │ } │ 00:20:49 verbose #31148 > > │ 00:00:02 verbose #178 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31149 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31150 > > │ } │ 00:20:49 verbose #31151 > > │ 00:00:02 verbose #179 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31152 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31153 > > │ } │ 00:20:49 verbose #31154 > > │ 00:00:02 verbose #180 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31155 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31156 > > │ } │ 00:20:49 verbose #31157 > > │ 00:00:02 verbose #181 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31158 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31159 > > │ } │ 00:20:49 verbose #31160 > > │ 00:00:02 verbose #182 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31161 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31162 > > │ } │ 00:20:49 verbose #31163 > > │ 00:00:02 verbose #183 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31164 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31165 > > │ } │ 00:20:49 verbose #31166 > > │ 00:00:02 verbose #184 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31167 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31168 > > │ } │ 00:20:49 verbose #31169 > > │ 00:00:02 verbose #185 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31170 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31171 > > │ } │ 00:20:49 verbose #31172 > > │ 00:00:02 verbose #186 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31173 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31174 > > │ } │ 00:20:49 verbose #31175 > > │ 00:00:02 verbose #187 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31176 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31177 > > │ } │ 00:20:49 verbose #31178 > > │ 00:00:02 verbose #188 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31179 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31180 > > │ } │ 00:20:49 verbose #31181 > > │ 00:00:02 verbose #189 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31182 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31183 > > │ } │ 00:20:49 verbose #31184 > > │ 00:00:02 verbose #190 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31185 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31186 > > │ } │ 00:20:49 verbose #31187 > > │ 00:00:02 verbose #191 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31188 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31189 > > │ } │ 00:20:49 verbose #31190 > > │ 00:00:02 verbose #192 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31191 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31192 > > │ } │ 00:20:49 verbose #31193 > > │ 00:00:02 verbose #193 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31194 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31195 > > │ } │ 00:20:49 verbose #31196 > > │ 00:00:02 verbose #194 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31197 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31198 > > │ } │ 00:20:49 verbose #31199 > > │ 00:00:02 verbose #195 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31200 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31201 > > │ } │ 00:20:49 verbose #31202 > > │ 00:00:02 verbose #196 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31203 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31204 > > │ } │ 00:20:49 verbose #31205 > > │ 00:00:02 verbose #197 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31206 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31207 > > │ } │ 00:20:49 verbose #31208 > > │ 00:00:02 verbose #198 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31209 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31210 > > │ } │ 00:20:49 verbose #31211 > > │ 00:00:02 verbose #199 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31212 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31213 > > │ } │ 00:20:49 verbose #31214 > > │ 00:00:02 verbose #200 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31215 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31216 > > │ } │ 00:20:49 verbose #31217 > > │ 00:00:02 verbose #201 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31218 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31219 > > │ } │ 00:20:49 verbose #31220 > > │ 00:00:02 verbose #202 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31221 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31222 > > │ } │ 00:20:49 verbose #31223 > > │ 00:00:02 verbose #203 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31224 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31225 > > │ } │ 00:20:49 verbose #31226 > > │ 00:00:02 verbose #204 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31227 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31228 > > │ } │ 00:20:49 verbose #31229 > > │ 00:00:02 verbose #205 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31230 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31231 > > │ } │ 00:20:49 verbose #31232 > > │ 00:00:02 verbose #206 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31233 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31234 > > │ } │ 00:20:49 verbose #31235 > > │ 00:00:02 verbose #207 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31236 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31237 > > │ } │ 00:20:49 verbose #31238 > > │ 00:00:02 verbose #208 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #31239 > > │ retry = 200; timeout = None; status = true } │ 00:20:49 verbose #31240 > > │ 00:00:02 verbose #209 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31241 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31242 > > │ } │ 00:20:49 verbose #31243 > > │ 00:00:02 verbose #210 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31244 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31245 > > │ } │ 00:20:49 verbose #31246 > > │ 00:00:02 verbose #211 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31247 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31248 > > │ } │ 00:20:49 verbose #31249 > > │ 00:00:02 verbose #212 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31250 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31251 > > │ } │ 00:20:49 verbose #31252 > > │ 00:00:02 verbose #213 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31253 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31254 > > │ } │ 00:20:49 verbose #31255 > > │ 00:00:02 verbose #214 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31256 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31257 > > │ } │ 00:20:49 verbose #31258 > > │ 00:00:02 verbose #215 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31259 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31260 > > │ } │ 00:20:49 verbose #31261 > > │ 00:00:02 verbose #216 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31262 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31263 > > │ } │ 00:20:49 verbose #31264 > > │ 00:00:02 verbose #217 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31265 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31266 > > │ } │ 00:20:49 verbose #31267 > > │ 00:00:02 verbose #218 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31268 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31269 > > │ } │ 00:20:49 verbose #31270 > > │ 00:00:02 verbose #219 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31271 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31272 > > │ } │ 00:20:49 verbose #31273 > > │ 00:00:02 verbose #220 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31274 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31275 > > │ } │ 00:20:49 verbose #31276 > > │ 00:00:02 verbose #221 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31277 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31278 > > │ } │ 00:20:49 verbose #31279 > > │ 00:00:02 verbose #222 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31280 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31281 > > │ } │ 00:20:49 verbose #31282 > > │ 00:00:02 verbose #223 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31283 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31284 > > │ } │ 00:20:49 verbose #31285 > > │ 00:00:02 verbose #224 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31286 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31287 > > │ } │ 00:20:49 verbose #31288 > > │ 00:00:02 verbose #225 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31289 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31290 > > │ } │ 00:20:49 verbose #31291 > > │ 00:00:02 verbose #226 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31292 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31293 > > │ } │ 00:20:49 verbose #31294 > > │ 00:00:02 verbose #227 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31295 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31296 > > │ } │ 00:20:49 verbose #31297 > > │ 00:00:02 verbose #228 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31298 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31299 > > │ } │ 00:20:49 verbose #31300 > > │ 00:00:02 verbose #229 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31301 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31302 > > │ } │ 00:20:49 verbose #31303 > > │ 00:00:02 verbose #230 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31304 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31305 > > │ } │ 00:20:49 verbose #31306 > > │ 00:00:02 verbose #231 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31307 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31308 > > │ } │ 00:20:49 verbose #31309 > > │ 00:00:02 verbose #232 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31310 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31311 > > │ } │ 00:20:49 verbose #31312 > > │ 00:00:02 verbose #233 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31313 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31314 > > │ } │ 00:20:49 verbose #31315 > > │ 00:00:02 verbose #234 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31316 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31317 > > │ } │ 00:20:49 verbose #31318 > > │ 00:00:02 verbose #235 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31319 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31320 > > │ } │ 00:20:49 verbose #31321 > > │ 00:00:02 verbose #236 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31322 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31323 > > │ } │ 00:20:49 verbose #31324 > > │ 00:00:02 verbose #237 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31325 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31326 > > │ } │ 00:20:49 verbose #31327 > > │ 00:00:02 verbose #238 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31328 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31329 > > │ } │ 00:20:49 verbose #31330 > > │ 00:00:02 verbose #239 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31331 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31332 > > │ } │ 00:20:49 verbose #31333 > > │ 00:00:02 verbose #240 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31334 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31335 > > │ } │ 00:20:49 verbose #31336 > > │ 00:00:02 verbose #241 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31337 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31338 > > │ } │ 00:20:49 verbose #31339 > > │ 00:00:02 verbose #242 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31340 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31341 > > │ } │ 00:20:49 verbose #31342 > > │ 00:00:02 verbose #243 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31343 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31344 > > │ } │ 00:20:49 verbose #31345 > > │ 00:00:02 verbose #244 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31346 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31347 > > │ } │ 00:20:49 verbose #31348 > > │ 00:00:02 verbose #245 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31349 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31350 > > │ } │ 00:20:49 verbose #31351 > > │ 00:00:02 verbose #246 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31352 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31353 > > │ } │ 00:20:49 verbose #31354 > > │ 00:00:02 verbose #247 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31355 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31356 > > │ } │ 00:20:49 verbose #31357 > > │ 00:00:02 verbose #248 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31358 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31359 > > │ } │ 00:20:49 verbose #31360 > > │ 00:00:02 verbose #249 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31361 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31362 > > │ } │ 00:20:49 verbose #31363 > > │ 00:00:02 verbose #250 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31364 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31365 > > │ } │ 00:20:49 verbose #31366 > > │ 00:00:02 verbose #251 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31367 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31368 > > │ } │ 00:20:49 verbose #31369 > > │ 00:00:02 verbose #252 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31370 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31371 > > │ } │ 00:20:49 verbose #31372 > > │ 00:00:02 verbose #253 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31373 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31374 > > │ } │ 00:20:49 verbose #31375 > > │ 00:00:02 verbose #254 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31376 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31377 > > │ } │ 00:20:49 verbose #31378 > > │ 00:00:02 verbose #255 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31379 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31380 > > │ } │ 00:20:49 verbose #31381 > > │ 00:00:02 verbose #256 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31382 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31383 > > │ } │ 00:20:49 verbose #31384 > > │ 00:00:03 verbose #257 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31385 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31386 > > │ } │ 00:20:49 verbose #31387 > > │ 00:00:03 verbose #258 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31388 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31389 > > │ } │ 00:20:49 verbose #31390 > > │ 00:00:03 verbose #259 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31391 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31392 > > │ } │ 00:20:49 verbose #31393 > > │ 00:00:03 verbose #260 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31394 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31395 > > │ } │ 00:20:49 verbose #31396 > > │ 00:00:03 verbose #261 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31397 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31398 > > │ } │ 00:20:49 verbose #31399 > > │ 00:00:03 verbose #262 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31400 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31401 > > │ } │ 00:20:49 verbose #31402 > > │ 00:00:03 verbose #263 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31403 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31404 > > │ } │ 00:20:49 verbose #31405 > > │ 00:00:03 verbose #264 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31406 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31407 > > │ } │ 00:20:49 verbose #31408 > > │ 00:00:03 verbose #265 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31409 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31410 > > │ } │ 00:20:49 verbose #31411 > > │ 00:00:03 verbose #266 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31412 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31413 > > │ } │ 00:20:49 verbose #31414 > > │ 00:00:03 verbose #267 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31415 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31416 > > │ } │ 00:20:49 verbose #31417 > > │ 00:00:03 verbose #268 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31418 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31419 > > │ } │ 00:20:49 verbose #31420 > > │ 00:00:03 verbose #269 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31421 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31422 > > │ } │ 00:20:49 verbose #31423 > > │ 00:00:03 verbose #270 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31424 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31425 > > │ } │ 00:20:49 verbose #31426 > > │ 00:00:03 verbose #271 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31427 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31428 > > │ } │ 00:20:49 verbose #31429 > > │ 00:00:03 verbose #272 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31430 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31431 > > │ } │ 00:20:49 verbose #31432 > > │ 00:00:03 verbose #273 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31433 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31434 > > │ } │ 00:20:49 verbose #31435 > > │ 00:00:03 verbose #274 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31436 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31437 > > │ } │ 00:20:49 verbose #31438 > > │ 00:00:03 verbose #275 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31439 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31440 > > │ } │ 00:20:49 verbose #31441 > > │ 00:00:03 verbose #276 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31442 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31443 > > │ } │ 00:20:49 verbose #31444 > > │ 00:00:03 verbose #277 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31445 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31446 > > │ } │ 00:20:49 verbose #31447 > > │ 00:00:03 verbose #278 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31448 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31449 > > │ } │ 00:20:49 verbose #31450 > > │ 00:00:03 verbose #279 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31451 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31452 > > │ } │ 00:20:49 verbose #31453 > > │ 00:00:03 verbose #280 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31454 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31455 > > │ } │ 00:20:49 verbose #31456 > > │ 00:00:03 verbose #281 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31457 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31458 > > │ } │ 00:20:49 verbose #31459 > > │ 00:00:03 verbose #282 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31460 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31461 > > │ } │ 00:20:49 verbose #31462 > > │ 00:00:03 verbose #283 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31463 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31464 > > │ } │ 00:20:49 verbose #31465 > > │ 00:00:03 verbose #284 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31466 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31467 > > │ } │ 00:20:49 verbose #31468 > > │ 00:00:03 verbose #285 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31469 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31470 > > │ } │ 00:20:49 verbose #31471 > > │ 00:00:03 verbose #286 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31472 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31473 > > │ } │ 00:20:49 verbose #31474 > > │ 00:00:03 verbose #287 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31475 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31476 > > │ } │ 00:20:49 verbose #31477 > > │ 00:00:03 verbose #288 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31478 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31479 > > │ } │ 00:20:49 verbose #31480 > > │ 00:00:03 verbose #289 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31481 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31482 > > │ } │ 00:20:49 verbose #31483 > > │ 00:00:03 verbose #290 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31484 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31485 > > │ } │ 00:20:49 verbose #31486 > > │ 00:00:03 verbose #291 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31487 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31488 > > │ } │ 00:20:49 verbose #31489 > > │ 00:00:03 verbose #292 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31490 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31491 > > │ } │ 00:20:49 verbose #31492 > > │ 00:00:03 verbose #293 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31493 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31494 > > │ } │ 00:20:49 verbose #31495 > > │ 00:00:03 verbose #294 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31496 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31497 > > │ } │ 00:20:49 verbose #31498 > > │ 00:00:03 verbose #295 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31499 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31500 > > │ } │ 00:20:49 verbose #31501 > > │ 00:00:03 verbose #296 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31502 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31503 > > │ } │ 00:20:49 verbose #31504 > > │ 00:00:03 verbose #297 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31505 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31506 > > │ } │ 00:20:49 verbose #31507 > > │ 00:00:03 verbose #298 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31508 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31509 > > │ } │ 00:20:49 verbose #31510 > > │ 00:00:03 verbose #299 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31511 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31512 > > │ } │ 00:20:49 verbose #31513 > > │ 00:00:03 verbose #300 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31514 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31515 > > │ } │ 00:20:49 verbose #31516 > > │ 00:00:03 verbose #301 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31517 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31518 > > │ } │ 00:20:49 verbose #31519 > > │ 00:00:03 verbose #302 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31520 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31521 > > │ } │ 00:20:49 verbose #31522 > > │ 00:00:03 verbose #303 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31523 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31524 > > │ } │ 00:20:49 verbose #31525 > > │ 00:00:03 verbose #304 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31526 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31527 > > │ } │ 00:20:49 verbose #31528 > > │ 00:00:03 verbose #305 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31529 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31530 > > │ } │ 00:20:49 verbose #31531 > > │ 00:00:03 verbose #306 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31532 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31533 > > │ } │ 00:20:49 verbose #31534 > > │ 00:00:03 verbose #307 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31535 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31536 > > │ } │ 00:20:49 verbose #31537 > > │ 00:00:03 verbose #308 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31538 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31539 > > │ } │ 00:20:49 verbose #31540 > > │ 00:00:03 verbose #309 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #31541 > > │ retry = 300; timeout = None; status = true } │ 00:20:49 verbose #31542 > > │ 00:00:03 verbose #310 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31543 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31544 > > │ } │ 00:20:49 verbose #31545 > > │ 00:00:03 verbose #311 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31546 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31547 > > │ } │ 00:20:49 verbose #31548 > > │ 00:00:03 verbose #312 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31549 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31550 > > │ } │ 00:20:49 verbose #31551 > > │ 00:00:03 verbose #313 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31552 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31553 > > │ } │ 00:20:49 verbose #31554 > > │ 00:00:03 verbose #314 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31555 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31556 > > │ } │ 00:20:49 verbose #31557 > > │ 00:00:03 verbose #315 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31558 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31559 > > │ } │ 00:20:49 verbose #31560 > > │ 00:00:03 verbose #316 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31561 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31562 > > │ } │ 00:20:49 verbose #31563 > > │ 00:00:03 verbose #317 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31564 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31565 > > │ } │ 00:20:49 verbose #31566 > > │ 00:00:03 verbose #318 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31567 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31568 > > │ } │ 00:20:49 verbose #31569 > > │ 00:00:03 verbose #319 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31570 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31571 > > │ } │ 00:20:49 verbose #31572 > > │ 00:00:03 verbose #320 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31573 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31574 > > │ } │ 00:20:49 verbose #31575 > > │ 00:00:03 verbose #321 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31576 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31577 > > │ } │ 00:20:49 verbose #31578 > > │ 00:00:03 verbose #322 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31579 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31580 > > │ } │ 00:20:49 verbose #31581 > > │ 00:00:03 verbose #323 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31582 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31583 > > │ } │ 00:20:49 verbose #31584 > > │ 00:00:03 verbose #324 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31585 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31586 > > │ } │ 00:20:49 verbose #31587 > > │ 00:00:03 verbose #325 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31588 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31589 > > │ } │ 00:20:49 verbose #31590 > > │ 00:00:03 verbose #326 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31591 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31592 > > │ } │ 00:20:49 verbose #31593 > > │ 00:00:03 verbose #327 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31594 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31595 > > │ } │ 00:20:49 verbose #31596 > > │ 00:00:03 verbose #328 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31597 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31598 > > │ } │ 00:20:49 verbose #31599 > > │ 00:00:03 verbose #329 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31600 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31601 > > │ } │ 00:20:49 verbose #31602 > > │ 00:00:03 verbose #330 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31603 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31604 > > │ } │ 00:20:49 verbose #31605 > > │ 00:00:03 verbose #331 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31606 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31607 > > │ } │ 00:20:49 verbose #31608 > > │ 00:00:03 verbose #332 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31609 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31610 > > │ } │ 00:20:49 verbose #31611 > > │ 00:00:03 verbose #333 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31612 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31613 > > │ } │ 00:20:49 verbose #31614 > > │ 00:00:03 verbose #334 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31615 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31616 > > │ } │ 00:20:49 verbose #31617 > > │ 00:00:03 verbose #335 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31618 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31619 > > │ } │ 00:20:49 verbose #31620 > > │ 00:00:03 verbose #336 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31621 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31622 > > │ } │ 00:20:49 verbose #31623 > > │ 00:00:03 verbose #337 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31624 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31625 > > │ } │ 00:20:49 verbose #31626 > > │ 00:00:03 verbose #338 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31627 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31628 > > │ } │ 00:20:49 verbose #31629 > > │ 00:00:03 verbose #339 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31630 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31631 > > │ } │ 00:20:49 verbose #31632 > > │ 00:00:03 verbose #340 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31633 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31634 > > │ } │ 00:20:49 verbose #31635 > > │ 00:00:04 verbose #341 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31636 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31637 > > │ } │ 00:20:49 verbose #31638 > > │ 00:00:04 verbose #342 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31639 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31640 > > │ } │ 00:20:49 verbose #31641 > > │ 00:00:04 verbose #343 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31642 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31643 > > │ } │ 00:20:49 verbose #31644 > > │ 00:00:04 verbose #344 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31645 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31646 > > │ } │ 00:20:49 verbose #31647 > > │ 00:00:04 verbose #345 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31648 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31649 > > │ } │ 00:20:49 verbose #31650 > > │ 00:00:04 verbose #346 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31651 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31652 > > │ } │ 00:20:49 verbose #31653 > > │ 00:00:04 verbose #347 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31654 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31655 > > │ } │ 00:20:49 verbose #31656 > > │ 00:00:04 verbose #348 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31657 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31658 > > │ } │ 00:20:49 verbose #31659 > > │ 00:00:04 verbose #349 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31660 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31661 > > │ } │ 00:20:49 verbose #31662 > > │ 00:00:04 verbose #350 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31663 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31664 > > │ } │ 00:20:49 verbose #31665 > > │ 00:00:04 verbose #351 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31666 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31667 > > │ } │ 00:20:49 verbose #31668 > > │ 00:00:04 verbose #352 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31669 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31670 > > │ } │ 00:20:49 verbose #31671 > > │ 00:00:04 verbose #353 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31672 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31673 > > │ } │ 00:20:49 verbose #31674 > > │ 00:00:04 verbose #354 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31675 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31676 > > │ } │ 00:20:49 verbose #31677 > > │ 00:00:04 verbose #355 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31678 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31679 > > │ } │ 00:20:49 verbose #31680 > > │ 00:00:04 verbose #356 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31681 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31682 > > │ } │ 00:20:49 verbose #31683 > > │ 00:00:04 verbose #357 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31684 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31685 > > │ } │ 00:20:49 verbose #31686 > > │ 00:00:04 verbose #358 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31687 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31688 > > │ } │ 00:20:49 verbose #31689 > > │ 00:00:04 verbose #359 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31690 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31691 > > │ } │ 00:20:49 verbose #31692 > > │ 00:00:04 verbose #360 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31693 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31694 > > │ } │ 00:20:49 verbose #31695 > > │ 00:00:04 verbose #361 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31696 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31697 > > │ } │ 00:20:49 verbose #31698 > > │ 00:00:04 verbose #362 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31699 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31700 > > │ } │ 00:20:49 verbose #31701 > > │ 00:00:04 verbose #363 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31702 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31703 > > │ } │ 00:20:49 verbose #31704 > > │ 00:00:04 verbose #364 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31705 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31706 > > │ } │ 00:20:49 verbose #31707 > > │ 00:00:04 verbose #365 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31708 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31709 > > │ } │ 00:20:49 verbose #31710 > > │ 00:00:04 verbose #366 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31711 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31712 > > │ } │ 00:20:49 verbose #31713 > > │ 00:00:04 verbose #367 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31714 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31715 > > │ } │ 00:20:49 verbose #31716 > > │ 00:00:04 verbose #368 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31717 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31718 > > │ } │ 00:20:49 verbose #31719 > > │ 00:00:04 verbose #369 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31720 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31721 > > │ } │ 00:20:49 verbose #31722 > > │ 00:00:04 verbose #370 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31723 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31724 > > │ } │ 00:20:49 verbose #31725 > > │ 00:00:04 verbose #371 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31726 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31727 > > │ } │ 00:20:49 verbose #31728 > > │ 00:00:04 verbose #372 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31729 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31730 > > │ } │ 00:20:49 verbose #31731 > > │ 00:00:04 verbose #373 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31732 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31733 > > │ } │ 00:20:49 verbose #31734 > > │ 00:00:04 verbose #374 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31735 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31736 > > │ } │ 00:20:49 verbose #31737 > > │ 00:00:04 verbose #375 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31738 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31739 > > │ } │ 00:20:49 verbose #31740 > > │ 00:00:04 verbose #376 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31741 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31742 > > │ } │ 00:20:49 verbose #31743 > > │ 00:00:04 verbose #377 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31744 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31745 > > │ } │ 00:20:49 verbose #31746 > > │ 00:00:04 verbose #378 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31747 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31748 > > │ } │ 00:20:49 verbose #31749 > > │ 00:00:04 verbose #379 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31750 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31751 > > │ } │ 00:20:49 verbose #31752 > > │ 00:00:04 verbose #380 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31753 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31754 > > │ } │ 00:20:49 verbose #31755 > > │ 00:00:04 verbose #381 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31756 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31757 > > │ } │ 00:20:49 verbose #31758 > > │ 00:00:04 verbose #382 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31759 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31760 > > │ } │ 00:20:49 verbose #31761 > > │ 00:00:04 verbose #383 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31762 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31763 > > │ } │ 00:20:49 verbose #31764 > > │ 00:00:04 verbose #384 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31765 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31766 > > │ } │ 00:20:49 verbose #31767 > > │ 00:00:04 verbose #385 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31768 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31769 > > │ } │ 00:20:49 verbose #31770 > > │ 00:00:04 verbose #386 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31771 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31772 > > │ } │ 00:20:49 verbose #31773 > > │ 00:00:04 verbose #387 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31774 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31775 > > │ } │ 00:20:49 verbose #31776 > > │ 00:00:04 verbose #388 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31777 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31778 > > │ } │ 00:20:49 verbose #31779 > > │ 00:00:04 verbose #389 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31780 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31781 > > │ } │ 00:20:49 verbose #31782 > > │ 00:00:04 verbose #390 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31783 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31784 > > │ } │ 00:20:49 verbose #31785 > > │ 00:00:04 verbose #391 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31786 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31787 > > │ } │ 00:20:49 verbose #31788 > > │ 00:00:04 verbose #392 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31789 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31790 > > │ } │ 00:20:49 verbose #31791 > > │ 00:00:04 verbose #393 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31792 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31793 > > │ } │ 00:20:49 verbose #31794 > > │ 00:00:04 verbose #394 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31795 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31796 > > │ } │ 00:20:49 verbose #31797 > > │ 00:00:04 verbose #395 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31798 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31799 > > │ } │ 00:20:49 verbose #31800 > > │ 00:00:04 verbose #396 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31801 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31802 > > │ } │ 00:20:49 verbose #31803 > > │ 00:00:04 verbose #397 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31804 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31805 > > │ } │ 00:20:49 verbose #31806 > > │ 00:00:04 verbose #398 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31807 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31808 > > │ } │ 00:20:49 verbose #31809 > > │ 00:00:04 verbose #399 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31810 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31811 > > │ } │ 00:20:49 verbose #31812 > > │ 00:00:04 verbose #400 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31813 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31814 > > │ } │ 00:20:49 verbose #31815 > > │ 00:00:04 verbose #401 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31816 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31817 > > │ } │ 00:20:49 verbose #31818 > > │ 00:00:04 verbose #402 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31819 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31820 > > │ } │ 00:20:49 verbose #31821 > > │ 00:00:04 verbose #403 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31822 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31823 > > │ } │ 00:20:49 verbose #31824 > > │ 00:00:04 verbose #404 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31825 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31826 > > │ } │ 00:20:49 verbose #31827 > > │ 00:00:04 verbose #405 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31828 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31829 > > │ } │ 00:20:49 verbose #31830 > > │ 00:00:04 verbose #406 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31831 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31832 > > │ } │ 00:20:49 verbose #31833 > > │ 00:00:04 verbose #407 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31834 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31835 > > │ } │ 00:20:49 verbose #31836 > > │ 00:00:04 verbose #408 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31837 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31838 > > │ } │ 00:20:49 verbose #31839 > > │ 00:00:04 verbose #409 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31840 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31841 > > │ } │ 00:20:49 verbose #31842 > > │ 00:00:04 verbose #410 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #31843 > > │ retry = 400; timeout = None; status = true } │ 00:20:49 verbose #31844 > > │ 00:00:04 verbose #411 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31845 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31846 > > │ } │ 00:20:49 verbose #31847 > > │ 00:00:04 verbose #412 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31848 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31849 > > │ } │ 00:20:49 verbose #31850 > > │ 00:00:04 verbose #413 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31851 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31852 > > │ } │ 00:20:49 verbose #31853 > > │ 00:00:04 verbose #414 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31854 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31855 > > │ } │ 00:20:49 verbose #31856 > > │ 00:00:04 verbose #415 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31857 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31858 > > │ } │ 00:20:49 verbose #31859 > > │ 00:00:04 verbose #416 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31860 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31861 > > │ } │ 00:20:49 verbose #31862 > > │ 00:00:04 verbose #417 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31863 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31864 > > │ } │ 00:20:49 verbose #31865 > > │ 00:00:04 verbose #418 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31866 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31867 > > │ } │ 00:20:49 verbose #31868 > > │ 00:00:04 verbose #419 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31869 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31870 > > │ } │ 00:20:49 verbose #31871 > > │ 00:00:04 verbose #420 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31872 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31873 > > │ } │ 00:20:49 verbose #31874 > > │ 00:00:04 verbose #421 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31875 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31876 > > │ } │ 00:20:49 verbose #31877 > > │ 00:00:04 verbose #422 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31878 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31879 > > │ } │ 00:20:49 verbose #31880 > > │ 00:00:04 verbose #423 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31881 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31882 > > │ } │ 00:20:49 verbose #31883 > > │ 00:00:04 verbose #424 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31884 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31885 > > │ } │ 00:20:49 verbose #31886 > > │ 00:00:05 verbose #425 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31887 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31888 > > │ } │ 00:20:49 verbose #31889 > > │ 00:00:05 debug #426 _2 │ 00:20:49 verbose #31890 > > │ 00:00:05 debug #427 _3 │ 00:20:49 verbose #31891 > > │ 00:00:05 debug #428 4 │ 00:20:49 verbose #31892 > > │ 00:00:05 verbose #429 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #31893 > > │ retry = 0; timeout = None; status = false } │ 00:20:49 verbose #31894 > > │ 00:00:06 verbose #430 networking.wait_for_port_access / { port = 5555; │ 00:20:49 verbose #31895 > > │ retry = 100; timeout = None; status = false } │ 00:20:49 verbose #31896 > > │ 00:00:07 debug #431 _4 │ 00:20:49 verbose #31897 > > │ 00:00:07 debug #432 _5 │ 00:20:49 verbose #31898 > > │ 00:00:07 verbose #433 networking.test_port_open / { port = 5555; ex = │ 00:20:49 verbose #31899 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:49 verbose #31900 > > │ } │ 00:20:49 verbose #31901 > > │ 00:00:07 debug #434 5 │ 00:20:49 verbose #31902 > > │ 00:00:07 debug #435 6 │ 00:20:49 verbose #31903 > > │ assert_between / actual: 416L / expected: struct (2L, 1500L) │ 00:20:49 verbose #31904 > > │ assert_between / actual: 166L / expected: struct (80L, 600L) │ 00:20:49 verbose #31905 > > │ assert_eq / actual: true / expected: true │ 00:20:49 verbose #31906 > > │ │ 00:20:49 verbose #31907 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:49 verbose #31908 > > 00:20:49 verbose #31909 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:49 verbose #31910 > > //// test 00:20:49 verbose #31911 > > 00:20:49 verbose #31912 > > inl lock_port host port = async.new_async_unit fun () => 00:20:49 verbose #31913 > > trace Debug (fun () => "_1") id 00:20:49 verbose #31914 > > async.sleep 500 |> async.do 00:20:49 verbose #31915 > > inl listener = new_tcp_listener (ip_address_parse host) port |> use 00:20:49 verbose #31916 > > trace Debug (fun () => "_2") id 00:20:49 verbose #31917 > > listener |> listener_start 00:20:49 verbose #31918 > > trace Debug (fun () => "_3") id 00:20:49 verbose #31919 > > async.sleep 200 |> async.do 00:20:49 verbose #31920 > > trace Debug (fun () => "_4") id 00:20:49 verbose #31921 > > listener |> listener_stop 00:20:49 verbose #31922 > > trace Debug (fun () => "_5") id 00:20:49 verbose #31923 > > 00:20:49 verbose #31924 > > inl host = "127.0.0.1" 00:20:49 verbose #31925 > > inl port = 5555 00:20:49 verbose #31926 > > 00:20:49 verbose #31927 > > fun () => 00:20:49 verbose #31928 > > trace Debug (fun () => "1") id 00:20:49 verbose #31929 > > inl child = lock_port host port |> async.start_child |> async.let' 00:20:49 verbose #31930 > > trace Debug (fun () => "2") id 00:20:49 verbose #31931 > > async.sleep 1 |> async.do 00:20:49 verbose #31932 > > trace Debug (fun () => "3") id 00:20:49 verbose #31933 > > inl retries1 = wait_for_port_access (Some 60 |> optionm'.box) true host port 00:20:49 verbose #31934 > > |> async.let' 00:20:49 verbose #31935 > > trace Debug (fun () => "4") id 00:20:49 verbose #31936 > > inl retries2 = wait_for_port_access (Some 60 |> optionm'.box) false host 00:20:49 verbose #31937 > > port |> async.let' 00:20:49 verbose #31938 > > trace Debug (fun () => "5") id 00:20:49 verbose #31939 > > child |> async.do 00:20:49 verbose #31940 > > trace Debug (fun () => "6") id 00:20:49 verbose #31941 > > (retries1, retries2) |> return 00:20:49 verbose #31942 > > |> async.new_async_unit 00:20:49 verbose #31943 > > |> async.run_with_timeout 2000 00:20:49 verbose #31944 > > |> function 00:20:49 verbose #31945 > > | Some (retries1, retries2) => 00:20:49 verbose #31946 > > retries1 00:20:49 verbose #31947 > > |> _assert_between 00:20:49 verbose #31948 > > if platform.is_windows () then 4i64 else 2 00:20:49 verbose #31949 > > if platform.is_windows () then 15 else 150 00:20:49 verbose #31950 > > 00:20:49 verbose #31951 > > retries2 00:20:49 verbose #31952 > > |> _assert_between 00:20:49 verbose #31953 > > if platform.is_windows () then 5i64 else 0 00:20:49 verbose #31954 > > if platform.is_windows () then 20 else 60 00:20:49 verbose #31955 > > 00:20:49 verbose #31956 > > true 00:20:49 verbose #31957 > > | _ => false 00:20:49 verbose #31958 > > |> _assert_eq true 00:20:49 verbose #31959 > 00:20:49 debug #1590 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0f2e8ca44f24827963f0729445b3756f3a4f0d294ab0aaa8d819486c4cb0363c/main.spi 00:20:52 verbose #31960 > > 00:20:52 verbose #31961 > > ╭─[ 2.39s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:52 verbose #31962 > > │ 00:00:00 debug #1 1 │ 00:20:52 verbose #31963 > > │ 00:00:00 debug #2 2 │ 00:20:52 verbose #31964 > > │ 00:00:00 debug #3 _1 │ 00:20:52 verbose #31965 > > │ 00:00:00 debug #4 3 │ 00:20:52 verbose #31966 > > │ 00:00:00 verbose #5 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31967 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31968 > > │ } │ 00:20:52 verbose #31969 > > │ 00:00:00 verbose #6 networking.wait_for_port_access / { port = 5555; │ 00:20:52 verbose #31970 > > │ retry = 0; timeout = Some 60; status = true } │ 00:20:52 verbose #31971 > > │ 00:00:00 verbose #7 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31972 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31973 > > │ } │ 00:20:52 verbose #31974 > > │ 00:00:00 verbose #8 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31975 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31976 > > │ } │ 00:20:52 verbose #31977 > > │ 00:00:00 verbose #9 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31978 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31979 > > │ } │ 00:20:52 verbose #31980 > > │ 00:00:00 verbose #10 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31981 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31982 > > │ } │ 00:20:52 verbose #31983 > > │ 00:00:00 verbose #11 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31984 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31985 > > │ } │ 00:20:52 verbose #31986 > > │ 00:00:00 verbose #12 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31987 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31988 > > │ } │ 00:20:52 verbose #31989 > > │ 00:00:00 verbose #13 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31990 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31991 > > │ } │ 00:20:52 verbose #31992 > > │ 00:00:00 verbose #14 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31993 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31994 > > │ } │ 00:20:52 verbose #31995 > > │ 00:00:00 verbose #15 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31996 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #31997 > > │ } │ 00:20:52 verbose #31998 > > │ 00:00:00 verbose #16 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #31999 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32000 > > │ } │ 00:20:52 verbose #32001 > > │ 00:00:00 verbose #17 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32002 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32003 > > │ } │ 00:20:52 verbose #32004 > > │ 00:00:00 verbose #18 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32005 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32006 > > │ } │ 00:20:52 verbose #32007 > > │ 00:00:00 verbose #19 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32008 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32009 > > │ } │ 00:20:52 verbose #32010 > > │ 00:00:00 verbose #20 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32011 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32012 > > │ } │ 00:20:52 verbose #32013 > > │ 00:00:00 verbose #21 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32014 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32015 > > │ } │ 00:20:52 verbose #32016 > > │ 00:00:00 verbose #22 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32017 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32018 > > │ } │ 00:20:52 verbose #32019 > > │ 00:00:00 verbose #23 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32020 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32021 > > │ } │ 00:20:52 verbose #32022 > > │ 00:00:00 verbose #24 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32023 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32024 > > │ } │ 00:20:52 verbose #32025 > > │ 00:00:00 verbose #25 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32026 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32027 > > │ } │ 00:20:52 verbose #32028 > > │ 00:00:00 verbose #26 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32029 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32030 > > │ } │ 00:20:52 verbose #32031 > > │ 00:00:00 verbose #27 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32032 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32033 > > │ } │ 00:20:52 verbose #32034 > > │ 00:00:00 verbose #28 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32035 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32036 > > │ } │ 00:20:52 verbose #32037 > > │ 00:00:00 verbose #29 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32038 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32039 > > │ } │ 00:20:52 verbose #32040 > > │ 00:00:00 verbose #30 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32041 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32042 > > │ } │ 00:20:52 verbose #32043 > > │ 00:00:00 verbose #31 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32044 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32045 > > │ } │ 00:20:52 verbose #32046 > > │ 00:00:00 verbose #32 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32047 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32048 > > │ } │ 00:20:52 verbose #32049 > > │ 00:00:00 verbose #33 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32050 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32051 > > │ } │ 00:20:52 verbose #32052 > > │ 00:00:00 verbose #34 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32053 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32054 > > │ } │ 00:20:52 verbose #32055 > > │ 00:00:00 verbose #35 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32056 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32057 > > │ } │ 00:20:52 verbose #32058 > > │ 00:00:00 verbose #36 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32059 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32060 > > │ } │ 00:20:52 verbose #32061 > > │ 00:00:00 verbose #37 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32062 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32063 > > │ } │ 00:20:52 verbose #32064 > > │ 00:00:00 verbose #38 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32065 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32066 > > │ } │ 00:20:52 verbose #32067 > > │ 00:00:00 verbose #39 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32068 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32069 > > │ } │ 00:20:52 verbose #32070 > > │ 00:00:00 verbose #40 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32071 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32072 > > │ } │ 00:20:52 verbose #32073 > > │ 00:00:00 verbose #41 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32074 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32075 > > │ } │ 00:20:52 verbose #32076 > > │ 00:00:00 verbose #42 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32077 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32078 > > │ } │ 00:20:52 verbose #32079 > > │ 00:00:00 verbose #43 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32080 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32081 > > │ } │ 00:20:52 verbose #32082 > > │ 00:00:00 verbose #44 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32083 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32084 > > │ } │ 00:20:52 verbose #32085 > > │ 00:00:00 verbose #45 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32086 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32087 > > │ } │ 00:20:52 verbose #32088 > > │ 00:00:00 verbose #46 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32089 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32090 > > │ } │ 00:20:52 verbose #32091 > > │ 00:00:00 debug #47 _2 │ 00:20:52 verbose #32092 > > │ 00:00:00 debug #48 _3 │ 00:20:52 verbose #32093 > > │ 00:00:00 debug #49 4 │ 00:20:52 verbose #32094 > > │ 00:00:00 verbose #50 networking.wait_for_port_access / { port = 5555; │ 00:20:52 verbose #32095 > > │ retry = 0; timeout = Some 60; status = false } │ 00:20:52 verbose #32096 > > │ 00:00:00 debug #51 _4 │ 00:20:52 verbose #32097 > > │ 00:00:00 debug #52 _5 │ 00:20:52 verbose #32098 > > │ 00:00:00 verbose #53 networking.test_port_open / { port = 5555; ex = │ 00:20:52 verbose #32099 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:52 verbose #32100 > > │ } │ 00:20:52 verbose #32101 > > │ 00:00:00 debug #54 5 │ 00:20:52 verbose #32102 > > │ 00:00:00 debug #55 6 │ 00:20:52 verbose #32103 > > │ assert_between / actual: 41L / expected: struct (2L, 150L) │ 00:20:52 verbose #32104 > > │ assert_between / actual: 16L / expected: struct (0L, 60L) │ 00:20:52 verbose #32105 > > │ assert_eq / actual: true / expected: true │ 00:20:52 verbose #32106 > > │ │ 00:20:52 verbose #32107 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:52 verbose #32108 > > 00:20:52 verbose #32109 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:52 verbose #32110 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:52 verbose #32111 > > │ ### get_available_port │ 00:20:52 verbose #32112 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:52 verbose #32113 > > 00:20:52 verbose #32114 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:52 verbose #32115 > > inl get_available_port timeout host initial_port : _ i32 = 00:20:52 verbose #32116 > > let rec loop port = async.new_async_unit fun () => 00:20:52 verbose #32117 > > inl is_port_open = 00:20:52 verbose #32118 > > match timeout |> optionm'.unbox with 00:20:52 verbose #32119 > > | None => test_port_open host port 00:20:52 verbose #32120 > > | Some timeout => test_port_open_timeout timeout host port 00:20:52 verbose #32121 > > |> async.let' 00:20:52 verbose #32122 > > fix_condition 00:20:52 verbose #32123 > > fun () => is_port_open |> not 00:20:52 verbose #32124 > > fun () => port |> return 00:20:52 verbose #32125 > > fun () => loop (port + 1) |> async.return_await 00:20:52 verbose #32126 > > loop initial_port 00:20:52 verbose #32127 > 00:20:51 debug #1591 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/43f246205b46760e4443f6ccc66883ce179ce8f594316267f0beaf38805fe740/main.spi 00:20:52 verbose #32128 > > 00:20:52 verbose #32129 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:52 verbose #32130 > > //// test 00:20:52 verbose #32131 > > 00:20:52 verbose #32132 > > inl lock_ports host port = async.new_async_unit fun () => 00:20:52 verbose #32133 > > trace Debug (fun () => "_1") id 00:20:52 verbose #32134 > > inl listener1 = new_tcp_listener (ip_address_parse host) port |> use 00:20:52 verbose #32135 > > inl listener2 = new_tcp_listener (ip_address_parse host) (port + 1) |> use 00:20:52 verbose #32136 > > trace Debug (fun () => "_2") id 00:20:52 verbose #32137 > > listener1 |> listener_start 00:20:52 verbose #32138 > > listener2 |> listener_start 00:20:52 verbose #32139 > > trace Debug (fun () => "_3") id 00:20:52 verbose #32140 > > async.sleep 4000 |> async.do 00:20:52 verbose #32141 > > trace Debug (fun () => "_4") id 00:20:52 verbose #32142 > > listener1 |> listener_stop 00:20:52 verbose #32143 > > listener2 |> listener_stop 00:20:52 verbose #32144 > > trace Debug (fun () => "_5") id 00:20:52 verbose #32145 > > 00:20:52 verbose #32146 > > inl host = "127.0.0.1" 00:20:52 verbose #32147 > > inl port = 5555 00:20:52 verbose #32148 > > 00:20:52 verbose #32149 > > fun () => 00:20:52 verbose #32150 > > trace Debug (fun () => "1") id 00:20:52 verbose #32151 > > inl child = lock_ports host port |> async.start_child |> async.let' 00:20:52 verbose #32152 > > trace Debug (fun () => "2") id 00:20:52 verbose #32153 > > async.sleep 240 |> async.do 00:20:52 verbose #32154 > > trace Debug (fun () => "3") id 00:20:52 verbose #32155 > > inl available_port = get_available_port (None |> optionm'.box) host port |> 00:20:52 verbose #32156 > > async.let' 00:20:52 verbose #32157 > > trace Debug (fun () => "4") id 00:20:52 verbose #32158 > > inl retries = wait_for_port_access (None |> optionm'.box) false host port |> 00:20:52 verbose #32159 > > async.let' 00:20:52 verbose #32160 > > trace Debug (fun () => "5") id 00:20:52 verbose #32161 > > child |> async.do 00:20:52 verbose #32162 > > trace Debug (fun () => "6") id 00:20:52 verbose #32163 > > (available_port, retries) |> return 00:20:52 verbose #32164 > > |> async.new_async_unit 00:20:52 verbose #32165 > > |> async.run_with_timeout 15000 00:20:52 verbose #32166 > > |> function 00:20:52 verbose #32167 > > | Some (available_port, retries) => 00:20:52 verbose #32168 > > available_port |> _assert_eq (port + 2) 00:20:52 verbose #32169 > > 00:20:52 verbose #32170 > > retries 00:20:52 verbose #32171 > > |> _assert_between 00:20:52 verbose #32172 > > if platform.is_windows () then 50i64 else 50 00:20:52 verbose #32173 > > if platform.is_windows () then 150 else 1200 00:20:52 verbose #32174 > > 00:20:52 verbose #32175 > > true 00:20:52 verbose #32176 > > | _ => false 00:20:52 verbose #32177 > > |> _assert_eq true 00:20:52 verbose #32178 > 00:20:51 debug #1592 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7cfbd1dd20d787e67100fdd98df5913bc572028be1a876a239f7a1956c0f3f5e/main.spi 00:20:58 verbose #32179 > > 00:20:58 verbose #32180 > > ╭─[ 5.93s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:58 verbose #32181 > > │ 00:00:00 debug #1 1 │ 00:20:58 verbose #32182 > > │ 00:00:00 debug #2 _1 │ 00:20:58 verbose #32183 > > │ 00:00:00 debug #3 2 │ 00:20:58 verbose #32184 > > │ 00:00:00 debug #4 _2 │ 00:20:58 verbose #32185 > > │ 00:00:00 debug #5 _3 │ 00:20:58 verbose #32186 > > │ 00:00:00 debug #6 3 │ 00:20:58 verbose #32187 > > │ 00:00:00 verbose #7 networking.test_port_open / { port = 5557; ex = │ 00:20:58 verbose #32188 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:58 verbose #32189 > > │ } │ 00:20:58 verbose #32190 > > │ 00:00:00 debug #8 4 │ 00:20:58 verbose #32191 > > │ 00:00:00 verbose #9 networking.wait_for_port_access / { port = 5555; │ 00:20:58 verbose #32192 > > │ retry = 0; timeout = None; status = false } │ 00:20:58 verbose #32193 > > │ 00:00:01 verbose #10 networking.wait_for_port_access / { port = 5555; │ 00:20:58 verbose #32194 > > │ retry = 100; timeout = None; status = false } │ 00:20:58 verbose #32195 > > │ 00:00:02 verbose #11 networking.wait_for_port_access / { port = 5555; │ 00:20:58 verbose #32196 > > │ retry = 200; timeout = None; status = false } │ 00:20:58 verbose #32197 > > │ 00:00:03 verbose #12 networking.wait_for_port_access / { port = 5555; │ 00:20:58 verbose #32198 > > │ retry = 300; timeout = None; status = false } │ 00:20:58 verbose #32199 > > │ 00:00:04 debug #13 _4 │ 00:20:58 verbose #32200 > > │ 00:00:04 debug #14 _5 │ 00:20:58 verbose #32201 > > │ 00:00:04 verbose #15 networking.test_port_open / { port = 5555; ex = │ 00:20:58 verbose #32202 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:58 verbose #32203 > > │ } │ 00:20:58 verbose #32204 > > │ 00:00:04 debug #16 5 │ 00:20:58 verbose #32205 > > │ 00:00:04 debug #17 6 │ 00:20:58 verbose #32206 > > │ assert_eq / actual: 5557 / expected: 5557 │ 00:20:58 verbose #32207 > > │ assert_between / actual: 313L / expected: struct (50L, 1200L) │ 00:20:58 verbose #32208 > > │ assert_eq / actual: true / expected: true │ 00:20:58 verbose #32209 > > │ │ 00:20:58 verbose #32210 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:58 verbose #32211 > > 00:20:58 verbose #32212 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:58 verbose #32213 > > //// test 00:20:58 verbose #32214 > > 00:20:58 verbose #32215 > > inl lock_ports host port = async.new_async_unit fun () => 00:20:58 verbose #32216 > > trace Debug (fun () => "_1") id 00:20:58 verbose #32217 > > inl listener1 = new_tcp_listener (ip_address_parse host) port |> use 00:20:58 verbose #32218 > > inl listener2 = new_tcp_listener (ip_address_parse host) (port + 1) |> use 00:20:58 verbose #32219 > > trace Debug (fun () => "_2") id 00:20:58 verbose #32220 > > listener1 |> listener_start 00:20:58 verbose #32221 > > listener2 |> listener_start 00:20:58 verbose #32222 > > trace Debug (fun () => "_3") id 00:20:58 verbose #32223 > > async.sleep 400 |> async.do 00:20:58 verbose #32224 > > trace Debug (fun () => "_4") id 00:20:58 verbose #32225 > > listener1 |> listener_stop 00:20:58 verbose #32226 > > listener2 |> listener_stop 00:20:58 verbose #32227 > > trace Debug (fun () => "_5") id 00:20:58 verbose #32228 > > 00:20:58 verbose #32229 > > inl host = "127.0.0.1" 00:20:58 verbose #32230 > > inl port = 5555 00:20:58 verbose #32231 > > 00:20:58 verbose #32232 > > fun () => 00:20:58 verbose #32233 > > trace Debug (fun () => "1") id 00:20:58 verbose #32234 > > inl child = lock_ports host port |> async.start_child |> async.let' 00:20:58 verbose #32235 > > trace Debug (fun () => "2") id 00:20:58 verbose #32236 > > async.sleep 240 |> async.do 00:20:58 verbose #32237 > > trace Debug (fun () => "3") id 00:20:58 verbose #32238 > > inl available_port = get_available_port (Some 60 |> optionm'.box) host port 00:20:58 verbose #32239 > > |> async.let' 00:20:58 verbose #32240 > > trace Debug (fun () => "4") id 00:20:58 verbose #32241 > > inl retries = wait_for_port_access (Some 60 |> optionm'.box) false host port 00:20:58 verbose #32242 > > |> async.let' 00:20:58 verbose #32243 > > trace Debug (fun () => "5") id 00:20:58 verbose #32244 > > child |> async.do 00:20:58 verbose #32245 > > trace Debug (fun () => "6") id 00:20:58 verbose #32246 > > (available_port, retries) |> return 00:20:58 verbose #32247 > > |> async.new_async_unit 00:20:58 verbose #32248 > > |> async.run_with_timeout 1500 00:20:58 verbose #32249 > > |> function 00:20:58 verbose #32250 > > | Some (available_port, retries) => 00:20:58 verbose #32251 > > available_port |> _assert_eq (port + 2) 00:20:58 verbose #32252 > > 00:20:58 verbose #32253 > > retries 00:20:58 verbose #32254 > > |> _assert_between 00:20:58 verbose #32255 > > (if platform.is_windows () then 2i64 else 1) 00:20:58 verbose #32256 > > (if platform.is_windows () then 10 else 120) 00:20:58 verbose #32257 > > 00:20:58 verbose #32258 > > true 00:20:58 verbose #32259 > > | _ => false 00:20:58 verbose #32260 > > |> _assert_eq true 00:20:58 verbose #32261 > 00:20:57 debug #1593 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f0e9795f25dd24875a68faa1ad06677e6df74f47f065dc9656f618e800d5e32c/main.spi 00:20:59 verbose #32262 > > 00:20:59 verbose #32263 > > ╭─[ 1.66s - stdout ]───────────────────────────────────────────────────────────╮ 00:20:59 verbose #32264 > > │ 00:00:00 debug #1 1 │ 00:20:59 verbose #32265 > > │ 00:00:00 debug #2 2 │ 00:20:59 verbose #32266 > > │ 00:00:00 debug #3 _1 │ 00:20:59 verbose #32267 > > │ 00:00:00 debug #4 _2 │ 00:20:59 verbose #32268 > > │ 00:00:00 debug #5 _3 │ 00:20:59 verbose #32269 > > │ 00:00:00 debug #6 3 │ 00:20:59 verbose #32270 > > │ 00:00:00 verbose #7 networking.test_port_open / { port = 5557; ex = │ 00:20:59 verbose #32271 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:59 verbose #32272 > > │ } │ 00:20:59 verbose #32273 > > │ 00:00:00 debug #8 4 │ 00:20:59 verbose #32274 > > │ 00:00:00 verbose #9 networking.wait_for_port_access / { port = 5555; │ 00:20:59 verbose #32275 > > │ retry = 0; timeout = Some 60; status = false } │ 00:20:59 verbose #32276 > > │ 00:00:00 debug #10 _4 │ 00:20:59 verbose #32277 > > │ 00:00:00 debug #11 _5 │ 00:20:59 verbose #32278 > > │ 00:00:00 verbose #12 networking.test_port_open / { port = 5555; ex = │ 00:20:59 verbose #32279 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:20:59 verbose #32280 > > │ } │ 00:20:59 verbose #32281 > > │ 00:00:00 debug #13 5 │ 00:20:59 verbose #32282 > > │ 00:00:00 debug #14 6 │ 00:20:59 verbose #32283 > > │ assert_eq / actual: 5557 / expected: 5557 │ 00:20:59 verbose #32284 > > │ assert_between / actual: 12L / expected: struct (1L, 120L) │ 00:20:59 verbose #32285 > > │ assert_eq / actual: true / expected: true │ 00:20:59 verbose #32286 > > │ │ 00:20:59 verbose #32287 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:59 verbose #32288 > > 00:20:59 verbose #32289 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:20:59 verbose #32290 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:20:59 verbose #32291 > > │ ## main │ 00:20:59 verbose #32292 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:20:59 verbose #32293 > > 00:20:59 verbose #32294 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:20:59 verbose #32295 > > inl main () = 00:20:59 verbose #32296 > > init_trace_state None 00:20:59 verbose #32297 > > $'let test_port_open x = !test_port_open x' : () 00:20:59 verbose #32298 > > $'let test_port_open_timeout x = !test_port_open_timeout x' : () 00:20:59 verbose #32299 > > $'let wait_for_port_access x = !wait_for_port_access x' : () 00:20:59 verbose #32300 > > $'let get_available_port x = !get_available_port x' : () 00:20:59 verbose #32301 > 00:20:59 debug #1594 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0a39dd7602c23f3a79ce6787715935e22f9eb19e59997a9db617529aa749587b/main.spi 00:21:01 verbose #32302 > 00:00:29 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 189117 } 00:21:01 verbose #32303 > 00:00:29 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:21:01 verbose #32304 > 00:00:30 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.ipynb to html 00:21:01 verbose #32305 > 00:00:30 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:21:01 verbose #32306 > 00:00:30 verbose #7 ! validate(nb) 00:21:02 verbose #32307 > 00:00:30 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:21:02 verbose #32308 > 00:00:30 verbose #9 ! return _pygments_highlight( 00:21:02 verbose #32309 > 00:00:31 verbose #10 ! [NbConvertApp] Writing 457368 bytes to /home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.html 00:21:02 verbose #32310 > 00:00:31 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 904 } 00:21:02 verbose #32311 > 00:00:31 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 904 } 00:21:02 verbose #32312 > 00:00:31 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/lib/spiral/networking.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:21:02 verbose #32313 > 00:00:31 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:21:02 verbose #32314 > 00:00:31 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:21:02 verbose #32315 > 00:00:31 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 190080 } 00:21:02 debug #32316 runtime.execute_with_options_async / { exit_code = 0; output_length = 197041 } 00:21:02 debug #38 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path networking.dib --retries 3 00:21:02 verbose #28 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:21:03 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 writeDibCode / output: Spi / path: runtime.dib 00:00:00 debug #1 writeDibCode / output: Spi / path: async.dib 00:00:00 debug #1 writeDibCode / output: Spi / path: trace.dib 00:00:00 debug #1 writeDibCode / output: Spi / path: testing.dib 00:00:00 debug #3 parseDibCode / output: Spi / file: runtime.dib 00:00:00 debug #5 parseDibCode / output: Spi / file: async.dib 00:00:00 debug #4 parseDibCode / output: Spi / file: trace.dib 00:00:00 debug #4 parseDibCode / output: Spi / file: testing.dib 00:00:00 debug #6 writeDibCode / output: Spi / path: threading.dib 00:00:00 debug #7 parseDibCode / output: Spi / file: threading.dib 00:00:00 debug #9 writeDibCode / output: Spi / path: crypto.dib 00:00:00 debug #10 writeDibCode / output: Spi / path: common.dib 00:00:00 debug #11 writeDibCode / output: Spi / path: base.dib 00:00:00 debug #12 parseDibCode / output: Spi / file: common.dib 00:00:00 debug #13 parseDibCode / output: Spi / file: base.dib 00:00:00 debug #14 parseDibCode / output: Spi / file: crypto.dib 00:00:00 debug #8 writeDibCode / output: Spi / path: networking.dib 00:00:00 debug #15 parseDibCode / output: Spi / file: networking.dib 00:00:00 debug #17 writeDibCode / output: Spi / path: resultm.dib 00:00:00 debug #18 writeDibCode / output: Spi / path: env.dib 00:00:00 debug #19 parseDibCode / output: Spi / file: env.dib 00:00:00 debug #20 parseDibCode / output: Spi / file: resultm.dib 00:00:00 debug #21 writeDibCode / output: Spi / path: parsing.dib 00:00:00 debug #22 parseDibCode / output: Spi / file: parsing.dib 00:00:00 debug #23 writeDibCode / output: Spi / path: console.dib 00:00:00 debug #24 writeDibCode / output: Spi / path: date_time.dib 00:00:00 debug #17 writeDibCode / output: Spi / path: iter.dib 00:00:00 debug #27 parseDibCode / output: Spi / file: iter.dib 00:00:00 debug #25 parseDibCode / output: Spi / file: console.dib 00:00:00 debug #28 writeDibCode / output: Spi / path: file_system.dib 00:00:00 debug #29 parseDibCode / output: Spi / file: file_system.dib 00:00:00 debug #30 writeDibCode / output: Spi / path: guid.dib 00:00:00 debug #31 parseDibCode / output: Spi / file: guid.dib 00:00:00 debug #32 writeDibCode / output: Spi / path: math.dib 00:00:00 debug #33 parseDibCode / output: Spi / file: math.dib 00:00:00 debug #34 writeDibCode / output: Spi / path: mapm.dib 00:00:00 debug #26 parseDibCode / output: Spi / file: date_time.dib 00:00:00 debug #35 parseDibCode / output: Spi / file: mapm.dib 00:00:00 debug #36 writeDibCode / output: Spi / path: optionm'.dib 00:00:00 debug #37 parseDibCode / output: Spi / file: optionm'.dib 00:00:00 debug #38 writeDibCode / output: Spi / path: am'.dib 00:00:00 debug #39 parseDibCode / output: Spi / file: am'.dib 00:00:00 debug #40 writeDibCode / output: Spi / path: sm'.dib 00:00:00 debug #41 parseDibCode / output: Spi / file: sm'.dib 00:00:00 debug #42 writeDibCode / output: Spir / path: sm'.dib 00:00:00 debug #43 parseDibCode / output: Spir / file: sm'.dib 00:00:00 debug #44 writeDibCode / output: Spi / path: listm'.dib 00:00:00 debug #45 parseDibCode / output: Spi / file: listm'.dib 00:00:00 debug #46 writeDibCode / output: Spi / path: reflection.dib 00:00:00 debug #47 parseDibCode / output: Spi / file: reflection.dib 00:00:00 debug #48 writeDibCode / output: Spi / path: python.dib 00:00:00 debug #49 parseDibCode / output: Spi / file: python.dib 00:00:00 debug #50 writeDibCode / output: Spi / path: typescript.dib 00:00:00 debug #51 parseDibCode / output: Spi / file: typescript.dib 00:00:00 debug #52 writeDibCode / output: Spi / path: benchmark.dib 00:00:00 debug #53 parseDibCode / output: Spi / file: benchmark.dib 00:00:00 debug #54 writeDibCode / output: Spi / path: stream.dib 00:00:00 debug #55 parseDibCode / output: Spi / file: stream.dib 00:00:00 debug #56 writeDibCode / output: Spi / path: seq.dib 00:00:00 debug #57 parseDibCode / output: Spi / file: seq.dib 00:00:00 debug #58 writeDibCode / output: Spi / path: util.dib 00:00:00 debug #59 parseDibCode / output: Spi / file: util.dib 00:00:00 debug #60 writeDibCode / output: Spi / path: platform.dib 00:00:00 debug #61 parseDibCode / output: Spi / file: platform.dib 00:00:00 debug #62 writeDibCode / output: Spi / path: rust/rust.dib 00:00:00 debug #64 parseDibCode / output: Spi / file: rust/rust.dib 00:00:00 debug #65 writeDibCode / output: Spi / path: physics.dib 00:00:00 debug #63 writeDibCode / output: Spi / path: rust/testing.dib 00:00:00 debug #66 parseDibCode / output: Spi / file: physics.dib 00:00:00 debug #67 parseDibCode / output: Spi / file: rust/testing.dib 00:00:00 debug #68 writeDibCode / output: Spi / path: leptos/leptos.dib 00:00:00 debug #69 parseDibCode / output: Spi / file: leptos/leptos.dib 00:00:00 debug #70 writeDibCode / output: Spi / path: wasm.dib 00:00:00 debug #71 parseDibCode / output: Spi / file: wasm.dib 00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #30 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #32 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #33 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #34 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #35 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #36 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #37 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #38 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #39 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #40 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #41 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #42 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:01 verbose #43 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 debug #1 runWithTimeoutAsync / timeout: 500 00:00:01 verbose #2 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #3 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 verbose #44 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #44 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #45 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 debug #6 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:01 debug #5 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: async.spi 00:00:01 debug #5 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:01 debug #9 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:01 debug #9 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: async.spi 00:00:01 debug #10 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:01 debug #11 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: async.spi 00:00:01 debug #9 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: trace.spi 00:00:01 debug #12 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:01 verbose #13 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # runtime\nopen rust\nopen rust_operators\nopen sm\u0027_operators\n\n//...lit_args x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/runtime.spi"}} / result: 00:00:01 verbose #15 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # trace\n\n/// ## trace\n\n/// ### trace_level\nunion trace_level =\n ...x = !trace x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/trace.spi"}} / result: 00:00:01 verbose #14 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # async\nopen rust\nopen rust_operators\n\n/// ## rust\n\n/// ### future...ault_async x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/async.spi"}} / result: 00:00:01 verbose #17 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/trace.spi"}} / result: 00:00:01 verbose #16 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/async.spi"}} / result: 00:00:01 verbose #18 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/runtime.spi"}} / result: 00:00:02 verbose #7 > 00:00:01 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/trace.spi 00:00:02 verbose #8 > 00:00:01 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/async.spi 00:00:02 verbose #9 > 00:00:01 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/runtime.spi 00:00:02 debug #21 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: trace.spi 00:00:02 debug #21 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:02 debug #22 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:02 debug #23 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:02 debug #21 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: async.spi 00:00:02 debug #24 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: async.spi 00:00:02 debug #26 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: async.spi 00:00:02 debug #26 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: trace.spi 00:00:02 debug #27 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: async.spi 00:00:02 debug #28 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:02 debug #26 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:02 debug #29 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:03 debug #30 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: trace.spi 00:00:03 debug #31 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:03 debug #32 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:03 debug #33 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:03 debug #34 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: async.spi 00:00:03 debug #35 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: async.spi 00:00:03 debug #36 Supervisor.buildFile / AsyncSeq.scan / outputContent: let rec closure0 () (v0 : System.Threading.CancellationToken) : Async<System.Threading.CancellationToken> = let v3 : bool = true let mutable _...em.Threading.CancellationToken -> Async<System.Threading.CancellationToken>) = closure0() let merge_cancellation_token_with_default_async x = v0 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: async.spi 00:00:03 debug #37 Supervisor.buildFile / takeWhileInclusive / outputContent: let rec closure0 () (v0 : System.Threading.CancellationToken) : Async<System.Threading.CancellationToken> = let v3 : bool = true let mutable _...em.Threading.CancellationToken -> Async<System.Threading.CancellationToken>) = closure0() let merge_cancellation_token_with_default_async x = v0 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: async.spi 00:00:03 debug #38 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:03 verbose #46 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:03 debug #39 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: threading.spi 00:00:03 debug #40 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: threading.spi 00:00:03 debug #41 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: threading.spi 00:00:03 verbose #42 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # threading\nopen rust\nopen rust_operators\n\n/// ## rust\n\n/// ### sl..._token x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/threading.spi"}} / result: 00:00:03 verbose #43 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/threading.spi"}} / result: 00:00:03 verbose #10 > 00:00:03 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/threading.spi 00:00:03 debug #44 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: trace.spi 00:00:03 debug #45 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:03 debug #46 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:03 debug #47 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:03 debug #48 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C....IsNone then State.trace_state <- v2 v3 |> Some let v9 : (US0 -> ((unit -> string) -> ((unit -> string) -> unit))) = closure2() let trace x = v9 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: trace.spi 00:00:03 debug #49 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C....IsNone then State.trace_state <- v2 v3 |> Some let v9 : (US0 -> ((unit -> string) -> ((unit -> string) -> unit))) = closure2() let trace x = v9 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: trace.spi 00:00:03 debug #50 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:03 verbose #47 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:03 debug #51 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:03 debug #52 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: networking.spi 00:00:03 debug #53 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:03 verbose #54 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # networking\nopen rust.rust_operators\n\n/// ## rust\n\n/// ### reqwest..._port x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/networking.spi"}} / result: 00:00:03 verbose #11 > 00:00:03 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/networking.spi 00:00:03 verbose #55 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/networking.spi"}} / result: 00:00:04 debug #56 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: threading.spi 00:00:04 debug #57 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: threading.spi 00:00:04 debug #58 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:04 debug #59 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:04 debug #60 Supervisor.buildFile / AsyncSeq.scan / outputContent: type Disposable (f : unit -> unit) = interface System.IDisposable with member _.Dispose () = f () type [<Struct>] US0 = | US0_0 of f0_0 : System.T...ading.CancellationToken option -> struct (System.Threading.CancellationToken * System.IDisposable)) = closure0() let new_disposable_token x = v0 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: threading.spi 00:00:04 debug #61 Supervisor.buildFile / takeWhileInclusive / outputContent: type Disposable (f : unit -> unit) = interface System.IDisposable with member _.Dispose () = f () type [<Struct>] US0 = | US0_0 of f0_0 : System.T...ading.CancellationToken option -> struct (System.Threading.CancellationToken * System.IDisposable)) = closure0() let new_disposable_token x = v0 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: threading.spi 00:00:04 debug #62 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:04 verbose #48 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:04 debug #63 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: crypto.spi 00:00:04 debug #64 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: networking.spi 00:00:04 debug #65 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:04 debug #66 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: crypto.spi 00:00:04 debug #67 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: crypto.spi 00:00:04 verbose #68 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # crypto\nopen rust\nopen rust_operators\n\n/// ## fsharp\n\n/// ### sha...h_to_port x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/crypto.spi"}} / result: 00:00:04 verbose #69 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/crypto.spi"}} / result: 00:00:04 verbose #12 > 00:00:03 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/crypto.spi 00:00:04 debug #70 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C...ng option)) = closure28() let execution_options x = v12 x let v13 : (string -> Result<(string []), string>) = closure29() let split_args x = v13 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: runtime.spi 00:00:04 debug #71 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C...ng option)) = closure28() let execution_options x = v12 x let v13 : (string -> Result<(string []), string>) = closure29() let split_args x = v13 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: runtime.spi 00:00:04 debug #72 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:04 verbose #49 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:04 debug #73 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: common.spi 00:00:04 debug #74 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: common.spi 00:00:04 debug #75 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: common.spi 00:00:04 verbose #76 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # common\n\n/// ## common\n\n/// ### (:\u003E)\nprototype (~:\u003E) r :... !memoize x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/common.spi"}} / result: 00:00:04 verbose #77 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/common.spi"}} / result: 00:00:04 verbose #13 > 00:00:04 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/common.spi 00:00:04 debug #78 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: crypto.spi 00:00:04 debug #79 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: crypto.spi 00:00:04 debug #80 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: networking.spi 00:00:04 debug #81 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:05 debug #82 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: common.spi 00:00:05 debug #83 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: common.spi 00:00:05 debug #84 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: crypto.spi 00:00:05 debug #85 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: crypto.spi 00:00:05 debug #86 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: networking.spi 00:00:05 debug #87 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:05 debug #88 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C...nit -> unit) -> unit option)) = closure3() let retry_fn x = v10 x let v11 : ((unit -> unit) -> (unit -> unit)) = closure11() let memoize x = v11 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: common.spi 00:00:05 debug #89 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C...nit -> unit) -> unit option)) = closure3() let retry_fn x = v10 x let v11 : ((unit -> unit) -> (unit -> unit)) = closure11() let memoize x = v11 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: common.spi 00:00:05 debug #90 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:05 verbose #50 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:05 debug #91 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: date_time.spi 00:00:05 debug #92 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: date_time.spi 00:00:05 debug #93 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: date_time.spi 00:00:05 verbose #94 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # date_time\nopen rust.rust_operators\nopen sm\u0027_operators\n\n/// ##...so8601 x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/date_time.spi"}} / result: 00:00:05 verbose #95 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/date_time.spi"}} / result: 00:00:05 verbose #14 > 00:00:05 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/date_time.spi 00:00:05 debug #96 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: crypto.spi 00:00:05 debug #97 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: crypto.spi 00:00:05 debug #98 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: networking.spi 00:00:05 debug #99 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:05 debug #100 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("Vec<$0>")>] #endif type Vec<'T> = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.... 1024us v13 let v0 : (string -> string) = closure0() let hash_text x = v0 x let v1 : (string -> uint16) = closure1() let hash_to_port x = v1 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: crypto.spi 00:00:05 debug #101 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("Vec<$0>")>] #endif type Vec<'T> = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.... 1024us v13 let v0 : (string -> string) = closure0() let hash_text x = v0 x let v1 : (string -> uint16) = closure1() let hash_to_port x = v1 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: crypto.spi 00:00:05 debug #102 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:05 verbose #51 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:05 debug #103 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: platform.spi 00:00:05 debug #104 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: platform.spi 00:00:05 debug #105 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: platform.spi 00:00:05 verbose #106 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # platform\nopen rust.rust_operators\n\n/// ## fsharp\n\n/// ### os_plat...suffix ()\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/platform.spi"}} / result: 00:00:05 verbose #15 > 00:00:05 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/platform.spi 00:00:05 verbose #107 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/platform.spi"}} / result: 00:00:05 debug #108 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C... let wait_for_port_access x = v11 x let v12 : (int32 option -> (string -> (int32 -> Async<int32>))) = closure25() let get_available_port x = v12 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: networking.spi 00:00:05 debug #109 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C... let wait_for_port_access x = v11 x let v12 : (int32 option -> (string -> (int32 -> Async<int32>))) = closure25() let get_available_port x = v12 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: networking.spi 00:00:05 debug #110 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:05 verbose #52 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:05 debug #111 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:05 debug #112 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:05 debug #113 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:05 verbose #114 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # file_system\nopen sm\u0027_operators\nopen rust\nopen rust_operators\n...bine x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/file_system.spi"}} / result: 00:00:05 verbose #115 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/file_system.spi"}} / result: 00:00:05 verbose #16 > 00:00:05 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/file_system.spi 00:00:06 debug #116 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: date_time.spi 00:00:06 debug #117 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: date_time.spi 00:00:06 debug #118 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: platform.spi 00:00:06 debug #119 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: platform.spi 00:00:06 debug #120 Supervisor.buildFile / AsyncSeq.scan / outputContent: type [<Struct>] US0 = | US0_0 | US0_1 | US0_2 and [<Struct>] US1 = | US1_0 of f0_0 : US0 | US1_1 of f1_0 : US0 | US1_2 of f2_0... v31 let v0 : (unit -> bool) = closure0() let is_windows () = v0 () let v1 : (unit -> string) = closure1() let get_executable_suffix () = v1 () () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: platform.spi 00:00:06 debug #121 Supervisor.buildFile / takeWhileInclusive / outputContent: type [<Struct>] US0 = | US0_0 | US0_1 | US0_2 and [<Struct>] US1 = | US1_0 of f0_0 : US0 | US1_1 of f1_0 : US0 | US1_2 of f2_0... v31 let v0 : (unit -> bool) = closure0() let is_windows () = v0 () let v1 : (unit -> string) = closure1() let get_executable_suffix () = v1 () () / errors: [] / typeErrorCount: 0 / retry: 0 / path: platform.spi 00:00:06 debug #122 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:06 verbose #53 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:06 debug #123 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: guid.spi 00:00:06 debug #124 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: guid.spi 00:00:06 debug #125 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: guid.spi 00:00:06 debug #126 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:06 debug #127 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:06 debug #128 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("chrono::DateTime<$0>")>] #endif type chrono_DateTime<'T> = class end #if FABLE_COMPILER [<Fabl...g -> (System.DateTime -> string)) = closure11() let format x = v6 x let v7 : (System.DateTime -> string) = closure13() let format_iso8601 x = v7 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: date_time.spi 00:00:06 debug #129 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("chrono::DateTime<$0>")>] #endif type chrono_DateTime<'T> = class end #if FABLE_COMPILER [<Fabl...g -> (System.DateTime -> string)) = closure11() let format x = v6 x let v7 : (System.DateTime -> string) = closure13() let format_iso8601 x = v7 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: date_time.spi 00:00:06 debug #130 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:06 verbose #131 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # guid\n\n/// ## guid\n\n/// ### guid\nnominal guid_python =\n \u0060...ew_raw_guid x\u0027 : ()\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/guid.spi"}} / result: 00:00:06 verbose #17 > 00:00:05 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/guid.spi 00:00:06 verbose #132 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/guid.spi"}} / result: 00:00:06 verbose #54 networking.test_port_open / { port = 13806; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:06 debug #133 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: sm'.spi 00:00:06 debug #134 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: sm'.spi 00:00:06 debug #135 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: sm'.spi 00:00:06 verbose #136 Supervisor.sendJson / port: 13805 / json: {"FileOpen":{"spiText":"/// # sm\u0027\nopen rust\nopen rust_operators\nopen real_sm\u0027\n\n/// ##...ng = from_std_string\n","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/sm\u0027.spi"}} / result: 00:00:06 verbose #137 Supervisor.sendJson / port: 13805 / json: {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/polyglot/lib/spiral/sm\u0027.spi"}} / result: 00:00:06 verbose #18 > 00:00:06 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/lib/spiral/sm'.spi 00:00:06 debug #138 Supervisor.buildFile / AsyncSeq.scan / outputContent: let rec closure0 () (v0 : string) : System.Guid = let v3 : System.Guid = v0 |> System.Guid v3 and method0 (v0 : string) : System.Guid = l... = v0 x let v1 : (string -> System.Guid) = closure1() let hash_guid x = v1 x let v2 : (unit -> System.Guid) = closure2() let new_raw_guid x = v2 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: guid.spi 00:00:06 debug #139 Supervisor.buildFile / takeWhileInclusive / outputContent: let rec closure0 () (v0 : string) : System.Guid = let v3 : System.Guid = v0 |> System.Guid v3 and method0 (v0 : string) : System.Guid = l... = v0 x let v1 : (string -> System.Guid) = closure1() let hash_guid x = v1 x let v2 : (unit -> System.Guid) = closure2() let new_raw_guid x = v2 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: guid.spi 00:00:06 debug #140 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:06 debug #141 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:06 debug #142 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:06 debug #143 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: sm'.spi 00:00:06 debug #144 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: sm'.spi 00:00:06 debug #145 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("regex::Regex")>] #endif type regex_Regex = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fa... : (string -> ((string []) -> string)) = closure46() let join' x = v21 x let v22 : (string -> (char [])) = closure48() let to_char_array x = v22 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: sm'.spi 00:00:06 debug #146 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("regex::Regex")>] #endif type regex_Regex = class end #if FABLE_COMPILER [<Fable.Core.Erase; Fa... : (string -> ((string []) -> string)) = closure46() let join' x = v21 x let v22 : (string -> (char [])) = closure48() let to_char_array x = v22 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: sm'.spi 00:00:07 debug #147 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:07 debug #148 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:07 debug #149 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:07 debug #150 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:07 debug #151 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:08 debug #152 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:08 debug #153 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:08 debug #154 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:08 debug #155 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:09 debug #156 Supervisor.buildFile / AsyncSeq.scan / outputContent: / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:09 debug #157 Supervisor.buildFile / takeWhileInclusive / outputContent: / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:09 debug #158 Supervisor.buildFile / AsyncSeq.scan / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C...() let v26 : (bool -> unit) = closure65() let init_trace_file x = v26 x let v27 : (string -> (string -> string)) = closure67() let (</>) x = v27 x () / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / error: / path: file_system.spi 00:00:09 debug #159 Supervisor.buildFile / takeWhileInclusive / outputContent: #if FABLE_COMPILER [<Fable.Core.Erase; Fable.Core.Emit("std::string::String")>] #endif type std_string_String = class end #if FABLE_COMPILER [<Fable.C...() let v26 : (bool -> unit) = closure65() let init_trace_file x = v26 x let v27 : (string -> (string -> string)) = closure67() let (</>) x = v27 x () / errors: [] / typeErrorCount: 0 / retry: 0 / path: file_system.spi 00:00:09 debug #160 FileSystem.watchWithFilter / Disposing watch stream / filter: FileName, LastWrite 00:00:09 verbose #55 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:00:09 verbose #56 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) }
In [ ]:
{ pwsh ../apps/scheduler/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #30 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #32 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #33 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #34 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #35 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #36 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #37 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:01 verbose #38 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #39 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #40 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../workspace/target/release/spiral_builder dib --path Tasks.dib --retries 3; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "Tasks.dib", "--retries", "3"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:03 verbose #10 > > 00:00:03 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:03 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:03 verbose #13 > > │ ## Tasks (Polyglot) │ 00:00:03 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:05 verbose #15 > > 00:00:05 verbose #16 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:05 verbose #17 > > //// test 00:00:05 verbose #18 > > 00:00:05 verbose #19 > > open testing 00:00:06 verbose #20 > 00:00:05 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:00:08 verbose #21 > > 00:00:08 verbose #22 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #23 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #24 > > │ ## task_name │ 00:00:08 verbose #25 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #26 > > 00:00:08 verbose #27 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #28 > > nominal task_name = string 00:00:08 verbose #29 > 00:00:08 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/392f391f9cae28a3678d731595bd7a9f983d74c9c45aae995934db397b070807/main.spi 00:00:08 verbose #30 > > 00:00:08 verbose #31 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:08 verbose #32 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:08 verbose #33 > > │ ## manual_scheduling │ 00:00:08 verbose #34 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:08 verbose #35 > > 00:00:08 verbose #36 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:08 verbose #37 > > union manual_scheduling = 00:00:08 verbose #38 > > | WithSuggestion 00:00:08 verbose #39 > > | WithoutSuggestion 00:00:08 verbose #40 > 00:00:08 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/70c6e2fc87827e0434831213add114042820c20156ea3420be49778d155101a8/main.spi 00:00:09 verbose #41 > > 00:00:09 verbose #42 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #43 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #44 > > │ ## recurrency_offset │ 00:00:09 verbose #45 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #46 > > 00:00:09 verbose #47 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #48 > > union recurrency_offset = 00:00:09 verbose #49 > > | Days : i32 00:00:09 verbose #50 > > | Weeks : i32 00:00:09 verbose #51 > > | Months : i32 00:00:09 verbose #52 > 00:00:08 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/8cfaa597becde0018bf0ce3912bd79f0f0c0197bc2f800085c9a51deefbf96de/main.spi 00:00:09 verbose #53 > > 00:00:09 verbose #54 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #55 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #56 > > │ ## day_of_week │ 00:00:09 verbose #57 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #58 > > 00:00:09 verbose #59 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #60 > > union day_of_week = 00:00:09 verbose #61 > > | Sunday 00:00:09 verbose #62 > > | Monday 00:00:09 verbose #63 > > | Tuesday 00:00:09 verbose #64 > > | Wednesday 00:00:09 verbose #65 > > | Thursday 00:00:09 verbose #66 > > | Friday 00:00:09 verbose #67 > > | Saturday 00:00:09 verbose #68 > 00:00:08 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/f1a5d4929df57e32d3b746fffe7c948ab7320f0d175637218dd6f4c62efc25ff/main.spi 00:00:09 verbose #69 > > 00:00:09 verbose #70 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #71 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #72 > > │ ## month │ 00:00:09 verbose #73 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #74 > > 00:00:09 verbose #75 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #76 > > union month = 00:00:09 verbose #77 > > | January 00:00:09 verbose #78 > > | February 00:00:09 verbose #79 > > | March 00:00:09 verbose #80 > > | April 00:00:09 verbose #81 > > | May 00:00:09 verbose #82 > > | June 00:00:09 verbose #83 > > | July 00:00:09 verbose #84 > > | August 00:00:09 verbose #85 > > | September 00:00:09 verbose #86 > > | October 00:00:09 verbose #87 > > | November 00:00:09 verbose #88 > > | December 00:00:09 verbose #89 > 00:00:09 debug #9 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/43a16e792314fb2d8ab8badf543b853c5281afbc3545b9b6488eebed5375c738/main.spi 00:00:09 verbose #90 > > 00:00:09 verbose #91 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #92 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #93 > > │ ## day │ 00:00:09 verbose #94 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #95 > > 00:00:09 verbose #96 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #97 > > nominal day = i32 00:00:09 verbose #98 > 00:00:09 debug #10 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5935c34341779bf5daaa9ebc662ec0125f988811de2ee4c17ec73e99e3eb1dcb/main.spi 00:00:09 verbose #99 > > 00:00:09 verbose #100 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:09 verbose #101 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:09 verbose #102 > > │ ## year │ 00:00:09 verbose #103 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:09 verbose #104 > > 00:00:09 verbose #105 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:09 verbose #106 > > nominal year = i32 00:00:09 verbose #107 > 00:00:09 debug #11 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fcee6fad777bb4f522ee4ea0946c7389722ddbccf9a3c9351638d417ce2373f1/main.spi 00:00:10 verbose #108 > > 00:00:10 verbose #109 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #110 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #111 > > │ ## fixed_recurrency │ 00:00:10 verbose #112 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #113 > > 00:00:10 verbose #114 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #115 > > union fixed_recurrency = 00:00:10 verbose #116 > > | Weekly : day_of_week 00:00:10 verbose #117 > > | Monthly : day 00:00:10 verbose #118 > > | Yearly : day * month 00:00:10 verbose #119 > 00:00:09 debug #12 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe775993bc85ffdc4e07f65dfac0882e7b662cdc44be2338310107a4cee05f05/main.spi 00:00:10 verbose #120 > > 00:00:10 verbose #121 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #122 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #123 > > │ ## recurrency │ 00:00:10 verbose #124 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #125 > > 00:00:10 verbose #126 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #127 > > union recurrency = 00:00:10 verbose #128 > > | Offset : recurrency_offset 00:00:10 verbose #129 > > | Fixed : list fixed_recurrency 00:00:10 verbose #130 > 00:00:09 debug #13 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/522271d5c209e153cfe60ed8bbe82268e8deae47a175d71d46c48f836728dbce/main.spi 00:00:10 verbose #131 > > 00:00:10 verbose #132 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #133 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #134 > > │ ## scheduling │ 00:00:10 verbose #135 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #136 > > 00:00:10 verbose #137 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #138 > > union scheduling = 00:00:10 verbose #139 > > | Manual : manual_scheduling 00:00:10 verbose #140 > > | Recurrent : recurrency 00:00:10 verbose #141 > 00:00:10 debug #14 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/13db759ddd5f002f4a7d216608d9ac256117d86484f1041e6124e9d1bc02ec70/main.spi 00:00:10 verbose #142 > > 00:00:10 verbose #143 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #144 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #145 > > │ ## task │ 00:00:10 verbose #146 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #147 > > 00:00:10 verbose #148 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #149 > > type task = 00:00:10 verbose #150 > > { 00:00:10 verbose #151 > > name : task_name 00:00:10 verbose #152 > > scheduling : scheduling 00:00:10 verbose #153 > > } 00:00:10 verbose #154 > 00:00:10 debug #15 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/e32a314d5c49dd12a3550de36e84cb325f658f62879fb6a961b074d21b44c8c3/main.spi 00:00:10 verbose #155 > > 00:00:10 verbose #156 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:10 verbose #157 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:10 verbose #158 > > │ ## date │ 00:00:10 verbose #159 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:10 verbose #160 > > 00:00:10 verbose #161 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:10 verbose #162 > > type date = 00:00:10 verbose #163 > > { 00:00:10 verbose #164 > > year : year 00:00:10 verbose #165 > > month : month 00:00:10 verbose #166 > > day : day 00:00:10 verbose #167 > > } 00:00:10 verbose #168 > 00:00:10 debug #16 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/76fbdec1211e9e9d96810fe9e0b651539d18912d84ba64b0635f855c11a3b193/main.spi 00:00:11 verbose #169 > > 00:00:11 verbose #170 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #171 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #172 > > │ ## status │ 00:00:11 verbose #173 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #174 > > 00:00:11 verbose #175 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #176 > > union status = 00:00:11 verbose #177 > > | Postponed : option () 00:00:11 verbose #178 > 00:00:10 debug #17 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/5ae063545d86815f63b847ecdd76326b56c21c74f8e892b61a857c82f1ce4597/main.spi 00:00:11 verbose #179 > > 00:00:11 verbose #180 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #181 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #182 > > │ ## event │ 00:00:11 verbose #183 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #184 > > 00:00:11 verbose #185 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #186 > > type event = 00:00:11 verbose #187 > > { 00:00:11 verbose #188 > > date : date 00:00:11 verbose #189 > > status : status 00:00:11 verbose #190 > > } 00:00:11 verbose #191 > 00:00:10 debug #18 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/28572068d4192522ae3e40fc069d15c898acfec7092eccd6fae628de0918f09c/main.spi 00:00:11 verbose #192 > > 00:00:11 verbose #193 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #194 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #195 > > │ ## task_template │ 00:00:11 verbose #196 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #197 > > 00:00:11 verbose #198 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #199 > > type task_template = 00:00:11 verbose #200 > > { 00:00:11 verbose #201 > > task : task 00:00:11 verbose #202 > > events : list event 00:00:11 verbose #203 > > } 00:00:11 verbose #204 > 00:00:11 debug #19 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/0be3594557414e4795db3a982d7e5aba2bc2bc49002a0b2a742fb748a1a2231a/main.spi 00:00:11 verbose #205 > > 00:00:11 verbose #206 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:11 verbose #207 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:11 verbose #208 > > │ ## get_tasks (test) │ 00:00:11 verbose #209 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:11 verbose #210 > > 00:00:11 verbose #211 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #212 > > //// test 00:00:11 verbose #213 > > 00:00:11 verbose #214 > > inl get_tasks () : list task_template = 00:00:11 verbose #215 > > [[ 00:00:11 verbose #216 > > { 00:00:11 verbose #217 > > task = 00:00:11 verbose #218 > > { 00:00:11 verbose #219 > > name = task_name "01" 00:00:11 verbose #220 > > scheduling = Manual WithSuggestion 00:00:11 verbose #221 > > } 00:00:11 verbose #222 > > events = [[]] 00:00:11 verbose #223 > > } 00:00:11 verbose #224 > > { 00:00:11 verbose #225 > > task = 00:00:11 verbose #226 > > { 00:00:11 verbose #227 > > name = task_name "02" 00:00:11 verbose #228 > > scheduling = Manual WithSuggestion 00:00:11 verbose #229 > > } 00:00:11 verbose #230 > > events = [[]] 00:00:11 verbose #231 > > } 00:00:11 verbose #232 > > { 00:00:11 verbose #233 > > task = 00:00:11 verbose #234 > > { 00:00:11 verbose #235 > > name = task_name "03" 00:00:11 verbose #236 > > scheduling = Manual WithSuggestion 00:00:11 verbose #237 > > } 00:00:11 verbose #238 > > events = [[]] 00:00:11 verbose #239 > > } 00:00:11 verbose #240 > > ]] 00:00:11 verbose #241 > 00:00:11 debug #20 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/101eb882a39b347486cdd821a580359dbc61398ec86ab60c212111328ed8461b/main.spi 00:00:11 verbose #242 > > 00:00:11 verbose #243 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:11 verbose #244 > > //// test 00:00:11 verbose #245 > > ///! fsharp 00:00:11 verbose #246 > > ///! cuda 00:00:11 verbose #247 > > ///! rust 00:00:11 verbose #248 > > ///! typescript 00:00:11 verbose #249 > > ///! python 00:00:11 verbose #250 > > 00:00:11 verbose #251 > > get_tasks () 00:00:11 verbose #252 > > |> sm'.format_debug 00:00:11 verbose #253 > > |> _assert_string_contains "01" 00:00:11 verbose #254 > 00:00:11 debug #21 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/7b444afb2ea5f21078b55ce9163f7664d2f8b280ed425118a9bf23f6d803831d/main.spi 00:00:11 verbose #255 > 00:00:11 debug #22 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/1a4f30630fcddc7b8a7a6e7ff823618bc90de79bc68d01db83da38be73b9a9d3/main.spi 00:00:24 verbose #256 > > 00:00:24 verbose #257 > > ╭─[ 12.82s - return value ]────────────────────────────────────────────────────╮ 00:00:24 verbose #258 > > │ .py output (Cuda): │ 00:00:24 verbose #259 > > │ assert_string_contains / actual: 01 / expected: UH2_1(v0='01', │ 00:00:24 verbose #260 > > │ v1=US1_0(v0=US0_0()), v2=UH1_0(), v3=UH2_1(v0='02', v1=US1_0(v0=US0_0()), │ 00:00:24 verbose #261 > > │ v2=UH1_0(), v3=UH2_1(v0='03', v1=US1_0(v0=US0_0()), v2=UH1_0(), │ 00:00:24 verbose #262 > > │ v3=UH2_0()))) │ 00:00:24 verbose #263 > > │ │ 00:00:24 verbose #264 > > │ .rs output: │ 00:00:24 verbose #265 > > │ assert_string_contains / actual: "01" / expected: "UH2_1("01", US1_0(US0_0), │ 00:00:24 verbose #266 > > │ UH1_0, UH2_1("02", US1_0(US0_0), UH1_0, UH2_1("03", US1_0(US0_0), UH1_0, │ 00:00:24 verbose #267 > > │ UH2_0)))" │ 00:00:24 verbose #268 > > │ │ 00:00:24 verbose #269 > > │ .ts output: │ 00:00:24 verbose #270 > > │ assert_string_contains / actual: 01 / expected: UH2_1 (01, US1_0 US0_0, │ 00:00:24 verbose #271 > > │ UH1_0, UH2_1 (02, US1_0 US0_0, UH1_0, UH2_1 (03, US1_0 US0_0, UH1_0, │ 00:00:24 verbose #272 > > │ UH2_0))) │ 00:00:24 verbose #273 > > │ │ 00:00:24 verbose #274 > > │ .py output: │ 00:00:24 verbose #275 > > │ assert_string_contains / actual: 01 / expected: UH2_1 ("01", US1_0 US0_0, │ 00:00:24 verbose #276 > > │ UH1_0, UH2_1 ("02", US1_0 US0_0, UH1_0, UH2_1 ("03", US1_0 US0_0, UH1_0, │ 00:00:24 verbose #277 > > │ UH2_0))) │ 00:00:24 verbose #278 > > │ │ 00:00:24 verbose #279 > > │ │ 00:00:24 verbose #280 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:24 verbose #281 > > 00:00:24 verbose #282 > > ╭─[ 12.82s - stdout ]──────────────────────────────────────────────────────────╮ 00:00:24 verbose #283 > > │ .fsx output: │ 00:00:24 verbose #284 > > │ assert_string_contains / actual: "01" / expected: "UH2_1 │ 00:00:24 verbose #285 > > │ ("01", US1_0 US0_0, UH1_0, │ 00:00:24 verbose #286 > > │ UH2_1 ("02", US1_0 US0_0, UH1_0, UH2_1 ("03", US1_0 US0_0, UH1_0, │ 00:00:24 verbose #287 > > │ UH2_0)))" │ 00:00:24 verbose #288 > > │ │ 00:00:24 verbose #289 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:24 verbose #290 > > 00:00:24 verbose #291 > > ── spiral ────────────────────────────────────────────────────────────────────── 00:00:24 verbose #292 > > //// test 00:00:24 verbose #293 > > ///! fsharp 00:00:24 verbose #294 > > ///! cuda 00:00:24 verbose #295 > > ///! rust 00:00:24 verbose #296 > > ///! typescript 00:00:24 verbose #297 > > ///! python 00:00:24 verbose #298 > > 00:00:24 verbose #299 > > get_tasks () 00:00:24 verbose #300 > > |> listm'.try_item 0i32 00:00:24 verbose #301 > > |> fun (Some task) => task.task.name 00:00:24 verbose #302 > > |> _assert_eq (task_name "01") 00:00:24 verbose #303 > 00:00:24 debug #23 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/88c2d2527c2701c5b8f1124331b86e929f7e7f0822c148ba113bc0bc119188b7/main.spi 00:00:24 verbose #304 > 00:00:24 debug #24 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/274674fcaef3d243f697cfeb84ce703162659cb96dd90fa04a89284146271535/main.spi 00:00:35 verbose #305 > > 00:00:35 verbose #306 > > ╭─[ 10.98s - return value ]────────────────────────────────────────────────────╮ 00:00:35 verbose #307 > > │ .py output (Cuda): │ 00:00:35 verbose #308 > > │ assert_eq / actual: 01 / expected: 01 │ 00:00:35 verbose #309 > > │ │ 00:00:35 verbose #310 > > │ .rs output: │ 00:00:35 verbose #311 > > │ assert_eq / actual: "01" / expected: "01" │ 00:00:35 verbose #312 > > │ │ 00:00:35 verbose #313 > > │ .ts output: │ 00:00:35 verbose #314 > > │ assert_eq / actual: 01 / expected: 01 │ 00:00:35 verbose #315 > > │ │ 00:00:35 verbose #316 > > │ .py output: │ 00:00:35 verbose #317 > > │ assert_eq / actual: 01 / expected: 01 │ 00:00:35 verbose #318 > > │ │ 00:00:35 verbose #319 > > │ │ 00:00:35 verbose #320 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #321 > > 00:00:35 verbose #322 > > ╭─[ 10.98s - stdout ]──────────────────────────────────────────────────────────╮ 00:00:35 verbose #323 > > │ .fsx output: │ 00:00:35 verbose #324 > > │ assert_eq / actual: "01" / expected: "01" │ 00:00:35 verbose #325 > > │ │ 00:00:35 verbose #326 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #327 > 00:00:34 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 16233 } 00:00:35 verbose #328 > 00:00:34 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:36 verbose #329 > 00:00:34 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.ipynb to html 00:00:36 verbose #330 > 00:00:34 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:36 verbose #331 > 00:00:34 verbose #7 ! validate(nb) 00:00:36 verbose #332 > 00:00:35 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:36 verbose #333 > 00:00:35 verbose #9 ! return _pygments_highlight( 00:00:36 verbose #334 > 00:00:35 verbose #10 ! [NbConvertApp] Writing 300456 bytes to /home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.html 00:00:36 verbose #335 > 00:00:35 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 902 } 00:00:36 verbose #336 > 00:00:35 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 902 } 00:00:36 verbose #337 > 00:00:35 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/scheduler/Tasks.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:37 verbose #338 > 00:00:35 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:37 verbose #339 > 00:00:35 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:37 verbose #340 > 00:00:35 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 17194 } 00:00:37 debug #341 runtime.execute_with_options_async / { exit_code = 0; output_length = 20592 } 00:00:37 debug #3 main / executeCommand / exitCode: 0 / command: ../../workspace/target/release/spiral_builder dib --path Tasks.dib --retries 3 00:00:37 verbose #41 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:00:37 verbose #42 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 writeDibCode / output: Spi / path: Tasks.dib 00:00:00 debug #2 parseDibCode / output: Spi / file: Tasks.dib
In [ ]:
{ pwsh ../apps/chat/build.ps1 } | Invoke-Block
Downloading crates ... Downloaded cfg-if v0.1.10 Downloaded darling v0.20.9 Downloaded wee_alloc v0.4.5 Downloaded cfg_aliases v0.2.1 Downloaded darling_core v0.20.9 Downloaded memory_units v0.4.0 Downloaded bs58 v0.5.1 Downloaded unsigned-varint v0.8.0 Downloaded near-sdk v5.1.0 Downloaded near-account-id v1.0.0 Downloaded darling_macro v0.20.9 Downloaded data-encoding-macro-internal v0.1.13 Downloaded borsh v1.5.1 Downloaded base-x v0.2.11 Downloaded Inflector v0.11.4 Downloaded near-token v0.2.0 Downloaded near-sdk-macros v5.1.0 Downloaded near-gas v0.2.5 Downloaded multibase v0.9.1 Downloaded ident_case v1.0.1 Downloaded data-encoding-macro v0.1.15 Downloaded borsh-derive v1.5.1 Downloaded near-sys v0.2.2 Compiling version_check v0.9.4 Compiling hashbrown v0.14.5 Compiling equivalent v1.0.1 Compiling syn v2.0.70 Compiling toml_datetime v0.6.6 Compiling winnow v0.5.40 Compiling proc-macro-error-attr v1.0.4 Compiling proc-macro-error v1.0.4 Compiling indexmap v2.2.6 Compiling serde v1.0.204 Compiling cfg_aliases v0.2.1 Compiling typenum v1.17.0 Compiling borsh v1.5.1 Compiling generic-array v0.14.7 Compiling serde_json v1.0.120 Compiling ident_case v1.0.1 Compiling fnv v1.0.7 Compiling rustversion v1.0.17 Compiling toml_edit v0.21.1 Compiling syn v1.0.109 Compiling near-sdk-macros v5.1.0 Compiling itoa v1.0.11 Compiling darling_core v0.20.9 Compiling proc-macro-crate v3.1.0 Compiling wee_alloc v0.4.5 Compiling ryu v1.0.18 Compiling heck v0.5.0 Compiling data-encoding v2.6.0 Compiling crypto-common v0.1.6 Compiling block-buffer v0.10.4 Compiling memory_units v0.4.0 Compiling Inflector v0.11.4 Compiling strum v0.26.3 Compiling serde_derive v1.0.204 Compiling syn_derive v0.1.8 Compiling darling_macro v0.20.9 Compiling borsh-derive v1.5.1 Compiling darling v0.20.9 Compiling data-encoding-macro-internal v0.1.13 Compiling strum_macros v0.26.4 Compiling cfg-if v0.1.10 Compiling data-encoding-macro v0.1.15 Compiling digest v0.10.7 Compiling base64 v0.21.7 Compiling once_cell v1.19.0 Compiling bs58 v0.5.1 Compiling base-x v0.2.11 Compiling near-sys v0.2.2 Compiling cfg-if v1.0.0 Compiling sha2 v0.10.8 Compiling multibase v0.9.1 Compiling unsigned-varint v0.8.0 Compiling near-gas v0.2.5 Compiling near-account-id v1.0.0 Compiling near-token v0.2.0 Compiling near-sdk v5.1.0 Compiling chat_contract v0.0.1 (/home/runner/work/polyglot/polyglot/apps/chat/contract) Finished `release` profile [optimized] target(s) in 14.43s Downloading crates ... Downloaded async-stream-impl v0.3.5 Downloaded async-fs v1.6.0 Downloaded fallible-iterator v0.2.0 Downloaded enumflags2_derive v0.7.10 Downloaded near-abi-client-macros v0.1.1 Downloaded near-abi-client v0.1.1 Downloaded linux-keyutils v0.2.4 Downloaded elementtree v0.7.0 Downloaded xdg-home v1.2.0 Downloaded unicode-segmentation v1.11.0 Downloaded unsafe-libyaml v0.2.11 Downloaded zbus v3.15.2 Downloaded tonic v0.6.2 Downloaded rustix v0.37.27 Downloaded uuid v0.8.2 Downloaded xml-rs v0.8.20 Downloaded zbus_macros v3.15.2 Downloaded wasmparser v0.83.0 Downloaded near-jsonrpc-client v0.8.0 Downloaded ureq v2.9.1 Downloaded opentelemetry v0.17.0 Downloaded serde_with v3.8.3 Downloaded protobuf v2.28.0 Downloaded near-vm-runner v0.20.1 Downloaded gimli v0.28.1 Downloaded curve25519-dalek v4.1.3 Downloaded curve25519-dalek v3.2.1 Downloaded near-socialdb-client v0.2.2 Downloaded color-spantrace v0.2.1 Downloaded unicode-normalization v0.1.22 Downloaded gimli v0.26.2 Downloaded tracing-opentelemetry v0.17.4 Downloaded num-bigint v0.3.3 Downloaded tokio-util v0.6.10 Downloaded serde_yaml v0.9.34+deprecated Downloaded csv v1.3.0 Downloaded symbolic-common v8.8.0 Downloaded cargo-near v0.5.2 Downloaded signal-hook v0.3.17 Downloaded serde_derive_internals v0.29.1 Downloaded schemars_derive v0.8.21 Downloaded prettytable v0.10.0 Downloaded nom-supreme v0.6.0 Downloaded near-o11y v0.20.1 Downloaded color-eyre v0.6.3 Downloaded tracing-log v0.1.4 Downloaded tracing-error v0.2.0 Downloaded tonic-build v0.6.2 Downloaded scroll v0.11.0 Downloaded prost v0.9.0 Downloaded proc-macro-crate v1.3.1 Downloaded owo-colors v3.5.0 Downloaded opentelemetry-semantic-conventions v0.9.0 Downloaded petgraph v0.6.5 Downloaded open v4.2.0 Downloaded near-primitives-core v0.20.1 Downloaded term v0.7.0 Downloaded string_cache v0.8.7 Downloaded smart-default v0.6.0 Downloaded signature v1.6.4 Downloaded scroll_derive v0.11.1 Downloaded sha3 v0.10.8 Downloaded rustc-hex v2.1.0 Downloaded linux-raw-sys v0.3.8 Downloaded ripemd v0.1.3 Downloaded prost-derive v0.9.0 Downloaded prefix-sum-vec v0.1.2 Downloaded new_debug_unreachable v1.0.6 Downloaded near_schemafy_core v0.7.0 Downloaded near-rpc-error-macro v0.20.1 Downloaded near-cli-rs v0.7.8 Downloaded near-abi v0.4.3 Downloaded cc v1.0.106 Downloaded cargo-util v0.1.2 Downloaded near-primitives v0.20.1 Downloaded fixedbitset v0.4.2 Downloaded easy-ext v1.0.2 Downloaded debugid v0.7.3 Downloaded crypto-hash v0.3.4 Downloaded convert_case v0.5.0 Downloaded blake2 v0.9.2 Downloaded symbolic-debuginfo v8.8.0 Downloaded secp256k1 v0.27.0 Downloaded schemars v0.8.21 Downloaded prometheus v0.13.4 Downloaded prettyplease v0.1.25 Downloaded polling v2.8.0 Downloaded pdb v0.7.0 Downloaded opentelemetry-otlp v0.10.0 Downloaded num-rational v0.3.2 Downloaded near-workspaces v0.10.1 Downloaded near-parameters v0.20.1 Downloaded zvariant v3.15.2 Downloaded zip v0.5.13 Downloaded zeropool-bn v0.5.11 Downloaded multimap v0.8.3 Downloaded memoffset v0.7.1 Downloaded libloading v0.7.4 Downloaded json-patch v1.4.0 Downloaded io-lifetimes v1.0.11 Downloaded indexmap v1.9.3 Downloaded hyper-timeout v0.4.1 Downloaded hmac v0.9.0 Downloaded heck v0.3.3 Downloaded fastrand v1.9.0 Downloaded env_logger v0.9.3 Downloaded enumflags2 v0.7.10 Downloaded encode_unicode v1.0.0 Downloaded ed25519-dalek v2.1.1 Downloaded ed25519 v2.2.3 Downloaded dyn-clone v1.0.17 Downloaded dmsort v1.0.2 Downloaded dirs v5.0.1 Downloaded csv-core v0.1.11 Downloaded crypto-mac v0.9.1 Downloaded uint v0.9.5 Downloaded tracing-futures v0.2.5 Downloaded tracing-appender v0.2.3 Downloaded strum_macros v0.24.3 Downloaded signal-hook-mio v0.2.3 Downloaded shellexpand v3.1.0 Downloaded sha2 v0.9.9 Downloaded serde_with_macros v3.8.3 Downloaded secret-service v3.1.0 Downloaded reed-solomon-erasure v4.0.2 Downloaded ordered-stream v0.2.0 Downloaded num v0.4.3 Downloaded near_schemafy_lib v0.7.0 Downloaded near-stdx v0.20.1 Downloaded secp256k1-sys v0.8.1 Downloaded near-jsonrpc-primitives v0.20.1 Downloaded near-abi-client-impl v0.1.1 Downloaded interactive-clap v0.2.10 Downloaded futures-lite v1.13.0 Downloaded derive_arbitrary v1.3.2 Downloaded brownstone v1.1.0 Downloaded bip39 v2.0.0 Downloaded uriparse v0.6.4 Downloaded tokio-io-timeout v1.2.0 Downloaded strum v0.24.1 Downloaded smart-default v0.7.1 Downloaded slip10 v0.4.3 Downloaded serde_repr v0.1.19 Downloaded scroll v0.10.2 Downloaded prost-types v0.9.0 Downloaded primitive-types v0.10.1 Downloaded plain v0.2.3 Downloaded newline-converter v0.2.2 Downloaded near-sandbox-utils v0.8.0 Downloaded near-rpc-error-core v0.20.1 Downloaded zeroize v1.3.0 Downloaded zbus_names v2.6.1 Downloaded near-chain-configs v0.20.1 Downloaded keccak v0.1.5 Downloaded hyper v0.14.29 Downloaded goblin v0.5.4 Downloaded crossterm v0.25.0 Downloaded c2-chacha v0.3.3 Downloaded near-fmt v0.20.1 Downloaded near-crypto v0.20.1 Downloaded zvariant_utils v1.0.1 Downloaded zvariant_derive v3.15.2 Downloaded zeroize_derive v1.4.2 Downloaded bitcoin_hashes v0.11.0 Downloaded addr2line v0.21.0 Downloaded waker-fn v1.2.0 Downloaded opaque-debug v0.3.1 Downloaded near-config-utils v0.20.1 Downloaded keyring v2.3.3 Downloaded joinery v2.1.0 Downloaded inquire v0.6.2 Downloaded fixed-hash v0.7.0 Downloaded ed25519 v1.5.3 Downloaded easy-ext v0.2.9 Downloaded derivative v2.2.0 Downloaded bs58 v0.4.0 Downloaded backtrace v0.3.71 Downloaded cipher v0.2.5 Downloaded actix v0.13.5 Downloaded names v0.14.0 Downloaded memoffset v0.8.0 Downloaded json_comments v0.2.2 Downloaded indent_write v2.2.0 Downloaded hex v0.3.2 Downloaded fs2 v0.4.3 Downloaded enum-map v2.7.3 Downloaded ed25519-dalek v1.0.1 Downloaded curve25519-dalek-derive v0.1.1 Downloaded crypto-mac v0.8.0 Downloaded cargo_metadata v0.14.2 Downloaded memmap2 v0.5.10 Downloaded interactive-clap-derive v0.2.10 Downloaded enum-map-derive v0.17.0 Downloaded base64 v0.13.1 Downloaded digest v0.9.0 Downloaded colored v2.1.0 Downloaded async-stream v0.3.5 Downloaded async-io v1.13.0 Downloaded async-executor v1.12.0 Downloaded async-broadcast v0.5.1 Downloaded arbitrary v1.3.2 Downloaded actix-macros v0.2.4 Downloaded event-listener v2.5.3 Downloaded block-buffer v0.9.0 Downloaded binary-install v0.2.0 Downloaded async-lock v2.8.0 Downloaded actix_derive v0.6.1 Downloaded actix-rt v2.10.0 Downloaded assert_matches v1.5.0 Downloaded prost-build v0.9.0 Downloaded openssl-src v300.3.1+3.3.1 Compiling libc v0.2.155 Compiling syn v2.0.70 Compiling serde v1.0.204 Compiling log v0.4.22 Compiling syn v1.0.109 Compiling jobserver v0.1.31 Compiling cc v1.0.106 Compiling typenum v1.17.0 Compiling once_cell v1.19.0 Compiling generic-array v0.14.7 Compiling pkg-config v0.3.30 Compiling getrandom v0.2.15 Compiling spin v0.9.8 Compiling subtle v2.6.1 Compiling parking_lot_core v0.9.10 Compiling anyhow v1.0.86 Compiling parking_lot v0.12.3 Compiling cfg-if v1.0.0 Compiling rand_core v0.6.4 Compiling signal-hook-registry v1.4.2 Compiling rustix v0.38.34 Compiling crypto-common v0.1.6 Compiling tracing-core v0.1.32 Compiling mio v0.8.11 Compiling lazy_static v1.5.0 Compiling proc-macro-error v1.0.4 Compiling block-buffer v0.10.4 Compiling num_cpus v1.16.0 Compiling socket2 v0.5.7 Compiling futures-sink v0.3.30 Compiling digest v0.10.7 Compiling crossbeam-utils v0.8.20 Compiling futures-channel v0.3.30 Compiling num-traits v0.2.19 Compiling serde_derive v1.0.204 Compiling tracing-attributes v0.1.27 Compiling tokio-macros v2.2.0 Compiling futures-macro v0.3.30 Compiling tokio v1.37.0 Compiling thiserror-impl v1.0.61 Compiling tracing v0.1.40 Compiling byteorder v1.5.0 Compiling futures-util v0.3.30 Compiling thiserror v1.0.61 Compiling syn_derive v0.1.8 Compiling rand_chacha v0.3.1 Compiling memchr v2.7.4 Compiling aho-corasick v1.1.3 Compiling rand v0.8.5 Compiling borsh-derive v1.5.1 Compiling serde_json v1.0.120 Compiling regex-syntax v0.8.4 Compiling linux-raw-sys v0.4.14 Compiling bitflags v2.6.0 Compiling either v1.13.0 Compiling fnv v1.0.7 Compiling borsh v1.5.1 Compiling equivalent v1.0.1 Compiling hashbrown v0.14.5 Compiling semver v1.0.23 Compiling regex-automata v0.4.7 Compiling indexmap v2.2.6 Compiling num-integer v0.1.46 Compiling sha2 v0.10.8 Compiling ring v0.17.8 Compiling percent-encoding v2.3.1 Compiling zstd-sys v2.0.12+zstd.1.5.6 Compiling bytes v1.6.0 Compiling home v0.5.9 Compiling regex v1.10.5 Compiling itertools v0.10.5 Compiling hex v0.4.3 Compiling getrandom v0.1.16 Compiling static_assertions v1.1.0 Compiling tokio-util v0.7.11 Compiling pin-project-internal v1.1.5 Compiling prost-derive v0.9.0 Compiling base64 v0.21.7 Compiling strsim v0.11.1 Compiling pin-project v1.1.5 Compiling strum_macros v0.24.3 Compiling darling_core v0.20.9 Compiling http v0.2.12 Compiling async-trait v0.1.81 Compiling digest v0.9.0 Compiling openssl-src v300.3.1+3.3.1 Compiling vcpkg v0.2.15 Compiling regex-syntax v0.6.29 Compiling httparse v1.9.4 Compiling openssl-sys v0.9.102 Compiling strum v0.24.1 Compiling rand_core v0.5.1 Compiling darling_macro v0.20.9 Compiling which v4.4.2 Compiling serde_repr v0.1.19 Compiling num-bigint v0.3.3 Compiling overload v0.1.1 Compiling tower-service v0.3.2 Compiling crunchy v0.2.2 Compiling try-lock v0.2.5 Compiling zstd-safe v5.0.2+zstd.1.5.2 Compiling want v0.3.1 Compiling nu-ansi-term v0.46.0 Compiling prost-build v0.9.0 Compiling regex-automata v0.1.10 Compiling darling v0.20.9 Compiling h2 v0.3.26 Compiling matchers v0.1.0 Compiling http-body v0.4.6 Compiling prost v0.9.0 Compiling rustc_version v0.4.0 Compiling crossbeam-channel v0.5.13 Compiling sharded-slab v0.1.7 Compiling tracing-log v0.2.0 Compiling bzip2-sys v0.1.11+1.0.8 Compiling thread_local v1.1.8 Compiling num-rational v0.3.2 Compiling opaque-debug v0.3.1 Compiling httpdate v1.0.3 Compiling fastrand v2.1.0 Compiling unicode-segmentation v1.11.0 Compiling powerfmt v0.2.0 Compiling fixedbitset v0.4.2 Compiling convert_case v0.4.0 Compiling heck v0.3.3 Compiling petgraph v0.6.5 Compiling derive_more v0.99.18 Compiling hyper v0.14.29 Compiling deranged v0.3.11 Compiling tempfile v3.10.1 Compiling tracing-subscriber v0.3.18 Compiling curve25519-dalek v4.1.3 Compiling prost-types v0.9.0 Compiling serde_with_macros v3.8.3 Compiling rand_chacha v0.2.2 Compiling near-account-id v1.0.0 Compiling tokio-stream v0.1.15 Compiling futures-executor v0.3.30 Compiling derive_arbitrary v1.3.2 Compiling enum-map-derive v0.17.0 Compiling secp256k1-sys v0.8.1 Compiling indexmap v1.9.3 Compiling schemars v0.8.21 Compiling adler v1.0.2 Compiling bs58 v0.4.0 Compiling time-core v0.1.2 Compiling base64 v0.22.1 Compiling num-conv v0.1.0 Compiling multimap v0.8.3 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.8.0 Compiling serde_with v3.8.3 Compiling time v0.3.36 Compiling arbitrary v1.3.2 Compiling miniz_oxide v0.7.4 Compiling enum-map v2.7.3 Compiling rand v0.7.3 Compiling concurrent-queue v2.5.0 Compiling curve25519-dalek-derive v0.1.1 Compiling serde_derive_internals v0.29.1 Compiling fs2 v0.4.3 Compiling openssl v0.10.64 Compiling hashbrown v0.12.3 Compiling signature v2.2.0 Compiling rustls v0.21.12 Compiling foreign-types-shared v0.1.1 Compiling schemars_derive v0.8.21 Compiling foreign-types v0.3.2 Compiling ed25519 v2.2.3 Compiling near-primitives-core v0.20.1 Compiling unicode-normalization v0.1.22 Compiling tonic-build v0.6.2 Compiling opentelemetry v0.17.0 Compiling uint v0.9.5 Compiling fixed-hash v0.7.0 Compiling tokio-io-timeout v1.2.0 Compiling async-stream-impl v0.3.5 Compiling openssl-macros v0.1.1 Compiling crypto-mac v0.8.0 Compiling block-padding v0.3.3 Compiling cipher v0.2.5 Compiling json_comments v0.2.2 Compiling protobuf v2.28.0 Compiling tower-layer v0.3.2 Compiling tower v0.4.13 Compiling c2-chacha v0.3.3 Compiling near-config-utils v0.20.1 Compiling inout v0.1.3 Compiling async-stream v0.3.5 Compiling blake2 v0.9.2 Compiling hyper-timeout v0.4.1 Compiling primitive-types v0.10.1 Compiling opentelemetry-otlp v0.10.0 Compiling secp256k1 v0.27.0 Compiling ed25519-dalek v2.1.1 Compiling tracing-futures v0.2.5 Compiling form_urlencoded v1.2.1 Compiling tokio-util v0.6.10 Compiling toml_edit v0.19.15 Compiling memoffset v0.8.0 Compiling prometheus v0.13.4 Compiling bitflags v1.3.2 Compiling base64 v0.13.1 Compiling unsafe-libyaml v0.2.11 Compiling unicode-bidi v0.3.15 Compiling near-stdx v0.20.1 Compiling near-crypto v0.20.1 Compiling idna v0.5.0 Compiling clap_derive v4.5.8 Compiling proc-macro-crate v1.3.1 Compiling serde_yaml v0.9.34+deprecated Compiling tonic v0.6.2 Compiling clap_builder v4.5.9 Compiling cipher v0.4.4 Compiling event-listener v5.3.1 Compiling futures v0.3.30 Compiling actix-rt v2.10.0 Compiling actix_derive v0.6.1 Compiling actix-macros v0.2.4 Compiling hmac v0.12.1 Compiling tracing-log v0.1.4 Compiling zvariant_utils v1.0.1 Compiling reed-solomon-erasure v4.0.2 Compiling event-listener v2.5.3 Compiling rustc-hex v2.1.0 Compiling assert_matches v1.5.0 Compiling keccak v0.1.5 Compiling untrusted v0.9.0 Compiling cpufeatures v0.2.12 Compiling io-lifetimes v1.0.11 Compiling native-tls v0.2.12 Compiling sha3 v0.10.8 Compiling near-parameters v0.20.1 Compiling zeropool-bn v0.5.11 Compiling chrono v0.4.38 Compiling tracing-opentelemetry v0.17.4 Compiling actix v0.13.5 Compiling event-listener-strategy v0.5.2 Compiling clap v4.5.9 Compiling url v2.5.2 Compiling opentelemetry-semantic-conventions v0.9.0 Compiling near-fmt v0.20.1 Compiling tracing-appender v0.2.3 Compiling near-rpc-error-core v0.20.1 Compiling enumflags2_derive v0.7.10 Compiling sha1 v0.10.6 Compiling ripemd v0.1.3 Compiling futures-lite v2.3.0 Compiling polling v2.8.0 Compiling memoffset v0.7.1 Compiling crc32fast v1.4.2 Compiling fastrand v1.9.0 Compiling rustix v0.37.27 Compiling dyn-clone v1.0.17 Compiling openssl-probe v0.1.5 Compiling waker-fn v1.2.0 Compiling prefix-sum-vec v0.1.2 Compiling near-vm-runner v0.20.1 Compiling piper v0.2.3 Compiling futures-lite v1.13.0 Compiling flate2 v1.0.30 Compiling enumflags2 v0.7.10 Compiling near-rpc-error-macro v0.20.1 Compiling near-o11y v0.20.1 Compiling async-channel v2.3.1 Compiling async-lock v2.8.0 Compiling zvariant_derive v3.15.2 Compiling aes v0.8.4 Compiling bytesize v1.3.0 Compiling smart-default v0.6.0 Compiling dirs-sys-next v0.1.2 Compiling async-fs v1.6.0 Compiling async-io v1.13.0 Compiling proc-macro2 v1.0.86 Compiling easy-ext v0.2.9 Compiling unicode-ident v1.0.12 Compiling linux-raw-sys v0.3.8 Compiling siphasher v0.3.11 Compiling base64ct v1.6.0 Compiling signal-hook v0.3.17 Compiling password-hash v0.4.2 Compiling near-primitives v0.20.1 Compiling dirs-next v2.0.0 Compiling zvariant v3.15.2 Compiling blocking v1.6.1 Compiling rustls-webpki v0.101.7 Compiling sct v0.7.1 Compiling num-bigint v0.4.6 Compiling interactive-clap-derive v0.2.10 Compiling zeroize_derive v1.4.2 Compiling backtrace v0.3.71 Compiling socket2 v0.4.10 Compiling filetime v0.2.23 Compiling near-sandbox-utils v0.8.0 Compiling gimli v0.28.1 Compiling eyre v0.6.12 Compiling zeroize v1.3.0 Compiling num-rational v0.4.2 Compiling interactive-clap v0.2.10 Compiling pbkdf2 v0.11.0 Compiling addr2line v0.21.0 Compiling nix v0.26.4 Compiling zstd v0.11.2+zstd.1.5.2 Compiling zbus_names v2.6.1 Compiling near-chain-configs v0.20.1 Compiling bzip2 v0.4.4 Compiling quote v1.0.36 Compiling async-executor v1.12.0 Compiling async-broadcast v0.5.1 Compiling zbus_macros v3.15.2 Compiling serde_urlencoded v0.7.1 Compiling tracing-error v0.2.0 Compiling rustls-pemfile v1.0.4 Compiling num-iter v0.1.45 Compiling xattr v1.3.1 Compiling num-complex v0.4.6 Compiling derivative v2.2.0 Compiling async-recursion v1.1.1 Compiling ordered-stream v0.2.0 Compiling block-buffer v0.9.0 Compiling object v0.32.2 Compiling xdg-home v1.2.0 Compiling uuid v0.8.2 Compiling rustc-demangle v0.1.24 Compiling mime v0.3.17 Compiling radium v0.7.0 Compiling webpki-roots v0.25.4 Compiling signature v1.6.4 Compiling option-ext v0.2.0 Compiling sync_wrapper v0.1.2 Compiling ipnet v2.9.0 Compiling owo-colors v3.5.0 Compiling indenter v0.3.3 Compiling constant_time_eq v0.1.5 Compiling camino v1.1.7 Compiling color-spantrace v0.2.1 Compiling zip v0.6.6 Compiling ed25519 v1.5.3 Compiling dirs-sys v0.4.1 Compiling ureq v2.9.1 Compiling zbus v3.15.2 Compiling sha2 v0.9.9 Compiling tar v0.4.41 Compiling num v0.4.3 Compiling signal-hook-mio v0.2.3 Compiling near-jsonrpc-primitives v0.20.1 Compiling curve25519-dalek v3.2.1 Compiling phf_shared v0.10.0 Compiling near_schemafy_core v0.7.0 Compiling hkdf v0.12.4 Compiling cbc v0.1.2 Compiling Inflector v0.11.4 Compiling uriparse v0.6.4 Compiling toml_datetime v0.6.6 Compiling serde_spanned v0.6.6 Compiling scroll_derive v0.11.1 Compiling crypto-mac v0.9.1 Compiling is-docker v0.2.0 Compiling csv-core v0.1.11 Compiling tap v1.0.1 Compiling pin-project-lite v0.2.14 Compiling unicode-width v0.1.13 Compiling is_executable v0.1.2 Compiling new_debug_unreachable v1.0.6 Compiling winnow v0.5.40 Compiling arrayvec v0.7.4 Compiling same-file v1.0.6 Compiling hex v0.3.2 Compiling precomputed-hash v0.1.1 Compiling stable_deref_trait v1.2.0 Compiling fallible-iterator v0.2.0 Compiling minimal-lexical v0.2.1 Compiling iana-time-zone v0.1.60 Compiling nom v7.1.3 Compiling binary-install v0.2.0 Compiling string_cache v0.8.7 Compiling walkdir v2.5.0 Compiling newline-converter v0.2.2 Compiling brownstone v1.1.0 Compiling wyz v0.5.1 Compiling csv v1.3.0 Compiling is-wsl v0.4.0 Compiling hmac v0.9.0 Compiling scroll v0.11.0 Compiling near_schemafy_lib v0.7.0 Compiling secret-service v3.1.0 Compiling near-abi v0.4.3 Compiling ed25519-dalek v1.0.1 Compiling crossterm v0.25.0 Compiling dirs v5.0.1 Compiling color-eyre v0.6.3 Compiling debugid v0.7.3 Compiling near-token v0.2.0 Compiling term v0.7.0 Compiling linux-keyutils v0.2.4 Compiling cargo-platform v0.1.8 Compiling is-terminal v0.4.12 Compiling memmap2 v0.5.10 Compiling scroll v0.10.2 Compiling xml-rs v0.8.20 Compiling pathdiff v0.2.1 Compiling joinery v2.1.0 Compiling encode_unicode v1.0.0 Compiling funty v2.0.0 Compiling bitcoin_hashes v0.11.0 Compiling plain v0.2.3 Compiling prettyplease v0.1.25 Compiling indent_write v2.2.0 Compiling shell-escape v0.1.5 Compiling names v0.14.0 Compiling nom-supreme v0.6.0 Compiling goblin v0.5.4 Compiling bip39 v2.0.0 Compiling bitvec v1.0.1 Compiling prettytable v0.10.0 Compiling elementtree v0.7.0 Compiling open v4.2.0 Compiling pdb v0.7.0 Compiling symbolic-common v8.8.0 Compiling keyring v2.3.3 Compiling shellexpand v3.1.0 Compiling inquire v0.6.2 Compiling slip10 v0.4.3 Compiling near-abi-client-impl v0.1.1 Compiling toml v0.7.8 Compiling gimli v0.26.2 Compiling near-gas v0.2.5 Compiling zip v0.5.13 Compiling linked-hash-map v0.5.6 Compiling smart-default v0.7.1 Compiling atty v0.2.14 Compiling bs58 v0.5.1 Compiling lazycell v1.3.0 Compiling shell-words v1.1.0 Compiling dmsort v1.0.2 Compiling easy-ext v1.0.2 Compiling wasmparser v0.83.0 Compiling humantime v2.1.0 Compiling termcolor v1.4.1 Compiling env_logger v0.9.3 Compiling symbolic-debuginfo v8.8.0 Compiling near-abi-client-macros v0.1.1 Compiling near-workspaces v0.10.1 Compiling cargo_metadata v0.14.2 Compiling colored v2.1.0 Compiling libloading v0.7.4 Compiling dunce v1.0.4 Compiling convert_case v0.5.0 Compiling near-abi-client v0.1.1 Compiling cargo_metadata v0.18.1 Compiling tokio-retry v0.3.0 Compiling json-patch v1.4.0 Compiling crypto-hash v0.3.4 Compiling cargo-util v0.1.2 Compiling tokio-native-tls v0.3.1 Compiling hyper-tls v0.5.0 Compiling reqwest v0.11.27 Compiling near-jsonrpc-client v0.8.0 Compiling near-socialdb-client v0.2.2 Compiling near-cli-rs v0.7.8 Compiling cargo-near v0.5.2 Compiling chat_contract_tests v0.0.1 (/home/runner/work/polyglot/polyglot/apps/chat/contract/tests) Finished `release` profile [optimized] target(s) in 4m 00s Running `/home/runner/work/polyglot/polyglot/workspace/target/release/chat_contract_tests` Installed near-sandbox into /home/runner/work/polyglot/polyglot/workspace/target/release/build/near-sandbox-utils-263ec03b4d7cf34c/out/near-sandbox new: ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5283128739978, }, transaction: ExecutionOutcome { transaction_hash: GdfQ72ndN3LW9YNNqoE4ttQfKQd4gG5Lh5nDRCiwLQ7K, block_hash: ADmKUsz5TTNy6RAXhaeiKjMrMhWBEaBfJ72jMCMXw5As, logs: [], receipt_ids: [ 5qqMVSGQQcL1SLVDjUeAF4pgXeVKU6yw58bKcRfdFtRh, ], gas_burnt: NearGas { inner: 2427927707802, }, tokens_burnt: NearToken { inner: 242792770780200000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessReceiptId(5qqMVSGQQcL1SLVDjUeAF4pgXeVKU6yw58bKcRfdFtRh), }, receipts: [ ExecutionOutcome { transaction_hash: 5qqMVSGQQcL1SLVDjUeAF4pgXeVKU6yw58bKcRfdFtRh, block_hash: ADmKUsz5TTNy6RAXhaeiKjMrMhWBEaBfJ72jMCMXw5As, logs: [], receipt_ids: [ AWFTb4x6dL5Dc4yk3pQ7XCbt35rsHpzKGD8ZyLVTmQfi, ], gas_burnt: NearGas { inner: 2632018469676, }, tokens_burnt: NearToken { inner: 263201846967600000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: AWFTb4x6dL5Dc4yk3pQ7XCbt35rsHpzKGD8ZyLVTmQfi, block_hash: 9jVBq8QfuQsXRkKoEiw6PGRoDhjvSgfLeJY27bhSyWkJ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0035291299983053036 outcome (success: true): outcome_gas_burnt_usd: 0.001621855708811736 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.001758188337743568 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(contract, ''): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5278373087536, }, transaction: ExecutionOutcome { transaction_hash: 7SuExoeT9KjhukiQ6e4zSEy6RgxskQFjFJpj9xYkY7BB, block_hash: C6StdiDjQMod6TjYcDY9xQUMrHaKGNtNE1mTy5yQpHTN, logs: [], receipt_ids: [ 7gRGvnWHFpPF6QfPVx3xjs9B7uezuQvy244RUtKH6dyu, ], gas_burnt: NearGas { inner: 2427972426482, }, tokens_burnt: NearToken { inner: 242797242648200000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessReceiptId(7gRGvnWHFpPF6QfPVx3xjs9B7uezuQvy244RUtKH6dyu), }, receipts: [ ExecutionOutcome { transaction_hash: 7gRGvnWHFpPF6QfPVx3xjs9B7uezuQvy244RUtKH6dyu, block_hash: C6StdiDjQMod6TjYcDY9xQUMrHaKGNtNE1mTy5yQpHTN, logs: [ "claim_alias / alias: \"\" / account_id: AccountId(\n \"dev-20240716021948-94104276052716\",\n) / timestamp: 1721096391142254900", ], receipt_ids: [ 8yYxqkrkG344XZ2HTxrsYqdZrJiQSSDgcYW3173H3xX5, ], gas_burnt: NearGas { inner: 2627218098554, }, tokens_burnt: NearToken { inner: 262721809855400000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), }, ExecutionOutcome { transaction_hash: 8yYxqkrkG344XZ2HTxrsYqdZrJiQSSDgcYW3173H3xX5, block_hash: 4aEYA3zjReQ7rqsvRND7Y5R9W9ZSQpz9Bz1kmoxfJJcP, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ], status: Failure(ActionError(ActionError { index: Some(0), kind: FunctionCallError(ExecutionError("Smart contract panicked: Invalid alias")) })), } total_gas_burnt_usd: 0.003525953222474048 outcome (success: true): outcome_gas_burnt_usd: 0.001621885580889976 outcome_tokens_burnt_usd: 0.0 outcome (success: false): outcome_gas_burnt_usd: 0.001754981689834072 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 dev_create_account(account1): Account { id: AccountId( "dev-20240716021951-55946787879916", ), } generate_cid_borsh(account1): ViewResultDetails { result: [ 59, 0, 0, 0, 98, 97, 102, 107, 114, 101, 105, 104, 100, 119, 100, 99, 101, 102, 103, 104, 52, 100, 113, 107, 106, 118, 54, 55, 117, 122, 99, 109, 119, 55, 111, 106, 101, 101, 54, 120, 101, 100, 122, 100, 101, 116, 111, 106, 117, 122, 106, 101, 118, 116, 101, 110, 120, 113, 117, 118, 121, 107, 117, ], logs: [], } claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5698009108393, }, transaction: ExecutionOutcome { transaction_hash: HLKRbrvL853TV1XFEoSWnvAxHwzGHkYEykMQzVjMdzyF, block_hash: BzT6H4t5xcBK9omrh3zR27A5GMEZ5RT44hDzqJhkU5p3, logs: [], receipt_ids: [ 9fmemLtg7S9zMPCtDfMffwZnBmzjjC5oCd2p49UuQ2iE, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessReceiptId(9fmemLtg7S9zMPCtDfMffwZnBmzjjC5oCd2p49UuQ2iE), }, receipts: [ ExecutionOutcome { transaction_hash: 9fmemLtg7S9zMPCtDfMffwZnBmzjjC5oCd2p49UuQ2iE, block_hash: 7tu5wi9SQE4vS4MPV39w9idMMXhNhxXrXF8wSA9BKNSU, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240716021951-55946787879916\",\n) / timestamp: 1721096392959686059", ], receipt_ids: [ 8856ELQa5yUQ3g1asJsUA9d7VWi47MLsARpemN7dZsiF, ], gas_burnt: NearGas { inner: 3046840703807, }, tokens_burnt: NearToken { inner: 304684070380700000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 8856ELQa5yUQ3g1asJsUA9d7VWi47MLsARpemN7dZsiF, block_hash: 7PPo3GuNfQGqRvnse6jhBSg7BcVbwPG4WhacX9tLCgKF, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.003806270084406524 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002035289590143076 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5522714639218, }, transaction: ExecutionOutcome { transaction_hash: Cpapdi1ujWtTwcdDpeHqywtax2eDdK9qqinmsBgvU4C4, block_hash: E7Gz2ecxQrsse3CY6ESuPYT8VWCtUqGb6X2KSUeQxJr1, logs: [], receipt_ids: [ 9jJWAQSeRzcjHaKQDzyd3RBgmFbWxcENT9ACgSrjCbqj, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessReceiptId(9jJWAQSeRzcjHaKQDzyd3RBgmFbWxcENT9ACgSrjCbqj), }, receipts: [ ExecutionOutcome { transaction_hash: 9jJWAQSeRzcjHaKQDzyd3RBgmFbWxcENT9ACgSrjCbqj, block_hash: ErnoNPxXBxsp7pEcq4SGTCYgFjYso1Mk2gTYSCppxVH6, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240716021951-55946787879916\",\n) / timestamp: 1721096393969447841", "Alias already claimed", ], receipt_ids: [ Brzenzn9qmekeH8GeiEWvigZBHzKCwXjNjo8ta9i61Pb, ], gas_burnt: NearGas { inner: 2871546234632, }, tokens_burnt: NearToken { inner: 287154623463200000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: Brzenzn9qmekeH8GeiEWvigZBHzKCwXjNjo8ta9i61Pb, block_hash: CSeMTAGLK3yJYkaNqqpywuMgdwtK9GQ1biSocGR3NMBU, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0036891733789976237 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0019181928847341759 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1721096392959686059, 0, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20240716021951-55946787879916", ): ( 1721096392959686059, 0, ), }, ) dev_create_account(account2): Account { id: AccountId( "dev-20240716021954-87534577575147", ), } claim_alias(alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 5785358888023, }, transaction: ExecutionOutcome { transaction_hash: 6xZ4JcxHPtG6MHdvtu3scHLXhJQQSJ1CsQrj5N3utRSZ, block_hash: 7rUxdKE7gLV2rMhXr3RQKpdSGhwLHzc4qxbWUt6sZLqz, logs: [], receipt_ids: [ EtR6JKUE7sJbqENSDzxGiwZYrrFcEVKjq9ao9D1BQhxG, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240716021954-87534577575147", ), status: SuccessReceiptId(EtR6JKUE7sJbqENSDzxGiwZYrrFcEVKjq9ao9D1BQhxG), }, receipts: [ ExecutionOutcome { transaction_hash: EtR6JKUE7sJbqENSDzxGiwZYrrFcEVKjq9ao9D1BQhxG, block_hash: 6Uc8AvUtZ9xYRGvfnFgNM9mU6dx4F5fGmPi2QNAY4bDx, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20240716021954-87534577575147\",\n) / timestamp: 1721096395990734157", ], receipt_ids: [ Dz62LC1BpuVCLopLk7jcJa4mNrL9wijcmd6Pk8aRqa5t, ], gas_burnt: NearGas { inner: 3134190483437, }, tokens_burnt: NearToken { inner: 313419048343700000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: Dz62LC1BpuVCLopLk7jcJa4mNrL9wijcmd6Pk8aRqa5t, block_hash: AMQtqVuMuGyYUjxeM3sox11nVYxacne2LDxW4VuB19wj, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021954-87534577575147", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.0038646197371993637 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.0020936392429359157 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias2", ( 1721096395990734157, 0, ), ), ) get_alias_map_borsh(alias2): Some( { AccountId( "dev-20240716021954-87534577575147", ): ( 1721096395990734157, 0, ), }, ) claim_alias(account2, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6088851428098, }, transaction: ExecutionOutcome { transaction_hash: FU7JrYydmPXvvPtf87RBce8ez5cNvVtPupsExxsiPLUw, block_hash: JCyGssZdjQgUoZnaYTVPBWQiSMzaXHPSjSqxb1Xc88kL, logs: [], receipt_ids: [ 7Zvss5iVqYBv78gnKe61mgHJAYDj3WjLyq2s2XZEctzc, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240716021954-87534577575147", ), status: SuccessReceiptId(7Zvss5iVqYBv78gnKe61mgHJAYDj3WjLyq2s2XZEctzc), }, receipts: [ ExecutionOutcome { transaction_hash: 7Zvss5iVqYBv78gnKe61mgHJAYDj3WjLyq2s2XZEctzc, block_hash: o4nUaj7Yf1exL85MUENmQUY3qGuVwerbP81Lg2KjASN, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240716021954-87534577575147\",\n) / timestamp: 1721096397001975111", ], receipt_ids: [ AKHC7kiERB2cCZpSKGqB1NbQNxsAS7DXw9pusFDA1zgM, ], gas_burnt: NearGas { inner: 3437683023512, }, tokens_burnt: NearToken { inner: 343768302351200000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: AKHC7kiERB2cCZpSKGqB1NbQNxsAS7DXw9pusFDA1zgM, block_hash: GvcG9zsyyzFGwonBRHuzeppwZVMidbPaNaAJ8qkmjroT, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021954-87534577575147", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004067352753969464 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002296372259706016 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account2): Some( ( "alias1", ( 1721096397001975111, 1, ), ), ) get_alias_map(account2, alias1): Some( { AccountId( "dev-20240716021954-87534577575147", ): ( 1721096397001975111, 1, ), AccountId( "dev-20240716021951-55946787879916", ): ( 1721096392959686059, 0, ), }, ) get_alias_map(account2, alias2): Some( {}, ) claim_alias(account1, alias2): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6083749518142, }, transaction: ExecutionOutcome { transaction_hash: H8pfh96NisUDguTJbGAjGjG718YrYBEFm2oCNYUuFuPa, block_hash: 5dwerqPGZLuyt6z5xxt6FJuKWahhi1QZrTAnkF9YUWs1, logs: [], receipt_ids: [ 8Vf2tWZ8KiS8NPYRm38HRVzkBn9zq28v1uyiKj15JYoi, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessReceiptId(8Vf2tWZ8KiS8NPYRm38HRVzkBn9zq28v1uyiKj15JYoi), }, receipts: [ ExecutionOutcome { transaction_hash: 8Vf2tWZ8KiS8NPYRm38HRVzkBn9zq28v1uyiKj15JYoi, block_hash: 7TuvtxBZ2sh5GGqfqbcsFHvidaMTWPxRPWRiqLcJXUs9, logs: [ "claim_alias / alias: \"alias2\" / account_id: AccountId(\n \"dev-20240716021951-55946787879916\",\n) / timestamp: 1721096398011436057", ], receipt_ids: [ 9UZyrCpBVik3uuy869q7gkhJyQvvQsky3zyux2n499Af, ], gas_burnt: NearGas { inner: 3432581113556, }, tokens_burnt: NearToken { inner: 343258111355600000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: 9UZyrCpBVik3uuy869q7gkhJyQvvQsky3zyux2n499Af, block_hash: CwiaWPwsq9h3Kohxh8tftQZ9LPQD1iXGWjrXDXt4GSLQ, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004063944678118856 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002292964183855408 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias2", ( 1721096398011436057, 0, ), ), ) get_alias_map(account1, alias2): Some( { AccountId( "dev-20240716021951-55946787879916", ): ( 1721096398011436057, 0, ), }, ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20240716021954-87534577575147", ): ( 1721096397001975111, 1, ), }, ) claim_alias(account1, alias1): ExecutionFinalResult { total_gas_burnt: NearGas { inner: 6088851428098, }, transaction: ExecutionOutcome { transaction_hash: CJAMDTXYjLAUZYpcwkw92FnZMJGR1UaXMcfZ37WdbN9Y, block_hash: DhFdz7LqYdcBrJgxrvtUekGRNLs5sZs55DMdZCvMCrjG, logs: [], receipt_ids: [ FxjXCUEik1rV7pFTNK8mxiQ6LYFyKEcqVozeFV6tXd9z, ], gas_burnt: NearGas { inner: 2427985842086, }, tokens_burnt: NearToken { inner: 242798584208600000000, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessReceiptId(FxjXCUEik1rV7pFTNK8mxiQ6LYFyKEcqVozeFV6tXd9z), }, receipts: [ ExecutionOutcome { transaction_hash: FxjXCUEik1rV7pFTNK8mxiQ6LYFyKEcqVozeFV6tXd9z, block_hash: BtRKWzWbWhrSpBykKjyZAze9itxDkKfz69EbFhR7o7c1, logs: [ "claim_alias / alias: \"alias1\" / account_id: AccountId(\n \"dev-20240716021951-55946787879916\",\n) / timestamp: 1721096399022165458", ], receipt_ids: [ Cu6f5hRc16KPbkYuNERbdtK6F9Qp1u9b5JkNUQXXw88p, ], gas_burnt: NearGas { inner: 3437683023512, }, tokens_burnt: NearToken { inner: 343768302351200000000, }, executor_id: AccountId( "dev-20240716021948-94104276052716", ), status: SuccessValue(''), }, ExecutionOutcome { transaction_hash: Cu6f5hRc16KPbkYuNERbdtK6F9Qp1u9b5JkNUQXXw88p, block_hash: 3HNzzXAxmiKhgcLvskK67oq1wDTNMHmtCMvk25HbmeRY, logs: [], receipt_ids: [], gas_burnt: NearGas { inner: 223182562500, }, tokens_burnt: NearToken { inner: 0, }, executor_id: AccountId( "dev-20240716021951-55946787879916", ), status: SuccessValue(''), }, ], status: SuccessValue(''), } total_gas_burnt_usd: 0.004067352753969464 outcome (success: true): outcome_gas_burnt_usd: 0.0016218945425134478 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.002296372259706016 outcome_tokens_burnt_usd: 0.0 outcome (success: true): outcome_gas_burnt_usd: 0.00014908595175 outcome_tokens_burnt_usd: 0.0 get_account_info(account1): Some( ( "alias1", ( 1721096399022165458, 1, ), ), ) get_alias_map(account1, alias1): Some( { AccountId( "dev-20240716021951-55946787879916", ): ( 1721096399022165458, 1, ), AccountId( "dev-20240716021954-87534577575147", ): ( 1721096397001975111, 0, ), }, ) get_alias_map(account1, alias2): Some( {}, )
In [ ]:
{ pwsh ../apps/spiral/temp/extension/build.ps1 } | Invoke-Block
bun install v1.1.20 (ae194892) + @playwright/test@1.44.0 + @types/chrome@0.0.268 + npm-check-updates@17.0.0-5 + buffer@6.0.3 11 packages installed [175.00ms] [INFO]: 🎯 Checking for the Wasm target... [INFO]: 🌀 Compiling to Wasm... Compiling proc-macro2 v1.0.86 Compiling unicode-ident v1.0.12 Compiling autocfg v1.3.0 Compiling serde v1.0.204 Compiling once_cell v1.19.0 Compiling cfg-if v1.0.0 Compiling wasm-bindgen-shared v0.2.92 Compiling bumpalo v3.16.0 Compiling log v0.4.22 Compiling version_check v0.9.4 Compiling wasm-bindgen v0.2.92 Compiling thiserror v1.0.61 Compiling quote v1.0.36 Compiling syn v2.0.70 Compiling memchr v2.7.4 Compiling smallvec v1.13.2 Compiling pin-project-lite v0.2.14 Compiling futures-core v0.3.30 Compiling lock_api v0.4.12 Compiling slab v0.4.9 Compiling itoa v1.0.11 Compiling parking_lot_core v0.9.10 Compiling futures-sink v0.3.30 Compiling futures-channel v0.3.30 Compiling hashbrown v0.14.5 Compiling unicode-xid v0.2.4 Compiling futures-task v0.3.30 Compiling ryu v1.0.18 Compiling percent-encoding v2.3.1 Compiling serde_json v1.0.120 Compiling libc v0.2.155 Compiling pin-utils v0.1.0 Compiling futures-io v0.3.30 Compiling const_format_proc_macros v0.2.32 Compiling proc-macro-utils v0.8.0 Compiling proc-macro-error-attr v1.0.4 Compiling equivalent v1.0.1 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.8.0 Compiling indexmap v2.2.6 Compiling proc-macro-error v1.0.4 Compiling unicode-segmentation v1.11.0 Compiling bytes v1.6.0 Compiling fnv v1.0.7 Compiling convert_case v0.6.0 Compiling unicode-normalization v0.1.22 Compiling wasm-bindgen-backend v0.2.92 Compiling const_format v0.2.32 Compiling form_urlencoded v1.2.1 Compiling proc-macro2-diagnostics v0.10.1 Compiling xxhash-rust v0.8.11 Compiling unicode-bidi v0.3.15 Compiling server_fn_macro v0.6.12 Compiling wasm-bindgen-macro-support v0.2.92 Compiling idna v0.5.0 Compiling http v0.2.12 Compiling manyhow-macros v0.10.4 Compiling slotmap v1.0.7 Compiling half v2.4.1 Compiling paste v1.0.15 Compiling ciborium-io v0.2.2 Compiling camino v1.1.7 Compiling scopeguard v1.2.0 Compiling yansi v1.0.1 Compiling anyhow v1.0.86 Compiling serde_derive v1.0.204 Compiling wasm-bindgen-macro v0.2.92 Compiling thiserror-impl v1.0.61 Compiling futures-macro v0.3.30 Compiling js-sys v0.3.69 Compiling futures-util v0.3.30 Compiling derive-where v1.2.7 Compiling futures-executor v0.3.30 Compiling web-sys v0.3.69 Compiling wasm-bindgen-futures v0.4.42 Compiling pin-project-internal v1.1.5 Compiling tracing-attributes v0.1.27 Compiling pin-project v1.1.5 Compiling quote-use-macros v0.8.3 Compiling futures v0.3.30 Compiling quote-use v0.8.3 Compiling syn_derive v0.1.8 Compiling toml_datetime v0.6.6 Compiling serde_spanned v0.6.6 Compiling ciborium-ll v0.2.2 Compiling manyhow v0.10.4 Compiling url v2.5.2 Compiling tracing-core v0.1.32 Compiling prettyplease v0.2.20 Compiling collection_literals v1.0.1 Compiling winnow v0.6.13 Compiling interpolator v0.5.0 Compiling same-file v1.0.6 Compiling attribute-derive-macro v0.9.2 Compiling walkdir v2.5.0 Compiling tracing v0.1.40 Compiling toml_edit v0.22.15 Compiling parking_lot v0.12.3 Compiling ciborium v0.2.2 Compiling dashmap v5.5.3 Compiling rstml v0.11.2 Compiling oco_ref v0.1.1 Compiling serde-wasm-bindgen v0.6.5 Compiling serde_qs v0.12.0 Compiling server_fn_macro_default v0.6.12 Compiling http v1.1.0 Compiling getrandom v0.2.15 Compiling aho-corasick v1.1.3 Compiling send_wrapper v0.6.0 Compiling regex-syntax v0.8.4 Compiling lazy_static v1.5.0 Compiling rustc-hash v1.1.0 Compiling self_cell v1.0.4 Compiling utf8-width v0.1.7 Compiling either v1.13.0 Compiling base64 v0.22.1 Compiling gloo-utils v0.2.0 Compiling gloo-net v0.5.0 Compiling minimal-lexical v0.2.1 Compiling nom v7.1.3 Compiling leptos_reactive v0.6.12 Compiling regex-automata v0.4.7 Compiling itertools v0.12.1 Compiling wasm-streams v0.4.0 Compiling html-escape v0.2.13 Compiling leptos_hot_reload v0.6.12 Compiling server_fn v0.6.12 Compiling uuid v1.10.0 Compiling toml v0.8.14 Compiling attribute-derive v0.9.2 Compiling typed-builder-macro v0.18.2 Compiling pathdiff v0.2.1 Compiling leptos_macro v0.6.12 Compiling config v0.14.0 Compiling typed-builder v0.18.2 Compiling regex v1.10.5 Compiling async-recursion v1.1.1 Compiling pad-adapter v0.1.1 Compiling drain_filter_polyfill v0.1.3 Compiling inventory v0.3.15 Compiling leptos_config v0.6.12 Compiling leptos_dom v0.6.12 Compiling num-traits v0.2.19 Compiling cfg_aliases v0.2.1 Compiling borsh v1.5.1 Compiling serde_test v1.0.176 Compiling linear-map v1.2.0 Compiling serde_urlencoded v0.7.1 Compiling serde_qs v0.13.0 Compiling tokio v1.37.0 Compiling base64 v0.13.1 Compiling leptos_server v0.6.12 Compiling tower-service v0.3.2 Compiling reqwest-wasm v0.11.16 Compiling console_log v1.0.0 Compiling rexie v0.5.0 Compiling console_error_panic_hook v0.1.7 Compiling leptos v0.6.12 Compiling leptos_router v0.6.12 Compiling leptos_meta v0.6.12 Compiling spiral_temp_extension v0.0.1 (/home/runner/work/polyglot/polyglot/apps/spiral/temp/extension) warning: enum `AlbumData` is never used --> /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension/src/timer.rs:52:6 | 52 | enum AlbumData { | ^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default warning: `spiral_temp_extension` (lib) generated 1 warning Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.18s [INFO]: ⬇️ Installing wasm-bindgen... [INFO]: Optional field missing from Cargo.toml: 'description'. This is not necessary, but recommended [INFO]: origin crate has no LICENSE [INFO]: ✨ Done in 45.80s [INFO]: 📦 Your wasm pkg is ready to publish at /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension/pkg. Resolving dependencies Resolved, downloaded and extracted [54] Saved lockfile ▲ [WARNING] "import.meta" is not available with the "iife" output format and will be empty [empty-import-meta] pkg/spiral_temp_extension.js:1504:57: 1504 │ ...put = new URL('spiral_temp_extension_bg.wasm', import.meta.url); ╵ ~~~~~~~~~~~ You need to set the output format to "esm" for "import.meta" to work correctly. 1 warning dist/spiral_temp_extension_bg-T7POLTXU.wasm 4.5mb ⚠️ dist/devtools.js 29.0kb dist/content_script.js 27.4kb dist/service_worker.js 2.2kb ⚡ Done in 31ms $ playwright test [WebServer] Resolving dependencies [WebServer] Resolved, downloaded and extracted [274] [WebServer] Saved lockfile Running 3 tests using 2 workers ··· 3 passed (8.7s)
In [ ]:
{ pwsh ../apps/spiral/temp/test/build.ps1 } | Invoke-Block
00:00:00 verbose #1 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 debug #1 runtime.execute_with_options_async / { options = { command = dotnet "/home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release/Spiral.dll" --port 13805 --default-int i32 --default-float f64; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = Some <fun:main@570-7>; stdin = None; trace = true; working_directory = Some "/home/runner/work/polyglot/polyglot" } } 00:00:00 verbose #2 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #3 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = true } 00:00:00 verbose #2 > 00:00:00 debug #1 pwd: /home/runner/work/polyglot/polyglot 00:00:00 verbose #3 > 00:00:00 debug #2 dllPath: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/The Spiral Language 2/artifacts/bin/The Spiral Language 2/release 00:00:00 verbose #4 > 00:00:00 debug #3 targetDir: /home/runner/work/polyglot/polyglot/target/spiral_Eval 00:00:00 verbose #4 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #5 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #6 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #7 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #8 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #9 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #10 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #11 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #12 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #13 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #14 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #15 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #16 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #17 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #18 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #19 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #20 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #21 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #22 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #23 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #24 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #25 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #26 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #27 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #28 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #29 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #30 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #31 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:00 verbose #32 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #33 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #34 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #35 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #5 > Starting the Spiral Server. It is bound to: http://localhost:13805 00:00:01 verbose #36 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #37 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #38 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) } 00:00:01 verbose #1 Supervisor.sendJson / port: 13805 / json: {"Ping":true} / result: 00:00:01 verbose #2 awaitCompiler / Ping / result: 'Some(null)' / port: 13805 / retry: 0 00:00:01 verbose #6 > Server bound to: http://localhost:13805 00:00:01 debug #7 runtime.execute_with_options_async / { options = { command = ../../../../workspace/target/release/spiral_builder dib --path build.dib; cancellation_token = Some System.Threading.CancellationToken; environment_variables = [||]; on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:01 verbose #8 > 00:00:00 debug #1 spiral_builder.main / { args = Array(MutCell(["dib", "--path", "build.dib"])) } 00:00:01 verbose #9 > 00:00:00 debug #2 runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", "--exit-after-run", "--run", "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib", "--output-path", "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb"]; options = { command = dotnet repl --exit-after-run --run "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib" --output-path "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb"; cancellation_token = None; environment_variables = Array(MutCell([("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin = None; trace = false; working_directory = None } } 00:00:02 verbose #10 > > 00:00:02 verbose #11 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #12 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #13 > > │ # test │ 00:00:02 verbose #14 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:02 verbose #15 > > 00:00:02 verbose #16 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #17 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #18 > > │ ## include scripts │ 00:00:02 verbose #19 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:02 verbose #20 > > 00:00:02 verbose #21 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:02 verbose #22 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:02 verbose #23 > > │ ### include notebook core │ 00:00:02 verbose #24 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:02 verbose #25 > > 00:00:02 verbose #26 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:02 verbose #27 > > . ../../../../scripts/nbs_header.ps1 00:00:03 verbose #28 > > 00:00:03 verbose #29 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:03 verbose #30 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:03 verbose #31 > > │ ### Include core functions script │ 00:00:03 verbose #32 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:03 verbose #33 > > 00:00:03 verbose #34 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:03 verbose #35 > > . ../../../../scripts/core.ps1 00:00:03 verbose #36 > > 00:00:03 verbose #37 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:03 verbose #38 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:03 verbose #39 > > │ ### Include spiral library │ 00:00:03 verbose #40 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:03 verbose #41 > > 00:00:03 verbose #42 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:03 verbose #43 > > . ../../../../lib/spiral/lib.ps1 00:00:03 verbose #44 > > 00:00:03 verbose #45 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:03 verbose #46 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:03 verbose #47 > > │ ## execute project commands │ 00:00:03 verbose #48 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:03 verbose #49 > > 00:00:03 verbose #50 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:03 verbose #51 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:03 verbose #52 > > │ ### run notebook with retries using spiral supervisor │ 00:00:03 verbose #53 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:03 verbose #54 > > 00:00:03 verbose #55 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:03 verbose #56 > > { . ../../../../apps/spiral/dist/Supervisor$(_exe) --execute-command 00:00:03 verbose #57 > > "../../../../workspace/target/release/spiral_builder$(_exe) dib --path test.dib 00:00:03 verbose #58 > > --retries 3" } | Invoke-Block 00:00:08 verbose #59 > 00:00:08 debug #4 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fa7845de436c12d0ca65282fe0cd65832468ca943e72feba50e6b1bb441e251a/main.spi 00:00:11 verbose #60 > 00:00:11 debug #5 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/ce990c2052584bdfe3d9095a6f66f3692ed9d22db4dfe9c0572634f2ad4150ae/main.spi 00:00:14 verbose #61 > 00:00:13 debug #6 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/fe0c2514da1c8580e6109e31362282ad2ab3a7239f752cd4b1aee48fbab1b1b8/main.spi 00:00:14 verbose #62 > 00:00:14 debug #7 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/target/spiral_Eval/packages/178adaa8563fb65ff883d10755bcf85f8b120a85a2cb7d9c92ec7d8259bf1906/main.spi 00:00:14 verbose #63 > <test> 00:00:14 verbose #64 > </test> 00:00:16 verbose #65 > > 00:00:16 verbose #66 > > ╭─[ 13.34s - stdout ]──────────────────────────────────────────────────────────╮ 00:00:16 verbose #67 > > │ 00:00:00 verbose #1 networking.test_port_open / { port = 13806; ex = │ 00:00:16 verbose #68 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:00:16 verbose #69 > > │ } │ 00:00:16 verbose #70 > > │ 00:00:00 debug #1 runtime.execute_with_options_async / { options = { │ 00:00:16 verbose #71 > > │ command = ../../../../workspace/target/release/spiral_builder dib --path │ 00:00:16 verbose #72 > > │ test.dib --retries 3; cancellation_token = Some │ 00:00:16 verbose #73 > > │ System.Threading.CancellationToken; environment_variables = [||]; on_line = │ 00:00:16 verbose #74 > > │ None; stdin = None; trace = true; working_directory = None } } │ 00:00:16 verbose #75 > > │ 00:00:00 verbose #2 > 00:00:00 debug #1 spiral_builder.main / { │ 00:00:16 verbose #76 > > │ args = Array(MutCell(["dib", "--path", "test.dib", "--retries", "3"])) } │ 00:00:16 verbose #77 > > │ 00:00:00 verbose #3 > 00:00:00 debug #2 │ 00:00:16 verbose #78 > > │ runtime.execute_with_options / { file_name = dotnet; arguments = ["repl", │ 00:00:16 verbose #79 > > │ "--exit-after-run", "--run", │ 00:00:16 verbose #80 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib", │ 00:00:16 verbose #81 > > │ "--output-path", │ 00:00:16 verbose #82 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb"]; │ 00:00:16 verbose #83 > > │ options = { command = dotnet repl --exit-after-run --run │ 00:00:16 verbose #84 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib" │ 00:00:16 verbose #85 > > │ --output-path │ 00:00:16 verbose #86 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb"; │ 00:00:16 verbose #87 > > │ cancellation_token = None; environment_variables = Array(MutCell([ │ 00:00:16 verbose #88 > > │ ("TRACE_LEVEL", "Verbose"), ("AUTOMATION", "True")])); on_line = None; stdin │ 00:00:16 verbose #89 > > │ = None; trace = false; working_directory = None } } │ 00:00:16 verbose #90 > > │ 00:00:02 verbose #4 > > │ 00:00:16 verbose #91 > > │ 00:00:02 verbose #5 > > ── markdown │ 00:00:16 verbose #92 > > │ ──────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #93 > > │ 00:00:02 verbose #6 > > 38;5;2m│ 00:00:16 verbose #94 > > │ 38;5;103m╭────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #95 > > │ ────────────╮ │ 00:00:16 verbose #96 > > │ 00:00:02 verbose #7 > > │ # test (Polyglot) │ 00:00:16 verbose #97 > > │ │ │ 00:00:16 verbose #98 > > │ 00:00:02 verbose #8 > > 38;5;2m│ 00:00:16 verbose #99 > > │ 38;5;103m╰────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #100 > > │ ────────────╯ │ 00:00:16 verbose #101 > > │ 00:00:04 verbose #9 > > │ 00:00:16 verbose #102 > > │ 00:00:04 verbose #10 > > ── spiral │ 00:00:16 verbose #103 > > │ ────────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #104 > > │ 00:00:04 verbose #11 > > //// test │ 00:00:16 verbose #105 > > │ 00:00:04 verbose #12 > > │ 00:00:16 verbose #106 > > │ 00:00:04 verbose #13 > > open testing │ 00:00:16 verbose #107 > > │ 00:00:07 verbose #14 > > │ 00:00:16 verbose #108 > > │ 00:00:07 verbose #15 > > ── spiral │ 00:00:16 verbose #109 > > │ ────────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #110 > > │ 00:00:07 verbose #16 > > nominal i = () │ 00:00:16 verbose #111 > > │ 00:00:07 verbose #17 > > nominal e = () │ 00:00:16 verbose #112 > > │ 00:00:07 verbose #18 > > nominal s = () │ 00:00:16 verbose #113 > > │ 00:00:07 verbose #19 > > nominal n = () │ 00:00:16 verbose #114 > > │ 00:00:07 verbose #20 > > nominal t = () │ 00:00:16 verbose #115 > > │ 00:00:07 verbose #21 > > nominal f = () │ 00:00:16 verbose #116 > > │ 00:00:07 verbose #22 > > nominal j = () │ 00:00:16 verbose #117 > > │ 00:00:07 verbose #23 > > nominal p = () │ 00:00:16 verbose #118 > > │ 00:00:07 verbose #24 > > │ 00:00:16 verbose #119 > > │ 00:00:07 verbose #25 > > union sensing = │ 00:00:16 verbose #120 > > │ 00:00:07 verbose #26 > > | Si : s * i │ 00:00:16 verbose #121 > > │ 00:00:07 verbose #27 > > | Se : s * e │ 00:00:16 verbose #122 > > │ 00:00:07 verbose #28 > > │ 00:00:16 verbose #123 > > │ 00:00:07 verbose #29 > > union intuition = │ 00:00:16 verbose #124 > > │ 00:00:07 verbose #30 > > | Ni : n * i │ 00:00:16 verbose #125 > > │ 00:00:07 verbose #31 > > | Ne : n * e │ 00:00:16 verbose #126 > > │ 00:00:07 verbose #32 > > │ 00:00:16 verbose #127 > > │ 00:00:07 verbose #33 > > union thinking = │ 00:00:16 verbose #128 > > │ 00:00:07 verbose #34 > > | Ti : t * i │ 00:00:16 verbose #129 > > │ 00:00:07 verbose #35 > > | Te : t * e │ 00:00:16 verbose #130 > > │ 00:00:07 verbose #36 > > │ 00:00:16 verbose #131 > > │ 00:00:07 verbose #37 > > union feeling = │ 00:00:16 verbose #132 > > │ 00:00:07 verbose #38 > > | Fi : f * i │ 00:00:16 verbose #133 > > │ 00:00:07 verbose #39 > > | Fe : f * e │ 00:00:16 verbose #134 > > │ 00:00:07 verbose #40 > > │ 00:00:16 verbose #135 > > │ 00:00:07 verbose #41 > > union function_stack = │ 00:00:16 verbose #136 > > │ 00:00:07 verbose #42 > > | FS : sensing * intuition * thinking * │ 00:00:16 verbose #137 > > │ feeling │ 00:00:16 verbose #138 > > │ 00:00:07 verbose #43 > > │ 00:00:16 verbose #139 > > │ 00:00:07 verbose #44 > > union personality_type = │ 00:00:16 verbose #140 > > │ 00:00:07 verbose #45 > > | ISTJ : i * s * t * j * function_stack │ 00:00:16 verbose #141 > > │ 00:00:07 verbose #46 > > | ISFJ : i * s * f * j * function_stack │ 00:00:16 verbose #142 > > │ 00:00:07 verbose #47 > > | INFJ : i * n * f * j * function_stack │ 00:00:16 verbose #143 > > │ 00:00:07 verbose #48 > > | INTJ : i * n * t * j * function_stack │ 00:00:16 verbose #144 > > │ 00:00:07 verbose #49 > > | ISTP : i * s * t * p * function_stack │ 00:00:16 verbose #145 > > │ 00:00:07 verbose #50 > > | ISFP : i * s * f * p * function_stack │ 00:00:16 verbose #146 > > │ 00:00:07 verbose #51 > > | INFP : i * n * f * p * function_stack │ 00:00:16 verbose #147 > > │ 00:00:07 verbose #52 > > | INTP : i * n * t * p * function_stack │ 00:00:16 verbose #148 > > │ 00:00:07 verbose #53 > > | ESTP : e * s * t * p * function_stack │ 00:00:16 verbose #149 > > │ 00:00:07 verbose #54 > > | ESFP : e * s * f * p * function_stack │ 00:00:16 verbose #150 > > │ 00:00:07 verbose #55 > > | ENFP : e * n * f * p * function_stack │ 00:00:16 verbose #151 > > │ 00:00:07 verbose #56 > > | ENTP : e * n * t * p * function_stack │ 00:00:16 verbose #152 > > │ 00:00:07 verbose #57 > > | ESTJ : e * s * t * j * function_stack │ 00:00:16 verbose #153 > > │ 00:00:07 verbose #58 > > | ESFJ : e * s * f * j * function_stack │ 00:00:16 verbose #154 > > │ 00:00:07 verbose #59 > > | ENFJ : e * n * f * j * function_stack │ 00:00:16 verbose #155 > > │ 00:00:07 verbose #60 > > | ENTJ : e * n * t * j * function_stack │ 00:00:16 verbose #156 > > │ 00:00:07 verbose #61 > > │ 00:00:16 verbose #157 > > │ 00:00:07 verbose #62 > > │ 00:00:16 verbose #158 > > │ 00:00:07 verbose #63 > > inl main () = │ 00:00:16 verbose #159 > > │ 00:00:07 verbose #64 > > inl istj_stack = FS ((Si (s, i)), Ne (n, │ 00:00:16 verbose #160 > > │ e), (Te (t, e)), (Fi (f, i))) │ 00:00:16 verbose #161 > > │ 00:00:07 verbose #65 > > inl istj_personality = ISTJ (i, s, t, j, │ 00:00:16 verbose #162 > > │ istj_stack) │ 00:00:16 verbose #163 > > │ 00:00:07 verbose #66 > > // inl isfj_stack = FS ((Si (s, i)), Ne │ 00:00:16 verbose #164 > > │ (n, e), (Fe (f, e)), (Ti (t, i))) │ 00:00:16 verbose #165 > > │ 00:00:07 verbose #67 > > // inl isfj_personality = ISFJ (i, s, f, │ 00:00:16 verbose #166 > > │ j, isfj_stack) │ 00:00:16 verbose #167 > > │ 00:00:07 verbose #68 > > │ 00:00:16 verbose #168 > > │ 00:00:07 verbose #69 > > ;[[ │ 00:00:16 verbose #169 > > │ 00:00:07 verbose #70 > > istj_personality │ 00:00:16 verbose #170 > > │ 00:00:07 verbose #71 > > ]] │ 00:00:16 verbose #171 > > │ 00:00:07 verbose #72 > > |> fun x => $'$"%A{!x}"' : string │ 00:00:16 verbose #172 > > │ 00:00:07 verbose #73 > > |> console.write_line │ 00:00:16 verbose #173 > > │ 00:00:07 verbose #74 > > │ 00:00:16 verbose #174 > > │ 00:00:07 verbose #75 > > inl main () = │ 00:00:16 verbose #175 > > │ 00:00:07 verbose #76 > > $'!main ()' : () │ 00:00:16 verbose #176 > > │ 00:00:09 verbose #77 > > │ 00:00:16 verbose #177 > > │ 00:00:09 verbose #78 > > ╭─[ 1.16s - stdout │ 00:00:16 verbose #178 > > │ ]───────────────────────────────────────────────────────────╮ │ 00:00:16 verbose #179 > > │ 00:00:09 verbose #79 > > │ [|US5_0 (US4_0 (US0_0, US1_1, │ 00:00:16 verbose #180 > > │ US2_1, US3_0))|] │ │ 00:00:16 verbose #181 > > │ 00:00:09 verbose #80 > > │ │ 00:00:16 verbose #182 > > │ │ 00:00:16 verbose #183 > > │ │ │ 00:00:16 verbose #184 > > │ 00:00:09 verbose #81 > > 38;5;2m│ 00:00:16 verbose #185 > > │ 38;5;2m╰──────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #186 > > │ ──────────╯ │ 00:00:16 verbose #187 > > │ 00:00:09 verbose #82 > > │ 00:00:16 verbose #188 > > │ 00:00:09 verbose #83 > > ── fsharp │ 00:00:16 verbose #189 > > │ ────────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #190 > > │ 00:00:09 verbose #84 > > type PhonologicalFeature = │ 00:00:16 verbose #191 > > │ 00:00:09 verbose #85 > > | VowelFeature of │ 00:00:16 verbose #192 > > │ 00:00:09 verbose #86 > > height: Height │ 00:00:16 verbose #193 > > │ 00:00:09 verbose #87 > > * backness: Backness │ 00:00:16 verbose #194 > > │ 00:00:09 verbose #88 > > * roundedness: Roundedness │ 00:00:16 verbose #195 > > │ 00:00:09 verbose #89 > > * tone: Option<Tone> │ 00:00:16 verbose #196 > > │ 00:00:09 verbose #90 > > * stress: Option<Stress> │ 00:00:16 verbose #197 > > │ 00:00:09 verbose #91 > > * length: Option<Length> │ 00:00:16 verbose #198 > > │ 00:00:09 verbose #92 > > | ConsonantFeature of │ 00:00:16 verbose #199 > > │ 00:00:09 verbose #93 > > place: PlaceOfArticulation │ 00:00:16 verbose #200 > > │ 00:00:09 verbose #94 > > * manner: MannerOfArticulation │ 00:00:16 verbose #201 > > │ 00:00:09 verbose #95 > > * voicing: Voicing │ 00:00:16 verbose #202 > > │ 00:00:09 verbose #96 > > * length: Option<Length> │ 00:00:16 verbose #203 > > │ 00:00:09 verbose #97 > > | VowelHarmonyFeature │ 00:00:16 verbose #204 > > │ 00:00:09 verbose #98 > > | PitchAccentFeature │ 00:00:16 verbose #205 > > │ 00:00:09 verbose #99 > > │ 00:00:16 verbose #206 > > │ 00:00:09 verbose #100 > > and Stress = Primary | Secondary │ 00:00:16 verbose #207 > > │ 00:00:09 verbose #101 > > and Length = Long | Short | HalfLong │ 00:00:16 verbose #208 > > │ 00:00:09 verbose #102 > > │ 00:00:16 verbose #209 > > │ 00:00:09 verbose #103 > > and Height = │ 00:00:16 verbose #210 > > │ 00:00:09 verbose #104 > > | High | NearHigh | HighMid │ 00:00:16 verbose #211 > > │ 00:00:09 verbose #105 > > | Mid | LowMid | NearLow │ 00:00:16 verbose #212 > > │ 00:00:09 verbose #106 > > | Low │ 00:00:16 verbose #213 > > │ 00:00:09 verbose #107 > > │ 00:00:16 verbose #214 > > │ 00:00:09 verbose #108 > > and Backness = Front | Central | Back │ 00:00:16 verbose #215 > > │ 00:00:09 verbose #109 > > │ 00:00:16 verbose #216 > > │ 00:00:09 verbose #110 > > and Roundedness = Rounded | Unrounded │ 00:00:16 verbose #217 > > │ 00:00:09 verbose #111 > > │ 00:00:16 verbose #218 > > │ 00:00:09 verbose #112 > > and PlaceOfArticulation = │ 00:00:16 verbose #219 > > │ 00:00:09 verbose #113 > > | Bilabial | Labiodental | Dental │ 00:00:16 verbose #220 > > │ 00:00:09 verbose #114 > > | Alveolar | Postalveolar | Retroflex │ 00:00:16 verbose #221 > > │ 00:00:09 verbose #115 > > | Palatal | Velar | Uvular │ 00:00:16 verbose #222 > > │ 00:00:09 verbose #116 > > | Pharyngeal | Epiglottal | Glottal │ 00:00:16 verbose #223 > > │ 00:00:09 verbose #117 > > │ 00:00:16 verbose #224 > > │ 00:00:09 verbose #118 > > and MannerOfArticulation = │ 00:00:16 verbose #225 > > │ 00:00:09 verbose #119 > > | Plosive | Nasal | Trill │ 00:00:16 verbose #226 > > │ 00:00:09 verbose #120 > > | TapOrFlap | Fricative | │ 00:00:16 verbose #227 > > │ LateralFricative │ 00:00:16 verbose #228 > > │ 00:00:09 verbose #121 > > | Approximant | LateralApproximant │ 00:00:16 verbose #229 > > │ 00:00:09 verbose #122 > > │ 00:00:16 verbose #230 > > │ 00:00:09 verbose #123 > > and Voicing = Voiced | Voiceless │ 00:00:16 verbose #231 > > │ 00:00:09 verbose #124 > > │ 00:00:16 verbose #232 > > │ 00:00:09 verbose #125 > > and SecondaryArticulation = │ 00:00:16 verbose #233 > > │ 00:00:09 verbose #126 > > | Labialization | Palatalization | │ 00:00:16 verbose #234 > > │ Velarization │ 00:00:16 verbose #235 > > │ 00:00:09 verbose #127 > > | Pharyngealization | Aspiration │ 00:00:16 verbose #236 > > │ 00:00:09 verbose #128 > > │ 00:00:16 verbose #237 > > │ 00:00:09 verbose #129 > > and Tone = │ 00:00:16 verbose #238 > > │ 00:00:09 verbose #130 > > | LevelTone of int │ 00:00:16 verbose #239 > > │ 00:00:09 verbose #131 > > | ContourTone of int list │ 00:00:16 verbose #240 > > │ 00:00:09 verbose #132 > > │ 00:00:16 verbose #241 > > │ 00:00:09 verbose #133 > > and MorphologicalFeature = │ 00:00:16 verbose #242 > > │ 00:00:09 verbose #134 > > | RootFeature of string │ 00:00:16 verbose #243 > > │ 00:00:09 verbose #135 > > | AffixFeature of AffixType * string │ 00:00:16 verbose #244 > > │ 00:00:09 verbose #136 > > | IncorporationFeature of string * │ 00:00:16 verbose #245 > > │ MorphologicalFeature │ 00:00:16 verbose #246 > > │ 00:00:09 verbose #137 > > | NonConcatenativePattern of string * │ 00:00:16 verbose #247 > > │ string │ 00:00:16 verbose #248 > > │ 00:00:09 verbose #138 > > | AgglutinativeAffixFeature of │ 00:00:16 verbose #249 > > │ AgglutinativeAffixType * string │ 00:00:16 verbose #250 > > │ 00:00:09 verbose #139 > > | HonorificFeature of HonorificType * │ 00:00:16 verbose #251 > > │ string │ 00:00:16 verbose #252 > > │ 00:00:09 verbose #140 > > │ 00:00:16 verbose #253 > > │ 00:00:09 verbose #141 > > and AgglutinativeAffixType = Suffix | Prefix │ 00:00:16 verbose #254 > > │ 00:00:09 verbose #142 > > │ 00:00:16 verbose #255 > > │ 00:00:09 verbose #143 > > and HonorificType = VerbHonorific | │ 00:00:16 verbose #256 > > │ NounHonorific │ 00:00:16 verbose #257 > > │ 00:00:09 verbose #144 > > │ 00:00:16 verbose #258 > > │ 00:00:09 verbose #145 > > and AffixType = │ 00:00:16 verbose #259 > > │ 00:00:09 verbose #146 > > | Prefix | Suffix | Infix │ 00:00:16 verbose #260 > > │ 00:00:09 verbose #147 > > | Circumfix │ 00:00:16 verbose #261 > > │ 00:00:09 verbose #148 > > │ 00:00:16 verbose #262 > > │ 00:00:09 verbose #149 > > type SyntacticFeature = │ 00:00:16 verbose #263 > > │ 00:00:09 verbose #150 > > | WordFeature of MorphologicalFeature │ 00:00:16 verbose #264 > > │ list * LexicalCategory │ 00:00:16 verbose #265 > > │ 00:00:09 verbose #151 > > | PhraseFeature of PhraseType * │ 00:00:16 verbose #266 > > │ SyntacticFeature list │ 00:00:16 verbose #267 > > │ 00:00:09 verbose #152 > > | GrammaticalRelation of │ 00:00:16 verbose #268 > > │ GrammaticalRelationType * SyntacticFeature list │ 00:00:16 verbose #269 > > │ 00:00:09 verbose #153 > > | SOVOrderFeature │ 00:00:16 verbose #270 > > │ 00:00:09 verbose #154 > > | TopicCommentFeature │ 00:00:16 verbose #271 > > │ 00:00:09 verbose #155 > > │ 00:00:16 verbose #272 > > │ 00:00:09 verbose #156 > > and GrammaticalRelationType = │ 00:00:16 verbose #273 > > │ 00:00:09 verbose #157 > > | Ergative | Absolutive | Nominative │ 00:00:16 verbose #274 > > │ 00:00:09 verbose #158 > > | Accusative │ 00:00:16 verbose #275 > > │ 00:00:09 verbose #159 > > │ 00:00:16 verbose #276 > > │ 00:00:09 verbose #160 > > and LexicalCategory = │ 00:00:16 verbose #277 > > │ 00:00:09 verbose #161 > > | Noun | Verb | Adjective │ 00:00:16 verbose #278 > > │ 00:00:09 verbose #162 > > | Adverb | Pronoun | Preposition │ 00:00:16 verbose #279 > > │ 00:00:09 verbose #163 > > | Conjunction | Determiner | Interjection │ 00:00:16 verbose #280 > > │ 00:00:09 verbose #164 > > │ 00:00:16 verbose #281 > > │ 00:00:09 verbose #165 > > and PhraseType = │ 00:00:16 verbose #282 > > │ 00:00:09 verbose #166 > > | NP | VP | AP │ 00:00:16 verbose #283 > > │ 00:00:09 verbose #167 > > | PP | CP │ 00:00:16 verbose #284 > > │ 00:00:09 verbose #168 > > │ 00:00:16 verbose #285 > > │ 00:00:09 verbose #169 > > and SemanticFeature = │ 00:00:16 verbose #286 > > │ 00:00:09 verbose #170 > > | Meaning of string │ 00:00:16 verbose #287 > > │ 00:00:09 verbose #171 > > | SemanticRole of SemanticRoleType * │ 00:00:16 verbose #288 > > │ SemanticFeature │ 00:00:16 verbose #289 > > │ 00:00:09 verbose #172 > > │ 00:00:16 verbose #290 > > │ 00:00:09 verbose #173 > > and SemanticRoleType = │ 00:00:16 verbose #291 > > │ 00:00:09 verbose #174 > > | Agent | Patient | Instrument │ 00:00:16 verbose #292 > > │ 00:00:09 verbose #175 > > | Location | Time | Cause │ 00:00:16 verbose #293 > > │ 00:00:09 verbose #176 > > │ 00:00:16 verbose #294 > > │ 00:00:09 verbose #177 > > and PragmaticFeature = │ 00:00:16 verbose #295 > > │ 00:00:09 verbose #178 > > | UseContext of string │ 00:00:16 verbose #296 > > │ 00:00:09 verbose #179 > > | PolitenessLevel of Politeness │ 00:00:16 verbose #297 > > │ 00:00:09 verbose #180 > > | SpeechAct of SpeechActType │ 00:00:16 verbose #298 > > │ 00:00:09 verbose #181 > > | SpeechLevel of SpeechLevelType │ 00:00:16 verbose #299 > > │ 00:00:09 verbose #182 > > │ 00:00:16 verbose #300 > > │ 00:00:09 verbose #183 > > and Politeness = Formal | Informal | Neutral │ 00:00:16 verbose #301 > > │ 00:00:09 verbose #184 > > │ 00:00:16 verbose #302 > > │ 00:00:09 verbose #185 > > and SpeechActType = │ 00:00:16 verbose #303 > > │ 00:00:09 verbose #186 > > | Assertive | Directive | Commissive │ 00:00:16 verbose #304 > > │ 00:00:09 verbose #187 > > | Expressive | Declarative │ 00:00:16 verbose #305 > > │ 00:00:09 verbose #188 > > │ 00:00:16 verbose #306 > > │ 00:00:09 verbose #189 > > and SpeechLevelType = │ 00:00:16 verbose #307 > > │ 00:00:09 verbose #190 > > | FormalHigh | FormalLow | InformalHigh │ 00:00:16 verbose #308 > > │ 00:00:09 verbose #191 > > | InformalLow | Neutral │ 00:00:16 verbose #309 > > │ 00:00:09 verbose #192 > > │ 00:00:16 verbose #310 > > │ 00:00:09 verbose #193 > > type LinguisticFeature = │ 00:00:16 verbose #311 > > │ 00:00:09 verbose #194 > > | Phonological of PhonologicalFeature │ 00:00:16 verbose #312 > > │ 00:00:09 verbose #195 > > | Morphological of MorphologicalFeature │ 00:00:16 verbose #313 > > │ 00:00:09 verbose #196 > > | Syntactic of SyntacticFeature │ 00:00:16 verbose #314 > > │ 00:00:09 verbose #197 > > | Semantic of SemanticFeature │ 00:00:16 verbose #315 > > │ 00:00:09 verbose #198 > > | Pragmatic of PragmaticFeature │ 00:00:16 verbose #316 > > │ 00:00:09 verbose #199 > > │ 00:00:16 verbose #317 > > │ 00:00:09 verbose #200 > > type LanguageConstruct = │ 00:00:16 verbose #318 > > │ 00:00:09 verbose #201 > > | LanguageElement of LinguisticFeature │ 00:00:16 verbose #319 > > │ 00:00:09 verbose #202 > > | LanguageStructure of LanguageConstruct │ 00:00:16 verbose #320 > > │ list │ 00:00:16 verbose #321 > > │ 00:00:09 verbose #203 > > | TranslationElement of │ 00:00:16 verbose #322 > > │ TranslationFeature │ 00:00:16 verbose #323 > > │ 00:00:09 verbose #204 > > │ 00:00:16 verbose #324 > > │ 00:00:09 verbose #205 > > and TranslationFeature = │ 00:00:16 verbose #325 > > │ 00:00:09 verbose #206 > > | LinkedPhonological of │ 00:00:16 verbose #326 > > │ PhonologicalFeature * PhonologicalFeature │ 00:00:16 verbose #327 > > │ 00:00:09 verbose #207 > > | LinkedMorphological of │ 00:00:16 verbose #328 > > │ MorphologicalFeature * MorphologicalFeature │ 00:00:16 verbose #329 > > │ 00:00:09 verbose #208 > > | LinkedSyntactic of SyntacticFeature * │ 00:00:16 verbose #330 > > │ SyntacticFeature │ 00:00:16 verbose #331 > > │ 00:00:09 verbose #209 > > | LinkedSemantic of SemanticFeature * │ 00:00:16 verbose #332 > > │ SemanticFeature │ 00:00:16 verbose #333 > > │ 00:00:09 verbose #210 > > │ 00:00:16 verbose #334 > > │ 00:00:09 verbose #211 > > type Discourse = DiscourseUnit of │ 00:00:16 verbose #335 > > │ LanguageConstruct list │ 00:00:16 verbose #336 > > │ 00:00:09 verbose #212 > > │ 00:00:16 verbose #337 > > │ 00:00:09 verbose #213 > > type LanguageModel = │ 00:00:16 verbose #338 > > │ 00:00:09 verbose #214 > > | Model of discourse: Discourse │ 00:00:16 verbose #339 > > │ 00:00:10 verbose #215 > > │ 00:00:16 verbose #340 > > │ 00:00:10 verbose #216 > > ── fsharp │ 00:00:16 verbose #341 > > │ ────────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #342 > > │ 00:00:10 verbose #217 > > let testEnglish = │ 00:00:16 verbose #343 > > │ 00:00:10 verbose #218 > > Model( │ 00:00:16 verbose #344 > > │ 00:00:10 verbose #219 > > DiscourseUnit [[ │ 00:00:16 verbose #345 > > │ 00:00:10 verbose #220 > > LanguageElement (Phonological │ 00:00:16 verbose #346 > > │ (ConsonantFeature (Alveolar, Nasal, │ 00:00:16 verbose #347 > > │ 00:00:10 verbose #221 > > Voiced, Some(HalfLong)))); │ 00:00:16 verbose #348 > > │ 00:00:10 verbose #222 > > LanguageElement (Phonological │ 00:00:16 verbose #349 > > │ (VowelFeature (High, Front, Unrounded, │ 00:00:16 verbose #350 > > │ 00:00:10 verbose #223 > > Some(LevelTone 1), Some(Primary), │ 00:00:16 verbose #351 > > │ Some(Short)))); │ 00:00:16 verbose #352 > > │ 00:00:10 verbose #224 > > LanguageElement (Phonological │ 00:00:16 verbose #353 > > │ (VowelFeature (Low, Front, Unrounded, │ 00:00:16 verbose #354 > > │ 00:00:10 verbose #225 > > Some(LevelTone 2), Some(Secondary), │ 00:00:16 verbose #355 > > │ Some(Long)))); │ 00:00:16 verbose #356 > > │ 00:00:10 verbose #226 > > LanguageElement (Phonological │ 00:00:16 verbose #357 > > │ (ConsonantFeature (Velar, Plosive, │ 00:00:16 verbose #358 > > │ 00:00:10 verbose #227 > > Voiceless, Some(HalfLong)))); │ 00:00:16 verbose #359 > > │ 00:00:10 verbose #228 > > LanguageElement (Morphological │ 00:00:16 verbose #360 > > │ (RootFeature "I")); │ 00:00:16 verbose #361 > > │ 00:00:10 verbose #229 > > LanguageElement (Morphological │ 00:00:16 verbose #362 > > │ (RootFeature "see")); │ 00:00:16 verbose #363 > > │ 00:00:10 verbose #230 > > LanguageElement (Morphological │ 00:00:16 verbose #364 > > │ (RootFeature "a")); │ 00:00:16 verbose #365 > > │ 00:00:10 verbose #231 > > LanguageElement (Morphological │ 00:00:16 verbose #366 > > │ (RootFeature "cat")); │ 00:00:16 verbose #367 > > │ 00:00:10 verbose #232 > > LanguageElement (Syntactic │ 00:00:16 verbose #368 > > │ (PhraseFeature (NP, [[WordFeature │ 00:00:16 verbose #369 > > │ 00:00:10 verbose #233 > > ([[RootFeature "I"]], Pronoun)]]))); │ 00:00:16 verbose #370 > > │ 00:00:10 verbose #234 > > LanguageElement (Syntactic │ 00:00:16 verbose #371 > > │ (PhraseFeature (VP, [[WordFeature │ 00:00:16 verbose #372 > > │ 00:00:10 verbose #235 > > ([[RootFeature "see"]], Verb)]]))); │ 00:00:16 verbose #373 > > │ 00:00:10 verbose #236 > > LanguageElement (Syntactic │ 00:00:16 verbose #374 > > │ (PhraseFeature (NP, [[WordFeature │ 00:00:16 verbose #375 > > │ 00:00:10 verbose #237 > > ([[RootFeature "a"; RootFeature "cat"]], │ 00:00:16 verbose #376 > > │ Noun)]]))); │ 00:00:16 verbose #377 > > │ 00:00:10 verbose #238 > > LanguageElement (Semantic │ 00:00:16 verbose #378 > > │ (Meaning "Perception act of a feline by │ 00:00:16 verbose #379 > > │ 00:00:10 verbose #239 > > the speaker")); │ 00:00:16 verbose #380 > > │ 00:00:10 verbose #240 > > LanguageElement (Pragmatic │ 00:00:16 verbose #381 > > │ (UseContext "Statement of an action being │ 00:00:16 verbose #382 > > │ 00:00:10 verbose #241 > > observed")) │ 00:00:16 verbose #383 > > │ 00:00:10 verbose #242 > > ]] │ 00:00:16 verbose #384 > > │ 00:00:10 verbose #243 > > ) │ 00:00:16 verbose #385 > > │ 00:00:10 verbose #244 > > │ 00:00:16 verbose #386 > > │ 00:00:10 verbose #245 > > let testPortuguese = │ 00:00:16 verbose #387 > > │ 00:00:10 verbose #246 > > Model( │ 00:00:16 verbose #388 > > │ 00:00:10 verbose #247 > > DiscourseUnit [[ │ 00:00:16 verbose #389 > > │ 00:00:10 verbose #248 > > LanguageElement (Phonological │ 00:00:16 verbose #390 > > │ (VowelFeature (High, Front, Unrounded, │ 00:00:16 verbose #391 > > │ 00:00:10 verbose #249 > > Some(LevelTone 1), Some(Primary), │ 00:00:16 verbose #392 > > │ Some(Short)))); │ 00:00:16 verbose #393 > > │ 00:00:10 verbose #250 > > LanguageElement (Phonological │ 00:00:16 verbose #394 > > │ (VowelFeature (Low, Front, Unrounded, │ 00:00:16 verbose #395 > > │ 00:00:10 verbose #251 > > Some(LevelTone 2), Some(Secondary), │ 00:00:16 verbose #396 > > │ Some(Long)))); │ 00:00:16 verbose #397 > > │ 00:00:10 verbose #252 > > LanguageElement (Phonological │ 00:00:16 verbose #398 > > │ (VowelFeature (Mid, Back, Rounded, │ 00:00:16 verbose #399 > > │ 00:00:10 verbose #253 > > Some(LevelTone 3), Some(Primary), │ 00:00:16 verbose #400 > > │ Some(Short)))); │ 00:00:16 verbose #401 > > │ 00:00:10 verbose #254 > > LanguageElement (Phonological │ 00:00:16 verbose #402 > > │ (ConsonantFeature (Velar, Plosive, │ 00:00:16 verbose #403 > > │ 00:00:10 verbose #255 > > Voiceless, Some(HalfLong)))); │ 00:00:16 verbose #404 > > │ 00:00:10 verbose #256 > > LanguageElement (Morphological │ 00:00:16 verbose #405 > > │ (RootFeature "Eu")); │ 00:00:16 verbose #406 > > │ 00:00:10 verbose #257 > > LanguageElement (Morphological │ 00:00:16 verbose #407 > > │ (RootFeature "ver" |> ignore; │ 00:00:16 verbose #408 > > │ 00:00:10 verbose #258 > > AffixFeature (Suffix, "o"))); │ 00:00:16 verbose #409 > > │ 00:00:10 verbose #259 > > LanguageElement (Morphological │ 00:00:16 verbose #410 > > │ (RootFeature "um")); │ 00:00:16 verbose #411 > > │ 00:00:10 verbose #260 > > LanguageElement (Morphological │ 00:00:16 verbose #412 > > │ (RootFeature "gato")); │ 00:00:16 verbose #413 > > │ 00:00:10 verbose #261 > > LanguageElement (Syntactic │ 00:00:16 verbose #414 > > │ (PhraseFeature (NP, [[WordFeature │ 00:00:16 verbose #415 > > │ 00:00:10 verbose #262 > > ([[RootFeature "Eu"]], Pronoun)]]))); │ 00:00:16 verbose #416 > > │ 00:00:10 verbose #263 > > LanguageElement (Syntactic │ 00:00:16 verbose #417 > > │ (PhraseFeature (VP, [[WordFeature │ 00:00:16 verbose #418 > > │ 00:00:10 verbose #264 > > ([[RootFeature "vejo"]], Verb)]]))); │ 00:00:16 verbose #419 > > │ 00:00:10 verbose #265 > > LanguageElement (Syntactic │ 00:00:16 verbose #420 > > │ (PhraseFeature (NP, [[WordFeature │ 00:00:16 verbose #421 > > │ 00:00:10 verbose #266 > > ([[RootFeature "um"; RootFeature "gato"]], │ 00:00:16 verbose #422 > > │ Noun)]]))); │ 00:00:16 verbose #423 > > │ 00:00:10 verbose #267 > > LanguageElement (Semantic │ 00:00:16 verbose #424 > > │ (Meaning "Ação de percepção de um felino │ 00:00:16 verbose #425 > > │ 00:00:10 verbose #268 > > pelo falante")); │ 00:00:16 verbose #426 > > │ 00:00:10 verbose #269 > > LanguageElement (Pragmatic │ 00:00:16 verbose #427 > > │ (UseContext "Declaração de uma ação sendo │ 00:00:16 verbose #428 > > │ 00:00:10 verbose #270 > > observada")) │ 00:00:16 verbose #429 > > │ 00:00:10 verbose #271 > > ]] │ 00:00:16 verbose #430 > > │ 00:00:10 verbose #272 > > ) │ 00:00:16 verbose #431 > > │ 00:00:10 verbose #273 > > │ 00:00:16 verbose #432 > > │ 00:00:10 verbose #274 > > let testKorean = │ 00:00:16 verbose #433 > > │ 00:00:10 verbose #275 > > Model( │ 00:00:16 verbose #434 > > │ 00:00:10 verbose #276 > > DiscourseUnit [[ │ 00:00:16 verbose #435 > > │ 00:00:10 verbose #277 > > LanguageElement (Phonological │ 00:00:16 verbose #436 > > │ (ConsonantFeature (Alveolar, Nasal, │ 00:00:16 verbose #437 > > │ 00:00:10 verbose #278 > > Voiced, Some(Short)))); │ 00:00:16 verbose #438 > > │ 00:00:10 verbose #279 > > LanguageElement (Phonological │ 00:00:16 verbose #439 > > │ (VowelFeature (High, Back, Rounded, │ 00:00:16 verbose #440 > > │ 00:00:10 verbose #280 > > None, None, Some(Short)))); │ 00:00:16 verbose #441 > > │ 00:00:10 verbose #281 > > LanguageElement (Phonological │ 00:00:16 verbose #442 > > │ (VowelFeature (Mid, Front, Unrounded, │ 00:00:16 verbose #443 > > │ 00:00:10 verbose #282 > > None, None, Some(Long)))); │ 00:00:16 verbose #444 > > │ 00:00:10 verbose #283 > > LanguageElement (Phonological │ 00:00:16 verbose #445 > > │ (ConsonantFeature (Bilabial, Plosive, │ 00:00:16 verbose #446 > > │ 00:00:10 verbose #284 > > Voiceless, Some(Short)))); │ 00:00:16 verbose #447 > > │ 00:00:10 verbose #285 > > LanguageElement (Morphological │ 00:00:16 verbose #448 > > │ (RootFeature "나")); │ 00:00:16 verbose #449 > > │ 00:00:10 verbose #286 > > LanguageElement (Morphological │ 00:00:16 verbose #450 > > │ (RootFeature "보다")); │ 00:00:16 verbose #451 > > │ 00:00:10 verbose #287 > > LanguageElement (Morphological │ 00:00:16 verbose #452 > > │ (AffixFeature (Suffix, "아"))); │ 00:00:16 verbose #453 > > │ 00:00:10 verbose #288 > > LanguageElement (Morphological │ 00:00:16 verbose #454 > > │ (RootFeature "고양이")); │ 00:00:16 verbose #455 > > │ 00:00:10 verbose #289 > > LanguageElement (Syntactic │ 00:00:16 verbose #456 > > │ (PhraseFeature (NP, [[WordFeature │ 00:00:16 verbose #457 > > │ 00:00:10 verbose #290 > > ([[RootFeature "나"]], Pronoun)]]))); │ 00:00:16 verbose #458 > > │ 00:00:10 verbose #291 > > LanguageElement (Syntactic │ 00:00:16 verbose #459 > > │ (PhraseFeature (VP, [[WordFeature │ 00:00:16 verbose #460 > > │ 00:00:10 verbose #292 > > ([[RootFeature "보다"; AffixFeature (Suffix, │ 00:00:16 verbose #461 > > │ "아")]], Verb)]]))); │ 00:00:16 verbose #462 > > │ 00:00:10 verbose #293 > > LanguageElement (Syntactic │ 00:00:16 verbose #463 > > │ (PhraseFeature (NP, [[WordFeature │ 00:00:16 verbose #464 > > │ 00:00:10 verbose #294 > > ([[RootFeature "고양이"]], Noun)]]))); │ 00:00:16 verbose #465 > > │ 00:00:10 verbose #295 > > LanguageElement (Semantic │ 00:00:16 verbose #466 > > │ (Meaning "화자에 의한 고양이의 관찰 │ 00:00:16 verbose #467 > > │ 00:00:10 verbose #296 > > 행위")); │ 00:00:16 verbose #468 > > │ 00:00:10 verbose #297 > > LanguageElement (Pragmatic │ 00:00:16 verbose #469 > > │ (UseContext "관찰되고 있는 행동의 진술")) │ 00:00:16 verbose #470 > > │ 00:00:10 verbose #298 > > ]] │ 00:00:16 verbose #471 > > │ 00:00:10 verbose #299 > > ) │ 00:00:16 verbose #472 > > │ 00:00:10 verbose #300 > > │ 00:00:16 verbose #473 > > │ 00:00:10 verbose #301 > > ── markdown │ 00:00:16 verbose #474 > > │ ──────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #475 > > │ 00:00:10 verbose #302 > > 38;5;2m│ 00:00:16 verbose #476 > > │ 38;5;103m╭────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #477 > > │ ────────────╮ │ 00:00:16 verbose #478 > > │ 00:00:10 verbose #303 > > │ ## main │ 00:00:16 verbose #479 > > │ │ │ 00:00:16 verbose #480 > > │ 00:00:10 verbose #304 > > 38;5;2m│ 00:00:16 verbose #481 > > │ 38;5;103m╰────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #482 > > │ ────────────╯ │ 00:00:16 verbose #483 > > │ 00:00:10 verbose #305 > > │ 00:00:16 verbose #484 > > │ 00:00:10 verbose #306 > > ── spiral │ 00:00:16 verbose #485 > > │ ────────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #486 > > │ 00:00:10 verbose #307 > > inl main (_args : array_base string) = │ 00:00:16 verbose #487 > > │ 00:00:10 verbose #308 > > 0i32 │ 00:00:16 verbose #488 > > │ 00:00:10 verbose #309 > > │ 00:00:16 verbose #489 > > │ 00:00:10 verbose #310 > > inl main () = │ 00:00:16 verbose #490 > > │ 00:00:10 verbose #311 > > $'let main args = !main args' : () │ 00:00:16 verbose #491 > > │ 00:00:10 verbose #312 > > │ 00:00:16 verbose #492 > > │ 00:00:10 verbose #313 > > ── spiral │ 00:00:16 verbose #493 > > │ ────────────────────────────────────────────────────────────────────── │ 00:00:16 verbose #494 > > │ 00:00:10 verbose #314 > > inl app () = │ 00:00:16 verbose #495 > > │ 00:00:10 verbose #315 > > "test" |> console.write_line │ 00:00:16 verbose #496 > > │ 00:00:10 verbose #316 > > 0i32 │ 00:00:16 verbose #497 > > │ 00:00:10 verbose #317 > > │ 00:00:16 verbose #498 > > │ 00:00:10 verbose #318 > > inl main () = │ 00:00:16 verbose #499 > > │ 00:00:10 verbose #319 > > print_static "<test>" │ 00:00:16 verbose #500 > > │ 00:00:10 verbose #320 > > │ 00:00:16 verbose #501 > > │ 00:00:10 verbose #321 > > app │ 00:00:16 verbose #502 > > │ 00:00:10 verbose #322 > > |> dyn │ 00:00:16 verbose #503 > > │ 00:00:10 verbose #323 > > |> ignore │ 00:00:16 verbose #504 > > │ 00:00:10 verbose #324 > > │ 00:00:16 verbose #505 > > │ 00:00:10 verbose #325 > > print_static "</test>" │ 00:00:16 verbose #506 > > │ 00:00:11 verbose #326 > 00:00:10 verbose #3 │ 00:00:16 verbose #507 > > │ runtime.execute_with_options / result / { exit_code = 0; std_trace_length = │ 00:00:16 verbose #508 > > │ 11263 } │ 00:00:16 verbose #509 > > │ 00:00:11 verbose #327 > 00:00:10 debug #4 │ 00:00:16 verbose #510 > > │ runtime.execute_with_options / { file_name = jupyter; arguments = [ │ 00:00:16 verbose #511 > > │ "nbconvert", │ 00:00:16 verbose #512 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb", │ 00:00:16 verbose #513 > > │ "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter │ 00:00:16 verbose #514 > > │ nbconvert │ 00:00:16 verbose #515 > > │ "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb" │ 00:00:16 verbose #516 > > │ --to html --HTMLExporter.theme=dark; cancellation_token = None; │ 00:00:16 verbose #517 > > │ environment_variables = Array(MutCell([])); on_line = None; stdin = None; │ 00:00:16 verbose #518 > > │ trace = true; working_directory = None } } │ 00:00:16 verbose #519 > > │ 00:00:11 verbose #328 > 00:00:11 verbose #5 ! [NbConvertApp] │ 00:00:16 verbose #520 > > │ Converting notebook │ 00:00:16 verbose #521 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.ipynb to │ 00:00:16 verbose #522 > > │ html │ 00:00:16 verbose #523 > > │ 00:00:11 verbose #329 > 00:00:11 verbose #6 ! │ 00:00:16 verbose #524 > > │ /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat │ 00:00:16 verbose #525 > > │ /__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this │ 00:00:16 verbose #526 > > │ will become a hard error in future nbformat versions. You may want to use │ 00:00:16 verbose #527 > > │ `normalize()` on your notebooks before validations (available since nbformat │ 00:00:16 verbose #528 > > │ 5.1.4). Previous versions of nbformat are fixing this issue transparently, │ 00:00:16 verbose #529 > > │ and will stop doing so in the future. │ 00:00:16 verbose #530 > > │ 00:00:11 verbose #330 > 00:00:11 verbose #7 ! validate(nb) │ 00:00:16 verbose #531 > > │ 00:00:12 verbose #331 > 00:00:11 verbose #8 ! │ 00:00:16 verbose #532 > > │ /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconver │ 00:00:16 verbose #533 > > │ t/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling │ 00:00:16 verbose #534 > > │ back on Python 3 │ 00:00:16 verbose #535 > > │ 00:00:12 verbose #332 > 00:00:11 verbose #9 ! return │ 00:00:16 verbose #536 > > │ _pygments_highlight( │ 00:00:16 verbose #537 > > │ 00:00:12 verbose #333 > 00:00:12 verbose #10 ! [NbConvertApp] │ 00:00:16 verbose #538 > > │ Writing 318991 bytes to │ 00:00:16 verbose #539 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.html │ 00:00:16 verbose #540 > > │ 00:00:12 verbose #334 > 00:00:12 verbose #11 │ 00:00:16 verbose #541 > > │ runtime.execute_with_options / result / { exit_code = 0; std_trace_length = │ 00:00:16 verbose #542 > > │ 914 } │ 00:00:16 verbose #543 > > │ 00:00:12 verbose #335 > 00:00:12 debug #12 spiral_builder.run / │ 00:00:16 verbose #544 > > │ dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 914 } │ 00:00:16 verbose #545 > > │ 00:00:12 verbose #336 > 00:00:12 debug #13 │ 00:00:16 verbose #546 > > │ runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", │ 00:00:16 verbose #547 > > │ "$counter = 1; $path = │ 00:00:16 verbose #548 > > │ '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.html'; │ 00:00:16 verbose #549 > > │ (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { │ 00:00:16 verbose #550 > > │ $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command │ 00:00:16 verbose #551 > > │ = pwsh -c "$counter = 1; $path = │ 00:00:16 verbose #552 > > │ '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.dib.html'; │ 00:00:16 verbose #553 > > │ (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { │ 00:00:16 verbose #554 > > │ $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = │ 00:00:16 verbose #555 > > │ None; environment_variables = Array(MutCell([])); on_line = None; stdin = │ 00:00:16 verbose #556 > > │ None; trace = true; working_directory = None } } │ 00:00:16 verbose #557 > > │ 00:00:13 verbose #337 > 00:00:12 verbose #14 │ 00:00:16 verbose #558 > > │ runtime.execute_with_options / result / { exit_code = 0; std_trace_length = │ 00:00:16 verbose #559 > > │ 0 } │ 00:00:16 verbose #560 > > │ 00:00:13 verbose #338 > 00:00:12 debug #15 spiral_builder.run / │ 00:00:16 verbose #561 > > │ dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } │ 00:00:16 verbose #562 > > │ 00:00:13 verbose #339 > 00:00:12 debug #16 spiral_builder.run / │ 00:00:16 verbose #563 > > │ dib / { exit_code = 0; result_length = 12236 } │ 00:00:16 verbose #564 > > │ 00:00:13 debug #340 runtime.execute_with_options_async / { exit_code │ 00:00:16 verbose #565 > > │ = 0; output_length = 15733 } │ 00:00:16 verbose #566 > > │ 00:00:13 debug #1 main / executeCommand / exitCode: 0 / command: │ 00:00:16 verbose #567 > > │ ../../../../workspace/target/release/spiral_builder dib --path test.dib │ 00:00:16 verbose #568 > > │ --retries 3 │ 00:00:16 verbose #569 > > │ │ 00:00:16 verbose #570 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #571 > > 00:00:16 verbose #572 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:16 verbose #573 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:16 verbose #574 > > │ ### parse the .dib file into .spi format with dibparser │ 00:00:16 verbose #575 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:16 verbose #576 > > 00:00:16 verbose #577 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:16 verbose #578 > > { . ../../../../apps/parser/dist/DibParser$(_exe) test.dib spi } | Invoke-Block 00:00:17 verbose #579 > > 00:00:17 verbose #580 > > ╭─[ 409.31ms - stdout ]────────────────────────────────────────────────────────╮ 00:00:17 verbose #581 > > │ 00:00:00 debug #1 writeDibCode / output: Spi / path: test.dib │ 00:00:17 verbose #582 > > │ 00:00:00 debug #2 parseDibCode / output: Spi / file: test.dib │ 00:00:17 verbose #583 > > │ │ 00:00:17 verbose #584 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #585 > > 00:00:17 verbose #586 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:17 verbose #587 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:17 verbose #588 > > │ ### build .fsx file from .spi using supervisor │ 00:00:17 verbose #589 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:17 verbose #590 > > 00:00:17 verbose #591 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:17 verbose #592 > > { . ../../../../apps/spiral/dist/Supervisor$(_exe) --build-file test.spi 00:00:17 verbose #593 > > test.fsx } | Invoke-Block 00:00:18 verbose #594 > 00:00:17 debug #8 Supervisor.supervisor_server.BuildFile / file: /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.spi 00:00:18 verbose #595 > <test> 00:00:18 verbose #596 > </test> 00:00:18 verbose #597 > > 00:00:18 verbose #598 > > ╭─[ 1.16s - stdout ]───────────────────────────────────────────────────────────╮ 00:00:18 verbose #599 > > │ 00:00:00 verbose #1 networking.test_port_open / { port = 13806; ex = │ 00:00:18 verbose #600 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:00:18 verbose #601 > > │ } │ 00:00:18 verbose #602 > > │ 00:00:00 verbose #2 networking.test_port_open / { port = 13806; ex = │ 00:00:18 verbose #603 > > │ System.AggregateException: One or more errors occurred. (Connection refused) │ 00:00:18 verbose #604 > > │ } │ 00:00:18 verbose #605 > > │ 00:00:00 debug #1 Supervisor.buildFile / takeWhileInclusive / │ 00:00:18 verbose #606 > > │ outputContent: │ 00:00:18 verbose #607 > > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: test.spi │ 00:00:18 verbose #608 > > │ 00:00:00 debug #2 Supervisor.buildFile / AsyncSeq.scan / │ 00:00:18 verbose #609 > > │ outputContent: │ 00:00:18 verbose #610 > > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ 00:00:18 verbose #611 > > │ error: / path: test.spi │ 00:00:18 verbose #612 > > │ 00:00:00 debug #3 Supervisor.buildFile / takeWhileInclusive / │ 00:00:18 verbose #613 > > │ outputContent: │ 00:00:18 verbose #614 > > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: test.spi │ 00:00:18 verbose #615 > > │ 00:00:00 verbose #4 Supervisor.sendJson / port: 13805 / json: │ 00:00:18 verbose #616 > > │ {"FileOpen":{"spiText":"/// # test (Polyglot)\nnominal i = ()\nnominal e = │ 00:00:18 verbose #617 > > │ ()\nnominal s = │ 00:00:18 verbose #618 > > │ ()\nnomin...t\u003E\u0022\n","uri":"file:///home/runner/work/polyglot/polygl │ 00:00:18 verbose #619 > > │ ot/apps/spiral/temp/test/test.spi"}} / result: │ 00:00:18 verbose #620 > > │ 00:00:00 verbose #5 Supervisor.sendJson / port: 13805 / json: │ 00:00:18 verbose #621 > > │ {"BuildFile":{"backend":"Fsharp","uri":"file:///home/runner/work/polyglot/po │ 00:00:18 verbose #622 > > │ lyglot/apps/spiral/temp/test/test.spi"}} / result: │ 00:00:18 verbose #623 > > │ 00:00:01 debug #6 Supervisor.buildFile / AsyncSeq.scan / │ 00:00:18 verbose #624 > > │ outputContent: │ 00:00:18 verbose #625 > > │ let rec closure0 () () : int32 = │ 00:00:18 verbose #626 > > │ let v2 : (string -> unit) = System.Console.WriteLine │ 00:00:18 verbose #627 > > │ let v3 : string = "test" │ 00:00:18 verbose #628 > > │ v2 v3 │ 00:00:18 verbose #629 > > │ 0 │ 00:00:18 verbose #630 > > │ let v0 : (unit -> int32) = closure0() │ 00:00:18 verbose #631 > > │ () │ 00:00:18 verbose #632 > > │ / errors: [] / outputContentResult: / typeErrorCount: 0 / retry: 0 / │ 00:00:18 verbose #633 > > │ error: / path: test.spi │ 00:00:18 verbose #634 > > │ 00:00:01 debug #7 Supervisor.buildFile / takeWhileInclusive / │ 00:00:18 verbose #635 > > │ outputContent: │ 00:00:18 verbose #636 > > │ let rec closure0 () () : int32 = │ 00:00:18 verbose #637 > > │ let v2 : (string -> unit) = System.Console.WriteLine │ 00:00:18 verbose #638 > > │ let v3 : string = "test" │ 00:00:18 verbose #639 > > │ v2 v3 │ 00:00:18 verbose #640 > > │ 0 │ 00:00:18 verbose #641 > > │ let v0 : (unit -> int32) = closure0() │ 00:00:18 verbose #642 > > │ () │ 00:00:18 verbose #643 > > │ / errors: [] / typeErrorCount: 0 / retry: 0 / path: test.spi │ 00:00:18 verbose #644 > > │ 00:00:01 debug #8 FileSystem.watchWithFilter / Disposing watch stream │ 00:00:18 verbose #645 > > │ / filter: FileName, LastWrite │ 00:00:18 verbose #646 > > │ │ 00:00:18 verbose #647 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:18 verbose #648 > > 00:00:18 verbose #649 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:18 verbose #650 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:18 verbose #651 > > │ ## compile and format the project │ 00:00:18 verbose #652 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:18 verbose #653 > > 00:00:18 verbose #654 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:18 verbose #655 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:18 verbose #656 > > │ ### compile project with fable targeting optimized rust │ 00:00:18 verbose #657 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:18 verbose #658 > > 00:00:18 verbose #659 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:18 verbose #660 > > dotnet fable --optimize --lang rs --extension .rs 00:00:25 verbose #661 > > 00:00:25 verbose #662 > > ╭─[ 6.86s - stdout ]───────────────────────────────────────────────────────────╮ 00:00:25 verbose #663 > > │ Fable 4.19.3: F# to Rust compiler (status: alpha) │ 00:00:25 verbose #664 > > │ │ 00:00:25 verbose #665 > > │ Thanks to the contributor! @dgchurchill │ 00:00:25 verbose #666 > > │ Stand with Ukraine! https://standwithukraine.com.ua/ │ 00:00:25 verbose #667 > > │ │ 00:00:25 verbose #668 > > │ Parsing test.fsproj... │ 00:00:25 verbose #669 > > │ .> dotnet restore test.fable-temp.csproj -p:FABLE_COMPILER=true │ 00:00:25 verbose #670 > > │ -p:FABLE_COMPILER_4=true -p:FABLE_COMPILER_RUST=true │ 00:00:25 verbose #671 > > │ Determining projects to restore... │ 00:00:25 verbose #672 > > │ Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ 00:00:25 verbose #673 > > │ The last full restore is still up to date. Nothing left to do. │ 00:00:25 verbose #674 > > │ Total time taken: 0 milliseconds │ 00:00:25 verbose #675 > > │ Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b │ 00:00:25 verbose #676 > > │ Restoring │ 00:00:25 verbose #677 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fable-temp.cs │ 00:00:25 verbose #678 > > │ proj │ 00:00:25 verbose #679 > > │ Starting restore process. │ 00:00:25 verbose #680 > > │ Total time taken: 0 milliseconds │ 00:00:25 verbose #681 > > │ Restored │ 00:00:25 verbose #682 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fable-temp.cs │ 00:00:25 verbose #683 > > │ proj (in 311 ms). │ 00:00:25 verbose #684 > > │ .> dotnet restore │ 00:00:25 verbose #685 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fsproj │ 00:00:25 verbose #686 > > │ Determining projects to restore... │ 00:00:25 verbose #687 > > │ Restored │ 00:00:25 verbose #688 > > │ /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/test.fsproj (in │ 00:00:25 verbose #689 > > │ 261 ms). │ 00:00:25 verbose #690 > > │ Project and references (1 source files) parsed in 4798ms │ 00:00:25 verbose #691 > > │ │ 00:00:25 verbose #692 > > │ Started Fable compilation... │ 00:00:25 verbose #693 > > │ │ 00:00:25 verbose #694 > > │ Fable compilation finished in 1014ms │ 00:00:25 verbose #695 > > │ │ 00:00:25 verbose #696 > > │ ./test.fsx(7,0): (7,2) warning FABLE: For Rust, support for F# static and │ 00:00:25 verbose #697 > > │ module do bindings is disabled by default. It can be enabled with the │ 00:00:25 verbose #698 > > │ 'static_do_bindings' feature. Use at your own risk! │ 00:00:25 verbose #699 > > │ │ 00:00:25 verbose #700 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:25 verbose #701 > > 00:00:25 verbose #702 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:25 verbose #703 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:25 verbose #704 > > │ ### fix formatting issues in the .rs file using regex and set-content │ 00:00:25 verbose #705 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:25 verbose #706 > > 00:00:25 verbose #707 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:25 verbose #708 > > (Get-Content test.rs) ` 00:00:25 verbose #709 > > -replace [[regex]]::Escape("),);"), "));" ` 00:00:25 verbose #710 > > | FixRust ` 00:00:25 verbose #711 > > | Set-Content test.rs 00:00:25 verbose #712 > > 00:00:25 verbose #713 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:25 verbose #714 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:25 verbose #715 > > │ ### format the rust code using cargo fmt │ 00:00:25 verbose #716 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:25 verbose #717 > > 00:00:25 verbose #718 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:25 verbose #719 > > cargo fmt -- 00:00:25 verbose #720 > > 00:00:25 verbose #721 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:25 verbose #722 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:25 verbose #723 > > │ ## build and test the project │ 00:00:25 verbose #724 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:25 verbose #725 > > 00:00:25 verbose #726 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:25 verbose #727 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:25 verbose #728 > > │ ### build the project in release mode using nightly rust compiler │ 00:00:25 verbose #729 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:25 verbose #730 > > 00:00:25 verbose #731 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:25 verbose #732 > > cargo +nightly build --release 00:00:35 verbose #733 > > 00:00:35 verbose #734 > > ╭─[ 10.13s - stdout ]──────────────────────────────────────────────────────────╮ 00:00:35 verbose #735 > > │ Compiling linux-raw-sys v0.4.14 │ 00:00:35 verbose #736 > > │ Compiling rand_core v0.6.4 │ 00:00:35 verbose #737 > > │ Compiling num-traits v0.2.19 │ 00:00:35 verbose #738 > > │ Compiling syn v2.0.70 │ 00:00:35 verbose #739 > > │ Compiling rand_chacha v0.3.1 │ 00:00:35 verbose #740 > > │ Compiling libm v0.2.8 │ 00:00:35 verbose #741 > > │ Compiling rustix v0.38.34 │ 00:00:35 verbose #742 > > │ Compiling wait-timeout v0.2.0 │ 00:00:35 verbose #743 > > │ Compiling quick-error v1.2.3 │ 00:00:35 verbose #744 > > │ Compiling bit-vec v0.6.3 │ 00:00:35 verbose #745 > > │ Compiling bit-set v0.5.3 │ 00:00:35 verbose #746 > > │ Compiling rand v0.8.5 │ 00:00:35 verbose #747 > > │ Compiling rand_xorshift v0.3.0 │ 00:00:35 verbose #748 > > │ Compiling memchr v2.7.4 │ 00:00:35 verbose #749 > > │ Compiling unarray v0.1.4 │ 00:00:35 verbose #750 > > │ Compiling lazy_static v1.5.0 │ 00:00:35 verbose #751 > > │ Compiling fable_library_rust v0.1.0 │ 00:00:35 verbose #752 > > │ (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-libr │ 00:00:35 verbose #753 > > │ ary-rust) │ 00:00:35 verbose #754 > > │ Compiling tempfile v3.10.1 │ 00:00:35 verbose #755 > > │ Compiling nom v7.1.3 │ 00:00:35 verbose #756 > > │ Compiling thiserror-impl v1.0.61 │ 00:00:35 verbose #757 > > │ Compiling rusty-fork v0.3.0 │ 00:00:35 verbose #758 > > │ Compiling proptest v1.4.0 │ 00:00:35 verbose #759 > > │ Compiling thiserror v1.0.61 │ 00:00:35 verbose #760 > > │ Compiling spiral_temp_test v0.0.1 │ 00:00:35 verbose #761 > > │ (/home/runner/work/polyglot/polyglot/apps/spiral/temp/test) │ 00:00:35 verbose #762 > > │ warning: enum `Item` is never used │ 00:00:35 verbose #763 > > │ --> 38;5;2m│ 00:00:35 verbose #764 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:16:638;5;2m│ 00:00:35 verbose #765 > > │ 0m │ 00:00:35 verbose #766 > > │ | │ 00:00:35 verbose #767 > > │ 16 | enum Item { │ 00:00:35 verbose #768 > > │ | ^^^^ │ 00:00:35 verbose #769 > > │ | │ 00:00:35 verbose #770 > > │ = note: `#[warn(dead_code)]` on by default38;5;2m│ 00:00:35 verbose #771 > > │ 0m │ 00:00:35 verbose #772 > > │ │ 00:00:35 verbose #773 > > │ warning: struct `Cart` is never constructed │ 00:00:35 verbose #774 > > │ --> 38;5;2m│ 00:00:35 verbose #775 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:41:838;5;2m│ 00:00:35 verbose #776 > > │ 0m │ 00:00:35 verbose #777 > > │ | │ 00:00:35 verbose #778 > > │ 41 | struct Cart { │ 00:00:35 verbose #779 > > │ | ^^^^ │ 00:00:35 verbose #780 > > │ │ 00:00:35 verbose #781 > > │ warning: associated items `new`, `add_item`, and │ 00:00:35 verbose #782 > > │ `remove_item` are never used │ 00:00:35 verbose #783 > > │ --> 38;5;2m│ 00:00:35 verbose #784 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:46:838;5;2m│ 00:00:35 verbose #785 > > │ 0m │ 00:00:35 verbose #786 > > │ | │ 00:00:35 verbose #787 > > │ 45 | impl Cart { │ 00:00:35 verbose #788 > > │ | --------- 38;5;2m│ 00:00:35 verbose #789 > > │ 38;5;12massociated items in this implementation │ 00:00:35 verbose #790 > > │ 46 | fn new() -> Cart { │ 00:00:35 verbose #791 > > │ | ^^^ │ 00:00:35 verbose #792 > > │ ... │ 00:00:35 verbose #793 > > │ 50 | fn add_item(&mut self, │ 00:00:35 verbose #794 > > │ item: Item) { │ 00:00:35 verbose #795 > > │ | ^^^^^^^^ │ 00:00:35 verbose #796 > > │ ... │ 00:00:35 verbose #797 > > │ 56 | fn remove_item(&mut │ 00:00:35 verbose #798 > > │ self, item: &Item) { │ 00:00:35 verbose #799 > > │ | ^^^^^^^^^^^ │ 00:00:35 verbose #800 > > │ │ 00:00:35 verbose #801 > > │ warning: function `parse_comment` is never used │ 00:00:35 verbose #802 > > │ --> 38;5;2m│ 00:00:35 verbose #803 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:124:4 │ 00:00:35 verbose #804 > > │ [0m │ 00:00:35 verbose #805 > > │ | │ 00:00:35 verbose #806 > > │ 124 | fn parse_comment(input: │ 00:00:35 verbose #807 > > │ &str) -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #808 > > │ | ^^^^^^^^^^^^^ │ 00:00:35 verbose #809 > > │ │ 00:00:35 verbose #810 > > │ warning: function `parse_string` is never used │ 00:00:35 verbose #811 > > │ --> 38;5;2m│ 00:00:35 verbose #812 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:130:4 │ 00:00:35 verbose #813 > > │ [0m │ 00:00:35 verbose #814 > > │ | │ 00:00:35 verbose #815 > > │ 130 | fn parse_string(input: │ 00:00:35 verbose #816 > > │ &str) -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #817 > > │ | ^^^^^^^^^^^^ │ 00:00:35 verbose #818 > > │ │ 00:00:35 verbose #819 > > │ warning: function `parse_identifier` is never used │ 00:00:35 verbose #820 > > │ --> 38;5;2m│ 00:00:35 verbose #821 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:145:4 │ 00:00:35 verbose #822 > > │ [0m │ 00:00:35 verbose #823 > > │ | │ 00:00:35 verbose #824 > > │ 145 | fn parse_identifier(input: │ 00:00:35 verbose #825 > > │ &str) -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #826 > > │ | ^^^^^^^^^^^^^^^^ │ 00:00:35 verbose #827 > > │ │ 00:00:35 verbose #828 > > │ warning: function `parse_integer` is never used │ 00:00:35 verbose #829 > > │ --> 38;5;2m│ 00:00:35 verbose #830 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:157:4 │ 00:00:35 verbose #831 > > │ [0m │ 00:00:35 verbose #832 > > │ | │ 00:00:35 verbose #833 > > │ 157 | fn parse_integer(input: │ 00:00:35 verbose #834 > > │ &str) -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #835 > > │ | ^^^^^^^^^^^^^ │ 00:00:35 verbose #836 > > │ │ 00:00:35 verbose #837 > > │ warning: function `parse_operator` is never used │ 00:00:35 verbose #838 > > │ --> 38;5;2m│ 00:00:35 verbose #839 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:165:4 │ 00:00:35 verbose #840 > > │ [0m │ 00:00:35 verbose #841 > > │ | │ 00:00:35 verbose #842 > > │ 165 | fn parse_operator(input: │ 00:00:35 verbose #843 > > │ &str) -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #844 > > │ | ^^^^^^^^^^^^^^ │ 00:00:35 verbose #845 > > │ │ 00:00:35 verbose #846 > > │ warning: function `parse_token` is never used │ 00:00:35 verbose #847 > > │ --> 38;5;2m│ 00:00:35 verbose #848 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:170:4 │ 00:00:35 verbose #849 > > │ [0m │ 00:00:35 verbose #850 > > │ | │ 00:00:35 verbose #851 > > │ 170 | fn parse_token(input: &str) │ 00:00:35 verbose #852 > > │ -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #853 > > │ | ^^^^^^^^^^^ │ 00:00:35 verbose #854 > > │ │ 00:00:35 verbose #855 > > │ warning: function `format_token` is never used │ 00:00:35 verbose #856 > > │ --> 38;5;2m│ 00:00:35 verbose #857 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:180:4 │ 00:00:35 verbose #858 > > │ [0m │ 00:00:35 verbose #859 > > │ | │ 00:00:35 verbose #860 > > │ 180 | fn format_token(token: │ 00:00:35 verbose #861 > > │ &SpiralToken) -> String { │ 00:00:35 verbose #862 > > │ | ^^^^^^^^^^^^ │ 00:00:35 verbose #863 > > │ │ 00:00:35 verbose #864 > > │ warning: function `parse_expression` is never used │ 00:00:35 verbose #865 > > │ --> 38;5;2m│ 00:00:35 verbose #866 > > │ 0m/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/./main.rs:201:4 │ 00:00:35 verbose #867 > > │ [0m │ 00:00:35 verbose #868 > > │ | │ 00:00:35 verbose #869 > > │ 201 | fn parse_expression(input: │ 00:00:35 verbose #870 > > │ &str) -> IResult<&str, SpiralToken> { │ 00:00:35 verbose #871 > > │ | ^^^^^^^^^^^^^^^^ │ 00:00:35 verbose #872 > > │ │ 00:00:35 verbose #873 > > │ warning: `spiral_temp_test` (bin "spiral_temp_test") │ 00:00:35 verbose #874 > > │ generated 11 warnings │ 00:00:35 verbose #875 > > │ Finished `release` profile [optimized] target(s) in 10.10s │ 00:00:35 verbose #876 > > │ │ 00:00:35 verbose #877 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #878 > > 00:00:35 verbose #879 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:35 verbose #880 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:35 verbose #881 > > │ ### run release tests with output enabled │ 00:00:35 verbose #882 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:35 verbose #883 > > 00:00:35 verbose #884 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:35 verbose #885 > > { cargo +nightly test --release -- --show-output } | Invoke-Block 00:00:51 verbose #886 > > 00:00:51 verbose #887 > > ╭─[ 15.57s - stdout ]──────────────────────────────────────────────────────────╮ 00:00:51 verbose #888 > > │ Compiling bitflags v2.6.0 │ 00:00:51 verbose #889 > > │ Compiling linux-raw-sys v0.4.14 │ 00:00:51 verbose #890 > > │ Compiling fastrand v2.1.0 │ 00:00:51 verbose #891 > > │ Compiling wait-timeout v0.2.0 │ 00:00:51 verbose #892 > > │ Compiling bit-vec v0.6.3 │ 00:00:51 verbose #893 > > │ Compiling fnv v1.0.7 │ 00:00:51 verbose #894 > > │ Compiling quick-error v1.2.3 │ 00:00:51 verbose #895 > > │ Compiling num-traits v0.2.19 │ 00:00:51 verbose #896 > > │ Compiling bit-set v0.5.3 │ 00:00:51 verbose #897 > > │ Compiling rand v0.8.5 │ 00:00:51 verbose #898 > > │ Compiling rustix v0.38.34 │ 00:00:51 verbose #899 > > │ Compiling rand_xorshift v0.3.0 │ 00:00:51 verbose #900 > > │ Compiling minimal-lexical v0.2.1 │ 00:00:51 verbose #901 > > │ Compiling unarray v0.1.4 │ 00:00:51 verbose #902 > > │ Compiling memchr v2.7.4 │ 00:00:51 verbose #903 > > │ Compiling fable_library_rust v0.1.0 │ 00:00:51 verbose #904 > > │ (/home/runner/work/polyglot/polyglot/lib/rust/fable/fable_modules/fable-libr │ 00:00:51 verbose #905 > > │ ary-rust) │ 00:00:51 verbose #906 > > │ Compiling thiserror v1.0.61 │ 00:00:51 verbose #907 > > │ Compiling nom v7.1.3 │ 00:00:51 verbose #908 > > │ Compiling tempfile v3.10.1 │ 00:00:51 verbose #909 > > │ Compiling rusty-fork v0.3.0 │ 00:00:51 verbose #910 > > │ Compiling proptest v1.4.0 │ 00:00:51 verbose #911 > > │ Compiling spiral_temp_test v0.0.1 │ 00:00:51 verbose #912 > > │ (/home/runner/work/polyglot/polyglot/apps/spiral/temp/test) │ 00:00:51 verbose #913 > > │ Finished `release` profile [optimized] target(s) in 15.47s │ 00:00:51 verbose #914 > > │ Running unittests main.rs │ 00:00:51 verbose #915 > > │ (/home/runner/work/polyglot/polyglot/workspace/target/release/deps/spiral_te │ 00:00:51 verbose #916 > > │ mp_test-9729c70fad95199d) │ 00:00:51 verbose #917 > > │ │ 00:00:51 verbose #918 > > │ running 3 tests │ 00:00:51 verbose #919 > > │ test test_parse_number ... ok │ 00:00:51 verbose #920 > > │ test prop_parse_format_idempotent ... ok │ 00:00:51 verbose #921 > > │ test │ 00:00:51 verbose #922 > > │ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged ... │ 00:00:51 verbose #923 > > │ ok │ 00:00:51 verbose #924 > > │ │ 00:00:51 verbose #925 > > │ successes: │ 00:00:51 verbose #926 > > │ │ 00:00:51 verbose #927 > > │ ---- prop_parse_format_idempotent stdout ---- │ 00:00:51 verbose #928 > > │ input=Integer(-5419300434446937872) │ 00:00:51 verbose #929 > > │ input=Operator("=") │ 00:00:51 verbose #930 > > │ input=Identifier("H0QthNT4oCjEhx5B75991cbzIC8sg0o") │ 00:00:51 verbose #931 > > │ input=Integer(-7711043169127226769) │ 00:00:51 verbose #932 > > │ input=Operator("/") │ 00:00:51 verbose #933 > > │ input=Comment("$eT>+q`3{|ykA./??&>&") │ 00:00:51 verbose #934 > > │ input=Operator("-") │ 00:00:51 verbose #935 > > │ input=Integer(2525758468579450166) │ 00:00:51 verbose #936 > > │ input=StringLiteral("k/`") │ 00:00:51 verbose #937 > > │ input=StringLiteral("t&f#w7&|T{u.0<uU0QC..K')=N&$") │ 00:00:51 verbose #938 > > │ input=Integer(80573006180038212) │ 00:00:51 verbose #939 > > │ input=StringLiteral("`1t%0qS@l'r^;xG'K?{") │ 00:00:51 verbose #940 > > │ input=Operator(")") │ 00:00:51 verbose #941 > > │ input=StringLiteral("A?") │ 00:00:51 verbose #942 > > │ input=Operator("=") │ 00:00:51 verbose #943 > > │ input=Integer(-7059856423083336699) │ 00:00:51 verbose #944 > > │ input=Comment("SIp0") │ 00:00:51 verbose #945 > > │ input=Operator(")") │ 00:00:51 verbose #946 > > │ input=StringLiteral("$AY]bwgi8.`Lstqt({FS'@O") │ 00:00:51 verbose #947 > > │ input=StringLiteral("{#$|%#v") │ 00:00:51 verbose #948 > > │ input=Integer(-2817708970610950379) │ 00:00:51 verbose #949 > > │ input=Operator("+") │ 00:00:51 verbose #950 > > │ input=StringLiteral("?@q8eN=w q<c$/@?).m`E$l&") │ 00:00:51 verbose #951 > > │ input=Identifier("To5nLbIdeYEUhz22i2TIdcnX3V4BLS0L") │ 00:00:51 verbose #952 > > │ input=Operator("-") │ 00:00:51 verbose #953 > > │ input=Integer(-7339791821463065574) │ 00:00:51 verbose #954 > > │ input=Comment("`<x_s$.9`&SUqY8p=cMc\\w3&vJM\\m") │ 00:00:51 verbose #955 > > │ input=Operator("/") │ 00:00:51 verbose #956 > > │ input=Integer(1606941758251742833) │ 00:00:51 verbose #957 > > │ input=Identifier("oufCGgzGG022i") │ 00:00:51 verbose #958 > > │ input=Comment("(-Iov?X*Y{K749{2F&py*c^'=A\\-<") │ 00:00:51 verbose #959 > > │ input=Comment("DB<zfdyJ") │ 00:00:51 verbose #960 > > │ input=StringLiteral("d .<aJ+'Io-wq`;{") │ 00:00:51 verbose #961 > > │ input=StringLiteral("Y") │ 00:00:51 verbose #962 > > │ input=Operator("*") │ 00:00:51 verbose #963 > > │ input=StringLiteral("c<~8'J[3Wx.&W:RT<-`G,0%x2:0:") │ 00:00:51 verbose #964 > > │ input=Operator("-") │ 00:00:51 verbose #965 > > │ input=Comment("&`lPe") │ 00:00:51 verbose #966 > > │ input=Identifier("Mxw0q208U") │ 00:00:51 verbose #967 > > │ input=StringLiteral("9") │ 00:00:51 verbose #968 > > │ input=Comment("\\q($4T /T]k%$?_ zg<PovK") │ 00:00:51 verbose #969 > > │ input=StringLiteral("") │ 00:00:51 verbose #970 > > │ input=Comment("<=*ny?X=?d)-bW=`frcp(+") │ 00:00:51 verbose #971 > > │ input=Operator("=") │ 00:00:51 verbose #972 > > │ input=Identifier("ex") │ 00:00:51 verbose #973 > > │ input=Operator("*") │ 00:00:51 verbose #974 > > │ input=Comment("Ed/SxVc`{&E>i{O<") │ 00:00:51 verbose #975 > > │ input=Integer(2467313258750340070) │ 00:00:51 verbose #976 > > │ input=Identifier("juCd5gkycZ4sWWimu19") │ 00:00:51 verbose #977 > > │ input=Comment(".'=l;P3E=:j[s\\") │ 00:00:51 verbose #978 > > │ input=Operator("+") │ 00:00:51 verbose #979 > > │ input=Comment("\\*O|q'/'Zz&.AM;|UoB9O4\"\"'@'o") │ 00:00:51 verbose #980 > > │ input=StringLiteral("?.<yob`M") │ 00:00:51 verbose #981 > > │ input=Integer(-2425462223062368267) │ 00:00:51 verbose #982 > > │ input=StringLiteral("P3d?Q$B:azw<9tH(|uW(*${") │ 00:00:51 verbose #983 > > │ input=StringLiteral(":O~*!ESXw{3_=5C{.d;{M,W3/ZP") │ 00:00:51 verbose #984 > > │ input=StringLiteral("=CG<+WPO+F+r~9=`5M") │ 00:00:51 verbose #985 > > │ input=Comment("e;2pV-f{\".\">wp+") │ 00:00:51 verbose #986 > > │ input=Operator("*") │ 00:00:51 verbose #987 > > │ input=StringLiteral("ycQR&vb8Q'??w:'") │ 00:00:51 verbose #988 > > │ input=StringLiteral("']%2]oR:.}K?DO") │ 00:00:51 verbose #989 > > │ input=Integer(6215879950368468414) │ 00:00:51 verbose #990 > > │ input=Identifier("rGHr916uv") │ 00:00:51 verbose #991 > > │ input=Comment("?\\K@K2.T:\\p+_<HSU") │ 00:00:51 verbose #992 > > │ input=Comment("sG/\"d$`^Una,j<b/9%:'`r-\"uO$*%`?") │ 00:00:51 verbose #993 > > │ input=Identifier("hEDj9de28cNq") │ 00:00:51 verbose #994 > > │ input=StringLiteral("{qN{A''y.8T*ZXYF~c^`?=%Bx") │ 00:00:51 verbose #995 > > │ input=Identifier("WVYVn7nE76gSkq") │ 00:00:51 verbose #996 > > │ input=Operator("+") │ 00:00:51 verbose #997 > > │ input=Identifier("R5My87j1BE2") │ 00:00:51 verbose #998 > > │ input=Integer(3848909655968555101) │ 00:00:51 verbose #999 > > │ input=Operator("(") │ 00:00:51 verbose #1000 > > │ input=Integer(-854997079860654830) │ 00:00:51 verbose #1001 > > │ input=Operator("/") │ 00:00:51 verbose #1002 > > │ input=Integer(-1914966559351644624) │ 00:00:51 verbose #1003 > > │ input=Identifier("lqQZb5BjT4GrHv37ONQakkvuxaDj9w") │ 00:00:51 verbose #1004 > > │ input=Operator("/") │ 00:00:51 verbose #1005 > > │ input=Identifier("eo3I") │ 00:00:51 verbose #1006 > > │ input=StringLiteral("'") │ 00:00:51 verbose #1007 > > │ input=Identifier("C9nmzs4hGWKfjj3OOcNZ2pxcJFqt1gQ") │ 00:00:51 verbose #1008 > > │ input=StringLiteral("h)`ss=c2@IK{Ry") │ 00:00:51 verbose #1009 > > │ input=Comment("") │ 00:00:51 verbose #1010 > > │ input=Identifier("Ka5vWS7w92yggoxuiFc") │ 00:00:51 verbose #1011 > > │ input=Identifier("z17586UyB7YLB4Z") │ 00:00:51 verbose #1012 > > │ input=Comment("<U}${9:o") │ 00:00:51 verbose #1013 > > │ input=Integer(-2836116695655083137) │ 00:00:51 verbose #1014 > > │ input=Integer(-518066952689223569) │ 00:00:51 verbose #1015 > > │ input=Operator("/") │ 00:00:51 verbose #1016 > > │ input=Integer(2432959894757377087) │ 00:00:51 verbose #1017 > > │ input=Comment("G7GU]<!n9|\\:~QKH") │ 00:00:51 verbose #1018 > > │ input=Identifier("zdUzVPby7gMSJ6RbxR9is363zqvehb1Y") │ 00:00:51 verbose #1019 > > │ input=Operator("(") │ 00:00:51 verbose #1020 > > │ input=Identifier("Bq") │ 00:00:51 verbose #1021 > > │ input=Comment("h.:<C<B?r{") │ 00:00:51 verbose #1022 > > │ input=Identifier("Fa") │ 00:00:51 verbose #1023 > > │ input=Operator("/") │ 00:00:51 verbose #1024 > > │ input=Operator("(") │ 00:00:51 verbose #1025 > > │ input=Identifier("EmnQ19wS") │ 00:00:51 verbose #1026 > > │ input=StringLiteral(":u") │ 00:00:51 verbose #1027 > > │ input=Comment("_W{Un]A-`YV$2q_9/`\\0v\\2:$B") │ 00:00:51 verbose #1028 > > │ input=Operator("*") │ 00:00:51 verbose #1029 > > │ input=Comment("7F'=rR%6") │ 00:00:51 verbose #1030 > > │ input=Integer(4590833643143140866) │ 00:00:51 verbose #1031 > > │ input=Operator("+") │ 00:00:51 verbose #1032 > > │ input=StringLiteral("'x1X_ml<9'07:{/%I-`") │ 00:00:51 verbose #1033 > > │ input=Identifier("f3P0f3Jn5lpIqq5YtdYS4244RGJM390") │ 00:00:51 verbose #1034 > > │ input=Integer(2170476575844332965) │ 00:00:51 verbose #1035 > > │ input=Comment("BECB\"?7<$g+L.y'-}T[/") │ 00:00:51 verbose #1036 > > │ input=Integer(-7968276391294531740) │ 00:00:51 verbose #1037 > > │ input=Operator("(") │ 00:00:51 verbose #1038 > > │ input=Operator("=") │ 00:00:51 verbose #1039 > > │ input=Integer(4172650754091713059) │ 00:00:51 verbose #1040 > > │ input=Integer(8944050257255226052) │ 00:00:51 verbose #1041 > > │ input=StringLiteral("BxX<frZ-:&`{g`H$4%_/js:QpH") │ 00:00:51 verbose #1042 > > │ input=Integer(4784325716767425167) │ 00:00:51 verbose #1043 > > │ input=Identifier("SivYsCe1Iz5WLh") │ 00:00:51 verbose #1044 > > │ input=Comment("E~.m{h]T8k i:R.Wf") │ 00:00:51 verbose #1045 > > │ input=StringLiteral("Z1?93Po[|J+<V$&?%XD/`&E&@w$By") │ 00:00:51 verbose #1046 > > │ input=Integer(-6122250996087263107) │ 00:00:51 verbose #1047 > > │ input=Operator("(") │ 00:00:51 verbose #1048 > > │ input=Operator("+") │ 00:00:51 verbose #1049 > > │ input=StringLiteral("wI*czUH=u||=") │ 00:00:51 verbose #1050 > > │ input=Identifier("QS0K7KdG2FlOG6J2IUlPNS0AEp684kP") │ 00:00:51 verbose #1051 > > │ input=StringLiteral("4y6&P?9lNiabsU") │ 00:00:51 verbose #1052 > > │ input=StringLiteral("l") │ 00:00:51 verbose #1053 > > │ input=StringLiteral("X+!1.N?SiD?<CoN.w/a8:ma") │ 00:00:51 verbose #1054 > > │ input=Identifier("ydj3xk") │ 00:00:51 verbose #1055 > > │ input=Operator("*") │ 00:00:51 verbose #1056 > > │ input=Identifier("bqu0T") │ 00:00:51 verbose #1057 > > │ input=Operator("(") │ 00:00:51 verbose #1058 > > │ input=Comment("<?c*! 5C7U'4\"?s**W<'`") │ 00:00:51 verbose #1059 > > │ input=Comment("l`6`,,s\\?<'$/qpG B,\"") │ 00:00:51 verbose #1060 > > │ input=Operator("(") │ 00:00:51 verbose #1061 > > │ input=Identifier("kuW") │ 00:00:51 verbose #1062 > > │ input=StringLiteral(")GPf-_CQ%YgEpg2Imgj`6g]j<<y<?}U") │ 00:00:51 verbose #1063 > > │ input=Identifier("x56nFL2zWFmuq5mDqU9TrqypfjN6") │ 00:00:51 verbose #1064 > > │ input=Integer(2061830720990466491) │ 00:00:51 verbose #1065 > > │ input=Comment("") │ 00:00:51 verbose #1066 > > │ input=Integer(-4291977334507857440) │ 00:00:51 verbose #1067 > > │ input=Identifier("fqaJw4025kUcnd4hmFF4le1Pr96OmPvvp") │ 00:00:51 verbose #1068 > > │ input=Identifier("LTTQjCR4tGe3M") │ 00:00:51 verbose #1069 > > │ input=Integer(-4815064930766963160) │ 00:00:51 verbose #1070 > > │ input=StringLiteral("") │ 00:00:51 verbose #1071 > > │ input=StringLiteral("stG'Np") │ 00:00:51 verbose #1072 > > │ input=Integer(-5206979412463386834) │ 00:00:51 verbose #1073 > > │ input=Comment("`\\%Z\\I}nQO)<`ra+x4#}\"\\") │ 00:00:51 verbose #1074 > > │ input=Identifier("kSpsa41pi") │ 00:00:51 verbose #1075 > > │ input=Identifier("Z5RtQSxgB5cWCa9e3x3qF7GJ0Y") │ 00:00:51 verbose #1076 > > │ input=Comment("`?<") │ 00:00:51 verbose #1077 > > │ input=Integer(-7347375917699763099) │ 00:00:51 verbose #1078 > > │ input=Operator("/") │ 00:00:51 verbose #1079 > > │ input=Comment("4VC:\"%H&%9{Tf.") │ 00:00:51 verbose #1080 > > │ input=StringLiteral("%O(@v*51=q?$|#{c") │ 00:00:51 verbose #1081 > > │ input=StringLiteral("L$E$:") │ 00:00:51 verbose #1082 > > │ input=Comment("oMJ%9vb@szG{b=") │ 00:00:51 verbose #1083 > > │ input=Operator("*") │ 00:00:51 verbose #1084 > > │ input=Identifier("vtFU5kC") │ 00:00:51 verbose #1085 > > │ input=Comment("!X,X]*`@rl]IdOA$rd&@v4:'") │ 00:00:51 verbose #1086 > > │ input=Operator("(") │ 00:00:51 verbose #1087 > > │ input=Operator("*") │ 00:00:51 verbose #1088 > > │ input=Integer(-4628354062945525927) │ 00:00:51 verbose #1089 > > │ input=StringLiteral("mS6(:fl'&x4GH`:4") │ 00:00:51 verbose #1090 > > │ input=Identifier("a7Z") │ 00:00:51 verbose #1091 > > │ input=Integer(-7513010534015745852) │ 00:00:51 verbose #1092 > > │ input=Operator("+") │ 00:00:51 verbose #1093 > > │ input=Operator(")") │ 00:00:51 verbose #1094 > > │ input=Operator("=") │ 00:00:51 verbose #1095 > > │ input=StringLiteral("/o;") │ 00:00:51 verbose #1096 > > │ input=Integer(-6099510066267357762) │ 00:00:51 verbose #1097 > > │ input=StringLiteral("%'~L/C{<$wMkb$%<TU2g'r1ni&/o):") │ 00:00:51 verbose #1098 > > │ input=Operator("/") │ 00:00:51 verbose #1099 > > │ input=StringLiteral("$j$I om%=") │ 00:00:51 verbose #1100 > > │ input=Integer(474025072833767478) │ 00:00:51 verbose #1101 > > │ input=Integer(5058436496695796977) │ 00:00:51 verbose #1102 > > │ input=Identifier("u3Nrgk89o") │ 00:00:51 verbose #1103 > > │ input=Integer(-6199301687666853640) │ 00:00:51 verbose #1104 > > │ input=Integer(3045425547762353448) │ 00:00:51 verbose #1105 > > │ input=StringLiteral("p:") │ 00:00:51 verbose #1106 > > │ input=Integer(-6085268053124362495) │ 00:00:51 verbose #1107 > > │ input=Identifier("XjG") │ 00:00:51 verbose #1108 > > │ input=Identifier("Fv6Bdr2iQXr306MOGI") │ 00:00:51 verbose #1109 > > │ input=Identifier("VPhQxdw0qKUseBB3YVDV") │ 00:00:51 verbose #1110 > > │ input=Identifier("NSO05ajmI3yurXYu") │ 00:00:51 verbose #1111 > > │ input=Operator("-") │ 00:00:51 verbose #1112 > > │ input=Operator("-") │ 00:00:51 verbose #1113 > > │ input=Integer(-3118029858960778708) │ 00:00:51 verbose #1114 > > │ input=Identifier("CPQ2Dk") │ 00:00:51 verbose #1115 > > │ input=Integer(-2442894367291602695) │ 00:00:51 verbose #1116 > > │ input=StringLiteral("RthvFv&A~n:TL<l1??2>%v`;b!+j") │ 00:00:51 verbose #1117 > > │ input=Operator("+") │ 00:00:51 verbose #1118 > > │ input=Integer(-6068569228322809490) │ 00:00:51 verbose #1119 > > │ input=Identifier("tw9v56kuiX353qZcB3") │ 00:00:51 verbose #1120 > > │ input=StringLiteral("5^k?nz@s'@=C|/:.9{a7 u[*aa)") │ 00:00:51 verbose #1121 > > │ input=Integer(3013187688652003141) │ 00:00:51 verbose #1122 > > │ input=Identifier("vx4MfC68dFbH8") │ 00:00:51 verbose #1123 > > │ input=Operator("=") │ 00:00:51 verbose #1124 > > │ input=Operator("/") │ 00:00:51 verbose #1125 > > │ input=Integer(-6718904396798413414) │ 00:00:51 verbose #1126 > > │ input=Operator("(") │ 00:00:51 verbose #1127 > > │ input=Comment("S\"yY0wZ4Hc!{<\\f5I*%(#Y`%Vcb&") │ 00:00:51 verbose #1128 > > │ input=Integer(-1241146361011266073) │ 00:00:51 verbose #1129 > > │ input=Integer(1782915424864705455) │ 00:00:51 verbose #1130 > > │ input=StringLiteral(".+m@8Pnhj:V^53&i0s4SE/sL.") │ 00:00:51 verbose #1131 > > │ input=Comment("?eAZ4") │ 00:00:51 verbose #1132 > > │ input=StringLiteral("h 4p`);SNIr%=WqbY<qm&[") │ 00:00:51 verbose #1133 > > │ input=Comment("$<!\"'v6 P(E=Xo\\xCU'K") │ 00:00:51 verbose #1134 > > │ input=Identifier("Wrka9RtEb8c78JBvG628gd4") │ 00:00:51 verbose #1135 > > │ input=Integer(420643838545669383) │ 00:00:51 verbose #1136 > > │ input=Identifier("fPh8qHn") │ 00:00:51 verbose #1137 > > │ input=StringLiteral(">6#qEP/W0(:Y`-,R{6*jDD?") │ 00:00:51 verbose #1138 > > │ input=StringLiteral("Vn'H:w. %'4B)eM$s`e/)/'LPt") │ 00:00:51 verbose #1139 > > │ input=StringLiteral("}U'/?Gx<F-./+nP") │ 00:00:51 verbose #1140 > > │ input=Operator("(") │ 00:00:51 verbose #1141 > > │ input=Integer(-1130012727670058931) │ 00:00:51 verbose #1142 > > │ input=Operator("-") │ 00:00:51 verbose #1143 > > │ input=Comment("F:5^x") │ 00:00:51 verbose #1144 > > │ input=Integer(2278165720454435705) │ 00:00:51 verbose #1145 > > │ input=StringLiteral(":g<`%|[EiS]7t;<[%'BIvxd*") │ 00:00:51 verbose #1146 > > │ input=Comment("x{,_{A*T<v/UR/&U/zfCPwls") │ 00:00:51 verbose #1147 > > │ input=StringLiteral("LrFh8jWo*`c<7&3L^Me/!^v$f}/'Jfy") │ 00:00:51 verbose #1148 > > │ input=Comment("pW'k}/w=(E:`{*T<i|.mlQ{Mm!cx.") │ 00:00:51 verbose #1149 > > │ input=Identifier("xnx8eD8A5I55") │ 00:00:51 verbose #1150 > > │ input=Identifier("n97z3dR6v0") │ 00:00:51 verbose #1151 > > │ input=Operator("*") │ 00:00:51 verbose #1152 > > │ input=StringLiteral("DE%") │ 00:00:51 verbose #1153 > > │ input=Comment("1rGlm./@Y&={H\"\\fx\\D H&J\\{*:") │ 00:00:51 verbose #1154 > > │ input=StringLiteral("z=s:") │ 00:00:51 verbose #1155 > > │ input=Identifier("lh6N6IAF3o9rFt") │ 00:00:51 verbose #1156 > > │ input=Identifier("tg20Qs2k0Gl") │ 00:00:51 verbose #1157 > > │ input=Integer(-2343035925957167155) │ 00:00:51 verbose #1158 > > │ input=StringLiteral("aU") │ 00:00:51 verbose #1159 > > │ input=Operator("=") │ 00:00:51 verbose #1160 > > │ input=Integer(1460389338056587314) │ 00:00:51 verbose #1161 > > │ input=StringLiteral("h4.~;%2Q$?0Aq&U?]oU<.=*d,ZS`") │ 00:00:51 verbose #1162 > > │ input=StringLiteral("_dhE**<ao., &,1Ei") │ 00:00:51 verbose #1163 > > │ input=Identifier("Vj8gY3Ll846nLT7KLyi") │ 00:00:51 verbose #1164 > > │ input=Operator(")") │ 00:00:51 verbose #1165 > > │ input=Integer(-5952844745061990081) │ 00:00:51 verbose #1166 > > │ input=StringLiteral(">`=?].*~~:") │ 00:00:51 verbose #1167 > > │ input=StringLiteral("r") │ 00:00:51 verbose #1168 > > │ input=StringLiteral("Xiv#Jk&") │ 00:00:51 verbose #1169 > > │ input=Identifier("dCgxq7jq9utzc7") │ 00:00:51 verbose #1170 > > │ input=Identifier("g1EFvQ") │ 00:00:51 verbose #1171 > > │ input=Operator("-") │ 00:00:51 verbose #1172 > > │ input=Comment("$/=\"8B'\\}C>/MD(HGs2'yVz''{@]<\\U") │ 00:00:51 verbose #1173 > > │ input=Operator("/") │ 00:00:51 verbose #1174 > > │ input=Integer(4642997427923077173) │ 00:00:51 verbose #1175 > > │ input=Integer(-5930858957680788660) │ 00:00:51 verbose #1176 > > │ input=Comment("Z=x|{vwJW*G*0?{D0, :ces") │ 00:00:51 verbose #1177 > > │ input=Identifier("YUYeV1TegF") │ 00:00:51 verbose #1178 > > │ input=Operator(")") │ 00:00:51 verbose #1179 > > │ input=Operator("(") │ 00:00:51 verbose #1180 > > │ input=Operator("+") │ 00:00:51 verbose #1181 > > │ input=Comment("??OP}]q.Im9vO/&*\\+mv$") │ 00:00:51 verbose #1182 > > │ input=Operator("*") │ 00:00:51 verbose #1183 > > │ input=Comment("1/'") │ 00:00:51 verbose #1184 > > │ │ 00:00:51 verbose #1185 > > │ │ 00:00:51 verbose #1186 > > │ successes: │ 00:00:51 verbose #1187 > > │ adding_and_then_removing_an_item_from_the_cart_leaves_the_cart_unchanged │ 00:00:51 verbose #1188 > > │ prop_parse_format_idempotent │ 00:00:51 verbose #1189 > > │ test_parse_number │ 00:00:51 verbose #1190 > > │ │ 00:00:51 verbose #1191 > > │ test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; │ 00:00:51 verbose #1192 > > │ finished in 0.07s │ 00:00:51 verbose #1193 > > │ │ 00:00:51 verbose #1194 > > │ │ 00:00:51 verbose #1195 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #1196 > > 00:00:51 verbose #1197 > > ── markdown ──────────────────────────────────────────────────────────────────── 00:00:51 verbose #1198 > > ╭──────────────────────────────────────────────────────────────────────────────╮ 00:00:51 verbose #1199 > > │ ### execute the binary in release mode │ 00:00:51 verbose #1200 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #1201 > > 00:00:51 verbose #1202 > > ── pwsh ──────────────────────────────────────────────────────────────────────── 00:00:51 verbose #1203 > > { . $ScriptDir/../../../../workspace/target/release/spiral_temp_test$(_exe) } | 00:00:51 verbose #1204 > > Invoke-Block 00:00:51 verbose #1205 > > 00:00:51 verbose #1206 > > ╭─[ 7.83ms - stdout ]──────────────────────────────────────────────────────────╮ 00:00:51 verbose #1207 > > │ app=test │ 00:00:51 verbose #1208 > > │ │ 00:00:51 verbose #1209 > > ╰──────────────────────────────────────────────────────────────────────────────╯ 00:00:51 verbose #1210 > 00:00:49 verbose #3 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 125216 } 00:00:51 verbose #1211 > 00:00:49 debug #4 runtime.execute_with_options / { file_name = jupyter; arguments = ["nbconvert", "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb", "--to", "html", "--HTMLExporter.theme=dark"]; options = { command = jupyter nbconvert "/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb" --to html --HTMLExporter.theme=dark; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:51 verbose #1212 > 00:00:50 verbose #5 ! [NbConvertApp] Converting notebook /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.ipynb to html 00:00:51 verbose #1213 > 00:00:50 verbose #6 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbformat/__init__.py:96: MissingIDFieldWarning: Cell is missing an id field, this will become a hard error in future nbformat versions. You may want to use `normalize()` on your notebooks before validations (available since nbformat 5.1.4). Previous versions of nbformat are fixing this issue transparently, and will stop doing so in the future. 00:00:51 verbose #1214 > 00:00:50 verbose #7 ! validate(nb) 00:00:52 verbose #1215 > 00:00:50 verbose #8 ! /opt/hostedtoolcache/Python/3.12.4/x64/lib/python3.12/site-packages/nbconvert/filters/highlight.py:71: UserWarning: IPython3 lexer unavailable, falling back on Python 3 00:00:52 verbose #1216 > 00:00:50 verbose #9 ! return _pygments_highlight( 00:00:52 verbose #1217 > 00:00:50 verbose #10 ! [NbConvertApp] Writing 362775 bytes to /home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.html 00:00:52 verbose #1218 > 00:00:50 verbose #11 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 916 } 00:00:52 verbose #1219 > 00:00:50 debug #12 spiral_builder.run / dib / jupyter nbconvert / { exit_code = 0; jupyter_result_length = 916 } 00:00:52 verbose #1220 > 00:00:50 debug #13 runtime.execute_with_options / { file_name = pwsh; arguments = ["-c", "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.html'; (Get-Content $path -Raw) -replace '(id=\\\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"]; options = { command = pwsh -c "$counter = 1; $path = '/home/runner/work/polyglot/polyglot/apps/spiral/temp/test/build.dib.html'; (Get-Content $path -Raw) -replace '(id=\"cell-id=)[a-fA-F0-9]{8}', { $_.Groups[1].Value + $counter++ } | Set-Content $path"; cancellation_token = None; environment_variables = Array(MutCell([])); on_line = None; stdin = None; trace = true; working_directory = None } } 00:00:52 verbose #1221 > 00:00:51 verbose #14 runtime.execute_with_options / result / { exit_code = 0; std_trace_length = 0 } 00:00:52 verbose #1222 > 00:00:51 debug #15 spiral_builder.run / dib / html cell ids / { exit_code = 0; pwsh_replace_html_result_length = 0 } 00:00:52 verbose #1223 > 00:00:51 debug #16 spiral_builder.run / dib / { exit_code = 0; result_length = 126191 } 00:00:52 debug #1224 runtime.execute_with_options_async / { exit_code = 0; output_length = 131419 } 00:00:52 debug #3 main / executeCommand / exitCode: 0 / command: ../../../../workspace/target/release/spiral_builder dib --path build.dib 00:00:52 verbose #39 networking.wait_for_port_access / { port = 13805; retry = 0; timeout = Some 100; status = false } 00:00:52 verbose #40 networking.test_port_open / { port = 13805; ex = System.AggregateException: One or more errors occurred. (Connection refused) }
In [ ]:
{ pwsh ../apps/spiral/vscode/build.ps1 } | Invoke-Block
bun install v1.1.20 (ae194892) + @types/node@20.12.11 + @types/vscode@1.89.0 + @vscode/vsce@2.26.1 + npm-check-updates@17.0.0-5 + typescript@5.5.0-dev.20240514 + vscode@1.1.37 190 packages installed [951.00ms] Creating symlink: /home/runner/work/polyglot/polyglot/apps/spiral/vscode/LICENSE -> /home/runner/work/polyglot/polyglot/LICENSE out/src/extension.js 2.4kb out/media/cellOutputScrollButtons.js 1.9kb ⚡ Done in 3ms Packaged: out/spiral-vscode-0.0.1.vsix (12 files, 43.6KB)
In [ ]:
{ pwsh ../apps/ipfs/build.ps1 } | Invoke-Block
bun install v1.1.20 (ae194892)
+ @types/node@20.12.2
+ npm-check-updates@17.0.0-5
+ typescript@5.5.0-dev.20240401
+ nft.storage@7.1.1
219 packages installed [438.00ms]
Blocked 1 postinstall. Run `bun pm untrusted` for details.
In [ ]:
{ pwsh ./outdated.ps1 } | Invoke-Block
Paket version 8.1.0-alpha004+7aa412f49b32de979c3d5acde07e88e6d47c965b
Resolving dependency graph...
Outdated packages found:
Group: Main
* Expecto.FsCheck 10.2.1-fscheck3 -> 10.2.1
* FsCheck 3.0.0-rc3 -> 2.16.6
* FSharp.Core 8.0.300-beta.24080.5 -> 8.0.400-beta.24321.3
* Microsoft.AspNetCore.Connections.Abstractions 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.AspNetCore.Http.Connections.Client 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.AspNetCore.Http.Connections.Common 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.AspNetCore.SignalR.Client 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.AspNetCore.SignalR.Client.Core 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.AspNetCore.SignalR.Common 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.AspNetCore.SignalR.Protocols.Json 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.Extensions.DependencyInjection 8.0 -> 9.0.0-preview.6.24327.7
* Microsoft.Extensions.DependencyInjection.Abstractions 8.0.1 -> 9.0.0-preview.6.24327.7
* Microsoft.Extensions.Features 7.0 -> 9.0.0-preview.6.24328.4
* Microsoft.Extensions.Logging 8.0 -> 9.0.0-preview.6.24327.7
* Microsoft.Extensions.Logging.Abstractions 8.0.1 -> 9.0.0-preview.6.24327.7
* Microsoft.Extensions.Options 8.0.2 -> 9.0.0-preview.6.24327.7
* Microsoft.Extensions.Primitives 8.0 -> 9.0.0-preview.6.24327.7
* System.CodeDom 8.0 -> 9.0.0-preview.6.24327.7
* System.Management 7.0 -> 9.0.0-preview.6.24327.7
* System.Threading.Channels 8.0 -> 9.0.0-preview.6.24327.7
Total time taken: 10 seconds
CheckToml / toml: /home/runner/work/polyglot/polyglot/workspace/Cargo.toml
chat_contract_tests
================
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
autocfg 1.3.0 Removed --- Build ---
equivalent 1.0.1 --- Removed Normal ---
hashbrown 0.12.3 0.14.5 --- Normal ---
hashbrown 0.14.5 --- 0.12.3 Normal ---
indexmap 1.9.3 2.2.6 --- Normal ---
indexmap 2.2.6 --- 1.9.3 Normal ---
CheckToml / toml: /home/runner/work/polyglot/polyglot/apps/chat/contract/Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
borsh-derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
darling->darling_core 0.20.9 0.20.10 0.20.10 Normal ---
darling->darling_macro 0.20.9 0.20.10 0.20.10 Normal ---
darling_core->syn 2.0.70 2.0.71 2.0.71 Normal ---
darling_macro->darling_core 0.20.9 0.20.10 0.20.10 Normal ---
darling_macro->syn 2.0.70 2.0.71 2.0.71 Normal ---
near-sdk-macros->darling 0.20.9 0.20.10 0.20.10 Normal ---
near-sdk-macros->syn 2.0.70 2.0.71 2.0.71 Normal ---
schemars_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
serde_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
serde_derive_internals->syn 2.0.70 2.0.71 2.0.71 Normal ---
strum_macros->syn 2.0.70 2.0.71 2.0.71 Normal ---
syn_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
CheckToml / toml: /home/runner/work/polyglot/polyglot/apps/chat/contract/tests/Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
actix->bytes 1.6.0 1.6.1 1.6.1 Normal ---
actix-macros->syn 2.0.70 2.0.71 2.0.71 Normal ---
actix_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
async-recursion->syn 2.0.70 2.0.71 2.0.71 Normal ---
async-stream-impl->syn 2.0.70 2.0.71 2.0.71 Normal ---
async-trait->syn 2.0.70 2.0.71 2.0.71 Normal ---
backtrace->cc 1.0.106 1.1.5 1.1.5 Build ---
borsh-derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
bzip2-sys->cc 1.0.106 1.1.5 1.1.5 Build ---
cargo_metadata->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
cc->once_cell 1.19.0 Removed Removed Normal ---
clap_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
curve25519-dalek-derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
darling->darling_core 0.20.9 0.20.10 0.20.10 Normal ---
darling->darling_macro 0.20.9 0.20.10 0.20.10 Normal ---
darling_core->syn 2.0.70 2.0.71 2.0.71 Normal ---
darling_macro->darling_core 0.20.9 0.20.10 0.20.10 Normal ---
darling_macro->syn 2.0.70 2.0.71 2.0.71 Normal ---
derive_arbitrary->syn 2.0.70 2.0.71 2.0.71 Normal ---
derive_more->syn 2.0.70 2.0.71 2.0.71 Normal ---
enum-map-derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
enumflags2_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
futures-macro->syn 2.0.70 2.0.71 2.0.71 Normal ---
h2->bytes 1.6.0 1.6.1 1.6.1 Normal ---
http->bytes 1.6.0 1.6.1 1.6.1 Normal ---
http-body->bytes 1.6.0 1.6.1 1.6.1 Normal ---
hyper->bytes 1.6.0 1.6.1 1.6.1 Normal ---
hyper-timeout->hyper 0.14.29 0.14.30 0.14.30 Normal ---
hyper-tls->bytes 1.6.0 1.6.1 1.6.1 Normal ---
hyper-tls->hyper 0.14.29 0.14.30 0.14.30 Normal ---
iana-time-zone-haiku->cc 1.0.106 1.1.5 1.1.5 Build ---
indexmap->autocfg 1.3.0 Removed Removed Build ---
indexmap->hashbrown 0.12.3 0.14.5 0.14.5 Normal ---
inquire->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
json-patch->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
keyring->security-framework 2.11.0 2.11.1 2.11.1 Normal cfg(target_os = "ios")
native-tls->security-framework 2.11.0 2.11.1 2.11.1 Normal cfg(target_vendor = "apple")
native-tls->security-framework-sys 2.11.0 2.11.1 2.11.1 Normal cfg(target_vendor = "apple")
near-cli-rs->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-config-utils->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-crypto->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-jsonrpc-client->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-jsonrpc-primitives->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-o11y->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-parameters->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-primitives->serde_with 3.8.3 3.9.0 3.9.0 Normal ---
near-primitives->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-primitives-core->serde_with 3.8.3 3.9.0 3.9.0 Normal ---
near-primitives-core->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-rpc-error-core->syn 2.0.70 2.0.71 2.0.71 Normal ---
near-rpc-error-macro->syn 2.0.70 2.0.71 2.0.71 Normal ---
near-vm-runner->serde_with 3.8.3 3.9.0 3.9.0 Normal ---
near-vm-runner->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
near-workspaces->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
openssl-macros->syn 2.0.70 2.0.71 2.0.71 Normal ---
openssl-src->cc 1.0.106 1.1.5 1.1.5 Normal ---
openssl-sys->cc 1.0.106 1.1.5 1.1.5 Build ---
opentelemetry->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
opentelemetry-otlp->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
parking_lot_core->redox_syscall 0.5.2 0.5.3 0.5.3 Normal cfg(target_os = "redox")
pin-project-internal->syn 2.0.70 2.0.71 2.0.71 Normal ---
prometheus->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
prost->bytes 1.6.0 1.6.1 1.6.1 Normal ---
prost-build->bytes 1.6.0 1.6.1 1.6.1 Normal ---
prost-types->bytes 1.6.0 1.6.1 1.6.1 Normal ---
redox_users->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
reqwest->bytes 1.6.0 1.6.1 1.6.1 Normal ---
reqwest->hyper 0.14.29 0.14.30 0.14.30 Normal cfg(not(target_arch = "wasm32"))
ring->cc 1.0.106 1.1.5 1.1.5 Build ---
schemars_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
scroll_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
secp256k1-sys->cc 1.0.106 1.1.5 1.1.5 Build ---
security-framework->security-framework-sys 2.11.0 2.11.1 2.11.1 Normal ---
serde_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
serde_derive_internals->syn 2.0.70 2.0.71 2.0.71 Normal ---
serde_repr->syn 2.0.70 2.0.71 2.0.71 Normal ---
serde_with->indexmap 1.9.3 2.2.6 2.2.6 Normal ---
serde_with->serde_with_macros 3.8.3 3.9.0 3.9.0 Normal ---
serde_with_macros->darling 0.20.9 0.20.10 0.20.10 Normal ---
serde_with_macros->syn 2.0.70 2.0.71 2.0.71 Normal ---
smart-default->syn 2.0.70 2.0.71 2.0.71 Normal ---
symbolic-debuginfo->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
syn_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
thiserror->thiserror-impl 1.0.61 1.0.62 1.0.62 Normal ---
thiserror-impl->syn 2.0.70 2.0.71 2.0.71 Normal ---
tokio->bytes 1.6.0 1.6.1 1.6.1 Normal ---
tokio-macros->syn 2.0.70 2.0.71 2.0.71 Normal ---
tokio-util->bytes 1.6.0 1.6.1 1.6.1 Normal ---
tonic->bytes 1.6.0 1.6.1 1.6.1 Normal ---
tonic->hyper 0.14.29 0.14.30 0.14.30 Normal ---
tracing-appender->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
tracing-attributes->syn 2.0.70 2.0.71 2.0.71 Normal ---
wasm-bindgen-backend->syn 2.0.70 2.0.71 2.0.71 Normal ---
wasm-bindgen-macro-support->syn 2.0.70 2.0.71 2.0.71 Normal ---
zbus->async-executor 1.12.0 1.13.0 1.13.0 Normal ---
zeroize_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
zip->thiserror 1.0.61 1.0.62 1.0.62 Normal ---
zstd-sys->cc 1.0.106 1.1.5 1.1.5 Build ---
CheckToml / toml: /home/runner/work/polyglot/polyglot/apps/plot/Cargo.toml
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
cc->once_cell 1.19.0 Removed Removed Normal ---
futures-macro->syn 2.0.70 2.0.71 2.0.71 Normal ---
iana-time-zone-haiku->cc 1.0.106 1.1.5 1.1.5 Build ---
serde_derive->syn 2.0.70 2.0.71 2.0.71 Normal ---
wasm-bindgen-backend->syn 2.0.70 2.0.71 2.0.71 Normal ---
wasm-bindgen-macro-support->syn 2.0.70 2.0.71 2.0.71 Normal ---
CheckJson / json: /home/runner/work/polyglot/polyglot
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/package.json
@types/node ~20.12 → ~20.14
Run ncu --target greatest -u to upgrade package.json
CheckJson / json: /home/runner/work/polyglot/polyglot/apps/ipfs
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/apps/ipfs/package.json
@types/node ~20.12 → ~20.14
nft.storage ~7.1 → ~7.2
Run ncu --target greatest -u to upgrade package.json
CheckJson / json: /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/apps/spiral/temp/extension/package.json
@playwright/test 1.44.0 → 1.46.0-alpha-2024-07-16
Run ncu --target greatest -u to upgrade package.json
CheckJson / json: /home/runner/work/polyglot/polyglot/apps/spiral/vscode
$ npm-check-updates --target greatest
Using bun
Checking /home/runner/work/polyglot/polyglot/apps/spiral/vscode/package.json
@types/node ~20.12 → ~20.14
@types/vscode ~1.89 → ~1.91
@vscode/vsce ~2.26 → ~2.30
Run ncu --target greatest -u to upgrade package.json
CheckJson / json: /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/VS Code Plugin
$ npm-check-updates --target greatest
Checking /home/runner/work/polyglot/polyglot/deps/The-Spiral-Language/VS Code Plugin/package.json
@microsoft/signalr ^8.0.0 → ^8.0.7
@types/vscode ~1.81 → ~1.91
esbuild ~0.21 → ~0.23
Run ncu --target greatest -u to upgrade package.json